Снизу действие меняет цвет кнопки на зеленый, а как сделать, чтобы кнопка при повторном нажатии убирала зеленый? Т.е должен получится своего рода переключатель с зеленого на обычный:
[vba]
Код
Private Sub CommandButton2_Click()
CommandButton2.BackColor = 65407
End Sub
[/vba]
Всем доброго времени суток.
Снизу действие меняет цвет кнопки на зеленый, а как сделать, чтобы кнопка при повторном нажатии убирала зеленый? Т.е должен получится своего рода переключатель с зеленого на обычный:
Private Sub CommandButton2_Click() If CommandButton2.BackColor = 65407 Then CommandButton2.BackColor = -2147483633 Else CommandButton2.BackColor = 65407 End If End Sub
[/vba]
[vba]
Код
Private Sub CommandButton2_Click() If CommandButton2.BackColor = 65407 Then CommandButton2.BackColor = -2147483633 Else CommandButton2.BackColor = 65407 End If End Sub
Все активно кроме этой ячейки, например. Ячейка H3 неактивна (нельзя в нее ничего писать) когда кнопка красная, нажимаем кнопку она становится зеленой и ячейку можно заполнять.
Nic70y,
Все активно кроме этой ячейки, например. Ячейка H3 неактивна (нельзя в нее ничего писать) когда кнопка красная, нажимаем кнопку она становится зеленой и ячейку можно заполнять.Oh_Nick
Private Sub CommandButton2_Click() If CommandButton2.BackColor = 255 Then CommandButton2.BackColor = 65407 Else CommandButton2.BackColor = 255 Range("a1").Select End If End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) u = Selection.Address v = CommandButton2.BackColor w = InStr(u & ":", "$H$3:") If w > 0 And v = 255 Then Range("a1").Select End Sub
[/vba]
[vba]
Код
Private Sub CommandButton2_Click() If CommandButton2.BackColor = 255 Then CommandButton2.BackColor = 65407 Else CommandButton2.BackColor = 255 Range("a1").Select End If End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) u = Selection.Address v = CommandButton2.BackColor w = InStr(u & ":", "$H$3:") If w > 0 And v = 255 Then Range("a1").Select End Sub
Oh_Nick, не в ту степь... проще снять защиту с ячеек, с тех которые должны быть "неактивны" не снимать. красный - защитить лист, зеленый - снять защиту, это:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) u = Selection.Address v = CommandButton2.BackColor w = InStr(u & ":", "$H$3:") If w > 0 And v = 255 Then Range("a1").Select End Sub
всегда можно попробовать - вывалится ошибка - поймете правильно или нет
Oh_Nick, не в ту степь... проще снять защиту с ячеек, с тех которые должны быть "неактивны" не снимать. красный - защитить лист, зеленый - снять защиту, это:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) u = Selection.Address v = CommandButton2.BackColor w = InStr(u & ":", "$H$3:") If w > 0 And v = 255 Then Range("a1").Select End Sub
Private Sub CommandButton2_Click() If CommandButton2.BackColor = 65407 Then CommandButton2.BackColor = 255 Else CommandButton2.BackColor = 65407 Range("a1").Select End If End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) u = Selection.Address v = CommandButton2.BackColor w = InStr(u & ":", "$H$3:") If w > 0 And v = 255 Then Range("a1").Select End Sub Private Sub CommandButton13_Click() If CommandButton13.BackColor = 65407 Then CommandButton13.BackColor = 255 Else CommandButton13.BackColor = 65407 Range("a1").Select End If End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) u = Selection.Address v = CommandButton13.BackColor w = InStr(u & ":", "$S$7:") If w > 0 And v = 255 Then Range("a1").Select End Sub
[/vba]
Выдает ошибку Compile error: Ambiguous name detected: Worksheet_SelectionChange, якобы повтор функции. Как быть?
Nic70y,
[vba]
Код
Private Sub CommandButton2_Click() If CommandButton2.BackColor = 65407 Then CommandButton2.BackColor = 255 Else CommandButton2.BackColor = 65407 Range("a1").Select End If End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) u = Selection.Address v = CommandButton2.BackColor w = InStr(u & ":", "$H$3:") If w > 0 And v = 255 Then Range("a1").Select End Sub Private Sub CommandButton13_Click() If CommandButton13.BackColor = 65407 Then CommandButton13.BackColor = 255 Else CommandButton13.BackColor = 65407 Range("a1").Select End If End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) u = Selection.Address v = CommandButton13.BackColor w = InStr(u & ":", "$S$7:") If w > 0 And v = 255 Then Range("a1").Select End Sub
[/vba]
Выдает ошибку Compile error: Ambiguous name detected: Worksheet_SelectionChange, якобы повтор функции. Как быть?Oh_Nick
Проблема в том, что мы не можем защищать лист, т.к остальные ячейки вообще к этому не имеют отношения, а их например нужно заполнять. защищая лист мы не можем вообще ничего заполнять нигде.
Nic70y,
Проблема в том, что мы не можем защищать лист, т.к остальные ячейки вообще к этому не имеют отношения, а их например нужно заполнять. защищая лист мы не можем вообще ничего заполнять нигде.Oh_Nick