Здравствуйте, скажите пожалуйста как в эксель сделать так, чтоб от сегодняшнего года выделялись все года , которые превышают 3 года,и если эти года выделены красным, когда мы изменяем год, то он снова становился белым.
Здравствуйте, скажите пожалуйста как в эксель сделать так, чтоб от сегодняшнего года выделялись все года , которые превышают 3 года,и если эти года выделены красным, когда мы изменяем год, то он снова становился белым.DKeT
В диспетчере правил условного форматирования (Главная -- Условное форматирование -- Управление правилами) увеличьте диапазон, к которому применяется правило
В диспетчере правил условного форматирования (Главная -- Условное форматирование -- Управление правилами) увеличьте диапазон, к которому применяется правилоPelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Pelena, скажите пожалуйста, а как сделать так чтоб условное форматирование работала еще и в созданной форме? У меня есть форма, и нужно было чтоб когда мы вводим год он выделялся, а сейчас попробовала, и он не работает, а работает только когда просто в ручную ввожу год в таблице. Сам код для заполнения формы [vba]
Код
Dim Mz As Integer
Private Sub TextBox1_Change() TextBox1.Enabled = False TextBox2.SetFocus End Sub Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean) Dim B As String If Mz = vbNo Then Mz = vbYes: Exit Sub N = LastN B = Me.Controls("TextBox2") If B = "" Then MsgBox "Введите № программы!" Cancel = True: TextBox2.SetFocus: Exit Sub End If For I = 4 To N If UCase(B) = UCase(Cells(I, 2)) Then Mz = MsgBox("Такая запись уже существует! Продолжить?" & vbCrLf & _ "Да - игнорировать совпадения" & vbCrLf & _ "Нет - закрыть форму" & vbCrLf & _ "Отмена - остаемся на вводе кода", vbYesNoCancel) Select Case Mz Case vbCancel 'возврат на ввод категории Cancel = True: TextBox2.SetFocus Case vbNo 'закрыть форму Unload Me Case vbYes 'игнорировать совпадение тут именно TextBox9 Mz = vbNo: TextBox7.SetFocus: Mz = vbYes: Exit Sub End Select Exit For End If Next End Sub
[/vba]
[vba]
Код
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) Mz = vbNo End Sub
[/vba]
[vba]
Код
Private Sub CommandButton1_Click() Dim Ar, I As Integer, N As Integer Ar = Array(1, 2, 7, 4, 6, 5, 8) 'продолжить массив номерами по порядку следования текстбоксов N = LastN: If N = 3 Then 'пустая таблица Mz = MsgBox("Таблица пустая! Будете заполнять?" & vbCrLf & _ "Да - идём на добавление данных" & vbCrLf & _ "Нет - закрыть форму" & vbCrLf, vbYesNo) If Mz = vbNo Then Unload Me: Exit Sub End If For I = 1 To UBound(Ar) + 1 Cells(N + 1, I) = Me.Controls("TextBox" & Ar(I - 1)) Me.Controls("TextBox" & Ar(I - 1)) = "" Next TextBox1.Enabled = True Me.TextBox1 = Cells(N + 1, 1) + 1 TextBox1.Enabled = False End Sub
[/vba]
Pelena, скажите пожалуйста, а как сделать так чтоб условное форматирование работала еще и в созданной форме? У меня есть форма, и нужно было чтоб когда мы вводим год он выделялся, а сейчас попробовала, и он не работает, а работает только когда просто в ручную ввожу год в таблице. Сам код для заполнения формы [vba]
Код
Dim Mz As Integer
Private Sub TextBox1_Change() TextBox1.Enabled = False TextBox2.SetFocus End Sub Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean) Dim B As String If Mz = vbNo Then Mz = vbYes: Exit Sub N = LastN B = Me.Controls("TextBox2") If B = "" Then MsgBox "Введите № программы!" Cancel = True: TextBox2.SetFocus: Exit Sub End If For I = 4 To N If UCase(B) = UCase(Cells(I, 2)) Then Mz = MsgBox("Такая запись уже существует! Продолжить?" & vbCrLf & _ "Да - игнорировать совпадения" & vbCrLf & _ "Нет - закрыть форму" & vbCrLf & _ "Отмена - остаемся на вводе кода", vbYesNoCancel) Select Case Mz Case vbCancel 'возврат на ввод категории Cancel = True: TextBox2.SetFocus Case vbNo 'закрыть форму Unload Me Case vbYes 'игнорировать совпадение тут именно TextBox9 Mz = vbNo: TextBox7.SetFocus: Mz = vbYes: Exit Sub End Select Exit For End If Next End Sub
[/vba]
[vba]
Код
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) Mz = vbNo End Sub
[/vba]
[vba]
Код
Private Sub CommandButton1_Click() Dim Ar, I As Integer, N As Integer Ar = Array(1, 2, 7, 4, 6, 5, 8) 'продолжить массив номерами по порядку следования текстбоксов N = LastN: If N = 3 Then 'пустая таблица Mz = MsgBox("Таблица пустая! Будете заполнять?" & vbCrLf & _ "Да - идём на добавление данных" & vbCrLf & _ "Нет - закрыть форму" & vbCrLf, vbYesNo) If Mz = vbNo Then Unload Me: Exit Sub End If For I = 1 To UBound(Ar) + 1 Cells(N + 1, I) = Me.Controls("TextBox" & Ar(I - 1)) Me.Controls("TextBox" & Ar(I - 1)) = "" Next TextBox1.Enabled = True Me.TextBox1 = Cells(N + 1, 1) + 1 TextBox1.Enabled = False End Sub