データの転記処理の基本コピーと範囲指定をしっかり
動画でExcelマクロ解説
コピーと範囲指定
動画版「Excelの3行マクロ」です。
今回はコピーと転記について基本を詳しく解説します。今までにも何回かをコピーして、転記するというマクロが登場したと思いますが、ここでもう一度範囲の指定方法をしっかり解説したいと思います。CopyメソッドとPastメソッドの違いやDestinationの利用などの説明をします。
VBAでコピーして張り付ける
この動画では、選択した範囲をコピーして指定した位置に張り付ける操作を記録のマクロで実行します。
その後、記録のマクロをリメイクして自分が必要なマクロに変更していくという流れを説明しています。
記録のマクロで作成されたコードは次のようなものでした。
Sub コピー転記() ' 記録で作ったマクロ Range("B2:B5").Select Selection.Copy Range("D2").Select ActiveSheet.Paste End Sub
それをいろいろ説明する過程で次のような形に変化させました。
特に汎用的に使うマクロであれば、範囲を指定することはとても面倒ですので、サンプルのコピー転記5のように、
ActiveCell.CurrentRegion.Copy のようなコードに変更することで、現在の選択範囲を取得することができます。
CurrentRegionは、現在の選択範囲を表す Range オブジェクトを返します。 現在の選択範囲は、空白の行と空白の列の任意の組み合わせで囲まれた範囲です。
Sub コピー転記5() ActiveCell.CurrentRegion.Copy Destination:= _ ActiveCell.Offset(0, 7) End Sub