Существует два подхода к выбору ячеек: например, удерживая клавишу Shift и нажимая по отдельности на две ячейки, вы выбираете две области. удерживая клавишу Shift, щелкните и перетащите, чтобы выбрать две ячейки, создаст одну область. то есть. если мои ячейки A1 и B1, то в первом случае я получу две области «$ A $ 1», «$ B $ 1», тогда как во втором случае вы получите одну область «$ A $ 1: $ B $ 1»
Так что, если вы хотите перейти к одному выбору, вам нужно разделить выделение, как показано ниже:
Private Sub sTestSolution()
Dim area As Range, newRange As Range
Dim i As Long, x As Variant, y As Variant
Set newRange = Selection.SpecialCells(xlCellTypeVisible)
For Each area In newRange.Areas
Debug.Print area.Address
Next
End Sub
Если вы хотите перейти к множественному выбору, тогда код будет таким (отрегулируйте соответственно):
Private Sub sTestSolution()
Dim area As Range
Dim i As Long, x As Variant, y As Variant
For Each area In Selection.Areas
For i = 1 To area.Rows.Count
x = area.Cells(i, 1).Value
y = area.Cells(i, 2).Value
Debug.Print area.Address
Next i
Next
End Sub
Следуя вашему комментарию, я получаю следующее, когда выбрал эти строки на своем скриншоте. ![enter image description here](https://i.stack.imgur.com/5Kw4W.jpg)