[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『表の体裁を保持して貼り付けしたい』(sinzou)
マクロによる表の貼り付けを頻回に行っております。
(シート名は仮です)
Sub 最終行()
Sheets("テンプレート").Select
Range("A1:F25").Select
Selection.Copy
Sheets("来月").Select
n = Cells(Rows.Count, "B").End(xlUp).Row + 1
Range("A" & n).Select
ActiveSheet.Paste
End Sub
これで、貼り付けた場合、テンプレートの行・列の幅がリセットされて しまいますが、体裁を保持したままで 貼り付ける方法はあるでしょうか? よろしくお願いします。
< 使用 Excel:Excel2010、使用 OS:Windows7 >
Sub 最終行()
Dim n
Worksheets("テンプレート").Range("A1:F25").Copy
Sheets("来月").Select
n = Cells(Rows.Count, "B").End(xlUp).Row + 1
Range("A" & n).Select
Selection.PasteSpecial Paste:=xlPasteColumnWidths
ActiveSheet.Paste
End Sub
(とらねこ) 2015/02/16(月) 15:57
表は必要数分を小刻みに増やして調整するので 運用上、シートごと…という訳にはいきません。 (説明が足りず申し訳ありません) とらねこさんの教えて下さったマクロ、使用してみます。 表を体裁ごとコピーするのは 意外と難しいんですね…
(sinzou) 2015/02/16(月) 17:03
運用がわかりませんが、テンプレートの中に複数の表があるのならテンプレートを分けて コピーして使えるようにはできないでしょうか。
テンプレートが増えるのが嫌なら、別ファイルにするなり、非表示にするなり対応方法は あるように思います。 (Mook) 2015/02/16(月) 17:06
Dim r As Range
Dim i As Long
Dim n As Long
Set r = Worksheets("テンプレート").Range("A1:F25")
n = Worksheets("来月").Cells(Rows.Count, "B").End(xlUp).Row + 1
r.Copy Worksheets("来月").Range("A" & n)
For i = 1 To r.Rows.Count
Worksheets("来月").Range("A" & n).Offset(i - 1).RowHeight = r.Cells(i, 1).RowHeight
Next i
Set r = Nothing
End Sub
何度もすみません。
これでご希望に添えるものになったかと…
(とらねこ) 2015/02/17(火) 08:34
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.