- 締切済み
リンク貼り付けをマクロで簡素化したい
1)個人票ブック(太郎シート 花子シート 次郎シー・・・・・)の各シートのA1からA5まで、値や公式がはいっています。 2)このシートのA1からA5までの値等を、別の総括表ブック(一枚のシートしかない)にリンク貼り付けをします。 3)まず、太郎シートのA1~A5までは、総括表ブックのB列にリンク貼り付けするマクロボタンを、太郎シートに設置します。 4)さらに、花子シートのA1~A5までは、総括表ブックのC列にリンク貼り付けするマクロボタンを、花子シートに設置します。 5)そして、次郎シートのA1~A5までは、総括表ブックのD列にリンク貼り付けするマクロボタンを、次郎シートに設置します。 6)こうしてマクロボタンを順次貼り付けていきます。 7)各シートの貼り付け場所は列に貼り付けていきますが、上から順番ではなく、任意に飛んでいますが、 各シートの行は、みな一律で同じ行です。 列は違っても皆おなじ行にリンク貼り付けしたいです。 このような操作をマクロ記録でつくりましたが、膨大な作業が必要です。これをなんとかVBAで簡素化したいのですが・・よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- redfox63
- ベストアンサー率71% (1325/1856)
回答No.1
そんなに膨大な作業量になるのでしょうか? これは実際の作業がということなのでしょうか … 対象のファイルが膨大な量があるとか マクロ自体を一本化したいとかですか 現行のコードをどのように改善したいのかを具体化してみましょう 総括表シートに『リンク貼り付け』なのですからこれが複数回あるというのも考えにくいですし ・・・
補足
1枚のシートにつき次のマクロを書いています。 Sub 日本太郎データ貼付() ’G列に貼り付け Application.ScreenUpdating = False Workbooks("個人別データ").Activate Range("H3").Select Selection.Copy Workbooks("総括表").Activate Worksheets(1).Select Range("G6").Select ActiveSheet.Paste Link:=True 'Worksheets(1).Select '日本太郎 '----------------------------------------------- Workbooks("個人別データ").Activate Range("H4").Select Selection.Copy Workbooks("総括表").Activate Worksheets(1).Select Range("G7").Select ActiveSheet.Paste Link:=True 'Worksheets(1).Select '日本太郎 '----------------------------------------------- Range("H5").Select Selection.Copy Workbooks("総括表").Activate Worksheets(1).Select Range("G8").Select ActiveSheet.Paste Link:=True 'Worksheets(1).Select '日本太郎 '----------------------------------------------- Range("H6").Select Selection.Copy Workbooks("総括表").Activate Worksheets(1).Select Range("G14").Select ActiveSheet.Paste Link:=True 'Worksheets(1).Select '日本太郎 '----------------------------------------------- Workbooks("個人別データ").Activate Range("H7").Select Selection.Copy Workbooks("総括表").Activate Worksheets(1).Select Range("G19").Select ActiveSheet.Paste Link:=True 'Worksheets(1).Select '日本太郎 '----------------------------------------------- Workbooks("個人別データ").Activate Range("H8").Select Selection.Copy Workbooks("総括表").Activate Worksheets(1).Select Range("G23").Select ActiveSheet.Paste Link:=True 'Worksheets(1).Select '日本太郎 '----------------------------------------------- Range("H9").Select Selection.Copy Workbooks("総括表").Activate Worksheets(1).Select Range("G26").Select ActiveSheet.Paste Link:=True 'Worksheets(1).Select '日本太郎 '----------------------------------------------- Range("H10").Select Selection.Copy Workbooks("総括表").Activate Worksheets(1).Select Range("G28").Select ActiveSheet.Paste Link:=True 'Worksheets(1).Select '日本太郎 '----------------------------------------------- Workbooks("個人別データ").Activate Range("H11").Select Selection.Copy Workbooks("総括表").Activate Worksheets(1).Select Range("G42").Select ActiveSheet.Paste Link:=True 'Worksheets(1).Select '日本太郎 '----------------------------------------------- Workbooks("個人別データ").Activate Range("H12").Select Selection.Copy Workbooks("総括表").Activate Worksheets(1).Select Range("G44").Select ActiveSheet.Paste Link:=True 'Worksheets(1).Select '日本太郎 '----------------------------------------------- Application.CutCopyMode = False 'コピーモード解除 MsgBox "転記しました。" Worksheets(1).Select End Sub ブック(個人別データ)に個人別シートが20枚あり、各シートのH3からH12(固定)の値や式を ブック(総括表)の一枚のシートの各列の行(固定6,7,8,14,19,23,26,28,42,44)に貼り付けます。 列は20名の各人により、割り当てられています。 ブック個人別データのシートは増減が常にあります。