Оператор if, который выполняет действие только тогда, когда выбор находится в пределах определенного столбца - PullRequest
0 голосов
/ 27 ноября 2018

Я пытаюсь завершить этот макрос, который откроет другую книгу, скопирует и вставит выбранные ячейки в другую книгу.Я хочу сделать это только тогда, когда выделение находится в столбце А и только тогда, когда выделение содержит данные.

Если выделение содержит часть данных, это легко, однако как я могу сделать утверждение, которое говорит, что выделение нев столбце A, затем MsgBox("Please select data")?

Здесь приведено выражение if, для которого все еще требуется указанная выше часть.

'Warns if no QN#s are selected
If Selection = "" Then
MsgBox ("Please Select Your QN#s Before Running This Macro")
Exit Sub
End If

Ответы [ 3 ]

0 голосов
/ 27 ноября 2018

Почему бы не использовать Worksheet_SelectionChange?

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    If Target.Column <> 1 Then
        MsgBox "Please Select Your QN#s Before Running This Macro", vbOKOnly, "Data Selection"
    Else
        RunMacro
    End If

End Sub
0 голосов
/ 27 ноября 2018

Используйте этот шаблон кодов.Это касается только выбора, а не обнаружения изменений.

Dim a As Integer
Dim b As Integer
Dim c As String
a = Selection.Row
b = Selection.Rows.Count - 1
c = "A" & a & ":" & "A" & a + b
If ((Selection.Column = 1) And (WorksheetFunction.CountA(Range(c)) > 0)) Then

MsgBox "ready to go"

End If

В приведенном выше коде будут рассмотрены скрытые строки с данными.Объединенные ячейки считаются одной ячейкой со значением, а остальные являются пробелами (пример: если вы объединили A2: A5, то у вас будет 3 пустых ячейки)

0 голосов
/ 27 ноября 2018

Кажется, это работает для распознавания, находятся ли ячейки в определенном столбце.

If Not Intersect(Selection, Range("A:A")) Is Nothing Then
'Proceed
Else
MsgBox ("Please Select Your QN#s Before Running This Macro")
Exit Sub
End If
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...