[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『表の体裁を保持して貼り付けしたい』(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.