テンプレシートの列幅をコピーしたい
エクセル上で原本シートの列幅をコピーしたいケースがあります。
列幅をコピーするマクロは、簡単なコードで表せます。どしどしコピペで使いましょう。
テンプレシートの列幅をコピペするサンプルコード
'■フォーマットシート(原本シート)から列幅をコピーする
Public Sub Call_CopyPaste_ColumnWidth()
'■一つの列(A列)を複数列に列幅を貼付
Columns("A").Copy
Columns("C:E").PasteSpecial xlPasteColumnWidths
'■一つの列(A列)を一つの列(B列)をに列幅を貼付
Columns(1).Copy
Columns(2).PasteSpecial xlPasteColumnWidths
'■複数列(A列~E列)を複数列に列幅(F列~J列)を貼付
Columns("A:E").Copy
Columns("F:J").PasteSpecial xlPasteColumnWidths
'■複数列(A列~E列)を複数列に列幅(F列~J列※F列から5列分)を貼付
Columns("A:E").Copy
Columns("F").PasteSpecial xlPasteColumnWidths
'■コピーした情報をクリップボードから削除する場合は以下
Application.CutCopyMode = False
End Sub
注意点
- 列幅以外をコピーする場合は下記情報を参考にしてくください。
【VBA一覧】XlPasteType列挙 定数一覧 - 今回は Columns(“A”) と記載していますが、実際にはシート名やブック名を記載すべきです。
マクロ初級者必読-ワークシート名を変数にSetし、短い名前で利用する
マクロ初級者必読-ワークブック名を変数にSetし、短い名前で利用する - 上記を指定していない為、ActiveSheet(前面に表示されているシート)に貼りつけしています。
関連記事
新しいワークシートを作成時、処理を行う【NewSheet】【ExcelVBA】
ExcelVBAマクロ「指定したキーワードをクリップボードへコピーする」をパーツ化する
ExcelVBAマクロ「クリップボードへのコピーが文字化けする対策」



コメント