Подтвердить что ты не робот

Получить выбранный пользователем диапазон

Как я могу получить диапазон ячеек, выбранных с помощью пользовательского ввода мыши для дальнейшей обработки с помощью VBA?

4b9b3361

Ответ 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