注目キーワード
  1. VBA
  2. 関数
  3. ショートカット

セルや行・列の操作方法を知ろう!③

  • 2019年3月5日
  • 2019年3月15日
  • VBA
  • 5回
  • 1件
VBA NO IMAGE

①セル範囲を書式ごと移動・複製する

セル範囲の値だけでなく、書式なども含めて別のセル範囲に移動させたい場合は、切り取りと貼り付けの操作を実行します。また、元のセル範囲にデータを残したまま、別のセル範囲に複製したい場合は、コピーと貼り付け操作を実行します。

・セル範囲の内容を別のセル範囲に移動する

特定のセル範囲を別のセル範囲に移動させたい場合は、元のセル範囲を表すRangeオブジェクトのCutプロパティを実行します。移動先のセルは、引数DestinationにRangeオブジェクトとして指定できます。移動先に1つのセルを指定した場合、そのセルを左上端とするセル範囲に、切り取ったセル範囲のデータを貼り付けられます。

・実行結果

 

・Pasteメソッドで貼り付ける

Excelの通常の操作のように「切り取り」と「貼り付け」を別々に行う場合は、引数を指定しない、Cutメソッドだけを実行し、Selectメソッドで移動先のセルを選択して、ActiveSheetプロパティで作業中のワークシートを表す、WorkSheetオブジェクトを取得し、そのPasteメソッドで「貼り付け」を実行できます。

・セル範囲を書式ごと複製する

特定のセル範囲を別のセル範囲に複製したい場合は、元のセル範囲を表すRangeオブジェクトのCopyメソッドを実行します。複製先のセルは、引数DestinationにRangeオブジェクトとして指定できます。複製先に1つのセルを指定した場合、そのセルを左上端とするセル範囲に、コピーしたセル範囲のデータが貼り付けられます。

・実行結果

 

・複数の個所に同じ内容を複製する

複製先が1つではなく、複数のセルに連続して貼り付けをしたい場合は、Copyメソッドを使用して、それぞれの貼り付け先のセルを選択し、ActiveSheetプロパティで取得した作業中のワークシートを表すWorkSheetオブジェクトのPasteメソッドを実行します。VBAでも、Excelと同様に複製先を指定しないCopyメソッドを使用するとコピーモードになり何度でも貼り付けをすることが可能です。コピーモードを終了するにはApplicationオブジェクトのCutCopyModeプロパティにFalseを設定します。

 

②書式だけ・値だけを貼り付ける

セル範囲の値ではなく、書式設定だけを別のセル範囲にコピー・貼り付けすることもできます。反対に、貼り付け先の書式はそのままにして、値だけを貼り付けすることもできます。この方法はいずれも、通常とは異なる貼り付け方法で実行します。

・セル範囲の書式を別のセル範囲にコピーする

特定のセル範囲の書式を別のセル範囲にコピーしたい場合も、元のセル範囲を表すRangeオブジェクトのCopyメソッドを実行します。次に貼り付け先のセル範囲を表すRangeオブジェクトのPasteSpecialメソッドで、引数Pasteに定数xlPasteFormatsを指定します。

・実行結果

 

・PasteSpecialメソッドで貼り付ける

PasteSpecialメソッドは、貼り付け先のセルを表すRangeオブジェクトを対象に実行します。4つの引数を指定出来ますが、すべての引数を省略してPasteメソッドの代わりにも利用できます。必ずCopyメソッドと組み合わせて使用します。

 

・セル範囲に数値を加算して貼り付ける

数値が入力されているセルをコピーし、別のセル範囲に入力されている数値と演算してから貼り付けることができます。ここでは、引数Pasteに定数xlPasteValuesを指定して、値だけを貼り付けます。また引数Operationに、加算を意味する定数xlPasteSpecialOperationAddを指定します。

・実行結果

 

・PasteSpecialメソッドの引数

PasteSpecialメソッドには4つの引数が指定出来ますが、ここではPasteとOperationについて説明します。

・引数Pasteの定数

定数 貼り付け内容
xlPasteAll すべて
xlPasteFormulas 数式
xlPasteValues
xlPasteFormats 書式設定
xlPasteFormulasAndNumberFormats 数式と数値の書式
xlPasteValuesAndNumberFormats 値と数値の書式

・引数Operationの定数

定数 演算内容
xlPsteSpecialOperationNone なし
xlPsteSpecialOperationAdd 加算
xlPsteSpecialOperationSubtract 減算
xlPsteSpecialOperationMuktiply 乗算
xlPsteSpecialOperationDivide 除算

 

次のステップへ:ExcelVBA【セルや行・列の操作方法】④

 

Excelマクロ&VBAをマスターしよう!一覧へ

 

NO IMAGE
最新情報をチェックしよう!