ExcelVBA

【エクセルVBA】指定範囲をコピー&ペーストする

VBAの資格取得を応援する「パソコン教室ISA」ライターチームです。

エクセルで日々行う業務コピー&ペースト繰り返し作業はVBAの機能を使えば時短に繋がります。マクロでは実現できないこともVBAでは可能です。

パソコン教室ISAの資料をダウンロード(無料)

コピー元のデータ範囲を取得する

コピー元のデータ範囲の取得方法を確認しましょう。

Rangeプロパティで範囲を取得する

Rangeプロパティを使って複数のセルを取得することができます。

単一セルの取得 Range(“A1”) ‘A1を取得
セル範囲の取得 Range(“A1:C3”) A1からC3の範囲を取得
離れたセルを取得 Range(“A1,C3”) A1とC3を取得
離れたセルと範囲を取得 Range(“A1,B2:C3”) A1とB2からC3を取得

正しくセル範囲を取得できているかを確認したい場合には、後ろにselectメソッドを付けてみましょう。

Range(“A1,B2:C4”).Select

その他のRangeプロパティの範囲取得方法

行の取得 Range(“1:1”) 1行目を取得
行の取得 Range(“1:3”) 1~3行目を取得
列の取得 Range(“1:3”) A~C列を取得
名前の取得 Range(Data) Dataという名前のセル範囲を取得

パソコン教室ISAのVBA講座を体験してみる(無料)

\ VBA試験の詳しい情報を受け取る /

VBAに関する資料をダウンロード

コピー&ペーストする

コピー元のデータ範囲を取得できるようになったので、コピー&ペーストをしてみましょう。

Copyメソッド

選択範囲をコピーしたい場合には、Copyメソッドを使います。コピー先は引数Destinationを使って指定します。

コピー元オブジェクト.Copy Destination:=コピー先セルオブジェクト


セルA1をセルC3にコピーしてみます。

Range(“A1”).Copy Destination:= Range (“C3”)

Copyメソッドの引数はDestinationだけなので「Destination:=」は省略可能です。
同じ結果になります。

Range(“A1”).Copy Range (“C3”)

パソコン教室ISAのVBA講座を体験してみる(無料)

PasteSpecialメソッド

形式を選択して貼り付けたいときはPasteSpecialメソッドを使います。(例外的にリンク貼り付けはPasteメソッドを使います)

貼り付けの形式は引数Pasteで指定します。
A1からC3に値貼り付けを行ってみましょう。

  1. コピー元を取得して、Copyメソッドでコピーをとる
  2. コピー先オブジェクトにPasteSpecialメソッドで形式を選択して貼り付けるという手順で行います。(エクセルの操作をイメージして下さい)

コードは2行です。

Range(“A1”).Copy
Range(“C3”).PasteSpecial Paste:=xlPasteValues

Paste引数はPasteSpecialの第一引数で省略可能なので、以下記述でも同じ結果です。

Range(“A1”).Copy
Range(“C3”).PasteSpecial xlPasteValues

パソコン教室ISAのVBA講座を体験してみる(無料)

引数Pasteに指定する定数一覧

名前 説明
xlPasteAll-4104すべてを貼り付けます。
xlPasteAllExceptBorders7輪郭以外のすべてを貼り付けます。
xlPasteAllMergingConditionalFormats14すべてを貼り付け、条件付き書式をマージします。
xlPasteAllUsingSourceTheme13ソースのテーマを使用してすべてを貼り付けます。
xlPasteColumnWidths8コピーした列の幅を貼り付けます。
xlPasteComments-4144 コメントを貼り付けます。
xlPasteFormats-4122コピーしたソースの形式を貼り付けます。
xlPasteFormulas-4123数式を貼り付けます。
xlPasteFormulasAndNumberFormats 11数式と数値の書式を貼り付けます。
xlPasteValidation 6入力規則を貼り付けます。
xlPasteValues-4163 値を貼り付けます。
xlPasteValuesAndNumberFormats12値と数値の書式を貼り付けます。

パソコン教室ISAの資料を取り寄せる(無料)

まとめ

コピー&ペーストはエクセルでよく使う操作なので、VBAで自動化の効果も高いところです。この記事では指定セルのコピー&ペースト方法を見ていただきましたが、実務では指定セルが変わったり、条件を付けたりということがよくあります。それらもVBAで実装可能なプログラムです。VBAの基本は体系的に学習しないとどこかで行き詰ることも多いです。体系的に学習をしたい場合は、パソコン教室や通信講座で学ぶのがおすすめです。

中でも、40年近い教室運営の実績を有するISAパソコン教室は、豊富な種類のVBA取得コースを提供しています。講師をすべて社員として教育の質を担保するなどの取り組みにより、日本マイクロソフトが1年に1社を選ぶLeaning Awardを10年間で3度受賞しています。効率的かつ質の高い学びの場を求める方は、下記の資料をご確認ください。

ABOUT ME
石井麻美
パソコン教室ISA講師の講師です。 主にOffice系(Word Excel Access PowerPoint)やVBAの授業を担当しています。 Microsoft Office Specialist VBAスタンダードクラウン 資格取得済
\ VBAの情報を手に入れよう/
関連するお役立ち資料
MOS試験に関する資料
MOS試験の概要や取得するメリット、受験科目の選び方や勉強方法を解説 ダウンロード
VBAに関する資料
VBAとはどういうものか?VBAの基本情報からできること、できないことを解説 ダウンロード
お気軽にご相談ください

パソコンに関する技術や、資格取得のご相談など、お気軽にお問い合わせください