将数据插入按钮所在的同一行

时间:2012-07-24 04:55:22

标签: excel vba button excel-vba

我创建了一个宏,可以将数据从一个工作表复制到另一个工作表。我想要一个通用的宏来复制与按钮相同的行号的数据,而不是代码中提到的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 个答案:

答案 0 :(得分:2)

未经测试,但可能会帮助你...

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