Страницы: 1
RSS
Использование Target.Address в качестве задания значения переменной
 
Пишу простенький скрипт, где на клик в определенных ячейках срабатывает назначение переменной.

Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim ha As Integer
    If Target.Address = "$A$1" Then
    ha = 1
    ElseIf Target.Address = "$A$2" Then
    ha = 2
    ElseIf Target.Address = "$A$3" Then
    ha = 3
    ElseIf Target.Address <> "$A$1" Or Target.Address <> "$A$2" Or Target.Address <> "$A$3" Then
    '
    End If
If ha = 0 Then
'
ElseIf ha > 0 Then
MsgBox ha

Else
End Sub


Идея такая. Пользователь кликает в ячейки A1, A2, A3 и соответственно в программу передаются значения 1,2,3
Пока проверяю значение MsgBox
Но при клике в другие ячейки идет все равно какая-то обработка. Как указать в программе то, что нужно игнорировать любые клики вне области A1:A3?
Goedenavond!
 
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Range("A1:A3")) Is Nothing Then
        Dim ha As Integer
        Select Case Target.Address(0, 0)
        Case "A1": ha = 1
        Case "A2": ha = 2
        Case "A3": ha = 3
        Case Else
        End Select
        
        If ha = 0 Then
        ElseIf ha > 0 Then
            MsgBox ha
        Else
        End If
    End If
End Sub
 
МатросНаЗебре, Спасибо большое
Goedenavond!
 
Цитата
seggi написал:
Как указать в программе то, что нужно игнорировать любые клики вне области A1:A3?
Не писать лишнего  :D
Код
ElseIf Target.Address <> "$A$1" Or Target.Address <> "$A$2" Or Target.Address <> "$A$3" Then
 
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Range("A1:A3")) Is Nothing Then
        Select Case Target.Address(0, 0)
        Case "A1": MsgBox 1
        Case "A2": MsgBox 2
        Case "A3": MsgBox 3
        End Select
    End If
End Sub
 
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Intersect(Target, Range("A1:A3")) Is Nothing Then Exit Sub
  If Target.Count > 1 then Exit Sub
  ha = Target.Row
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
RAN написал:
Не писать лишнего
Первые шаги, пытался велосипед изобрести.  :oops:
Goedenavond!
Страницы: 1
Наверх