0

あるワークシートから別のワークシートにデータをコピーするマクロを作成しました。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
4

1 に答える 1

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
于 2012-07-24T06:34:34.113 に答える