У меня есть макрос, который предназначен для выбора всего столбца на листе, если заголовок имеет определенное значение.После этого раздел макроса запускается.Я хочу проверить, какая часть электронной таблицы выделена, и перейти оттуда к оператору IF.Если выделение представляет собой одну ячейку (в данном случае A2), то макрос должен идти по одному пути.Если выделение является целым столбцом, то он должен идти другим путем.В настоящее время это только поиск первой части if select.В случае кода ниже он возвращает MsgBox «Столбец« & xStr & »не найден».независимо от текущего выбора.
Я пытался использовать параметры <>, is и not на Active.range.select, но на этом мои знания заканчиваются.Я новичок в VBA и собираю этот код вместе, используя массу проб и ошибок / онлайн-справку.
Sub Testingifthen()
'
' Testingifthen Macro
'
Range("A2").Select
numRows = Range("A" & Rows.Count).End(xlUp).Row
Dim xRg As Range
Dim xRgUni As Range
Dim xFirstAddress As String
Dim xStr As String
On Error Resume Next
xStr = "Zip Code"
Set xRg = Range("A2:CD2").Find(xStr, , xlValues, xlWhole, , , True)
If Not xRg Is Nothing Then
xFirstAddress = xRg.Address
Do
Set xRg = Range("A2:CD2").FindNext(xRg)
If xRgUni Is Nothing Then
Set xRgUni = xRg
Else
Set xRgUni = Application.Union(xRgUni, xRg)
End If
Loop While (Not xRg Is Nothing) And (xRg.Address <> xFirstAddress)
End If
xRgUni.EntireColumn.Select
If Active.Range.Select <> Range("A2") Then
MsgBox " The " & xStr & " column has not been found."
Else
MsgBox " The " & xStr & " column has been found."
End If
'
End Sub