Вставка данных в ту же строку, в которой находится кнопка

Я создал макрос, который копирует данные из одного листа в другой. Я хочу обобщенный макрос, который копирует данные с того же номера строки, что и кнопки, а не B2 как указано ниже в коде.

В настоящее время этот код работает нормально; текст кнопки обновляется и MacroA был назначен на это. Я читаю о topleftcell, но я не могу это реализовать.

Sub MacroA()
'
' MacroA Macro
'
    Range("I2:J2").Select
    Selection.Copy
    Range("B2").Select
    Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
    Range("D2").Select
    Cells.Find(What:="", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
        xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False).Activate
    ActiveSheet.Paste
    Application.CutCopyMode = False
    ActiveWorkbook.Save
    ActiveWindow.Close
End Sub

1 ответ

Не проверено, но может помочь вам...

Sub Tester()

    Dim c As Range, sht As Worksheet
    Dim d As Range

    Set sht = ActiveSheet

    Set c = sht.Shapes(Application.Caller).TopLeftCell
    sht.Cells(c.Row, 2).Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True

    With ActiveSheet
        Set d = .Cells.Find(What:="", After:=.Range("D2"), LookIn:=xlFormulas, _
                LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
                MatchCase:=False, SearchFormat:=False)
        sht.Range("I2:J2").Copy d

        .Parent.Save
        .Parent.Close
    End With

    Application.CutCopyMode = False
End Sub
Другие вопросы по тегам