Получение диапазона выбранной ячейки из другого листа в Excel

Я пытаюсь настроить Excel так, чтобы значение ячейки, выбранной на первом листе, было установлено равным значению ячейки, дважды щелкнувшей на другом листе. Пока мой код выглядит так:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)



Dim c As Range

For Each c In Sheet1.Range("M11:M24")
    If IsEmpty(c) Then
        c.Value = Target.Value
        Exit For
    End If
Next c
End Sub

Это устанавливает первую пустую ячейку в диапазоне m11: m24 на содержимое ячейки с двойным щелчком на другом листе. Однако мне нужен не статический диапазон «M11: M24», а вместо этого пользователь должен выбрать ячейку на первом листе, щелкнув ее, перейти на другой лист, дважды щелкнуть ячейку на этом листе и отобразить значение. в выбранной ячейке на первом листе. Я думаю, что мог бы иметь это так, чтобы была настроена переменная, чтобы сохранить, какая ячейка выбрана на первом листе, а затем просто получить доступ к ней с другого листа. Но я бы предпочел, чтобы в Excel была встроенная функция, чтобы просто выбрать выделенную ячейку.

Есть ли способ получить выбранную ячейку / диапазон в Excel?


person Jeff    schedule 12.07.2010    source источник


Ответы (1)


Я решил это легко. Код такой:

Sheet1.Activate
ActiveCell.Value = Target.Value

Если вы хотите сделать выбор целиком, попробуйте

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

    Sheet1.Activate

    Dim r As Range
    Set r = Selection

    r.Value = Target.Value

End Sub
person Jeff    schedule 12.07.2010