Как я могу получить диапазон ячеек, выбранных с помощью пользовательского ввода мыши для дальнейшей обработки с помощью VBA?
Получить выбранный пользователем диапазон
Ответ 1
Вы можете прокрутить объект Selection, чтобы увидеть, что было выбрано. Ниже приведен фрагмент кода из Microsoft (http://msdn.microsoft.com/en-us/library/aa203726 (office.11).aspx):
Sub Count_Selection()
Dim cell As Object
Dim count As Integer
count = 0
For Each cell In Selection
count = count + 1
Next cell
MsgBox count & " item(s) selected"
End Sub
Ответ 2
Selection
является его собственным объектом в VBA. Он функционирует так же, как объект Range
.
Выбор и диапазон не используют все те же свойства и методы, однако, поэтому для удобства использования может иметь смысл просто создать диапазон и установить его равным выбору, тогда вы можете обращаться с ним программно, как и любой другой диапазон.
Dim myRange as Range
Set myRange = Selection
Для дальнейшего чтения ознакомьтесь с статьей MSDN.
Ответ 3
Это зависит от того, что вы подразумеваете под "получить диапазон выбора". Если вы хотите получить диапазон адрес (например, "A1: B1" ), используйте свойство "Адрес" объекта "Выделение", как сказал Майкл. Объект выделения очень похож на объект "Диапазон", поэтому большинство свойств и методов работает он.
Sub test()
Dim myString As String
myString = Selection.Address
End Sub