VBAの資格取得を応援する「パソコン教室ISA」ライターチームです。
エクセルで日々行う業務コピー&ペースト。繰り返し作業はVBAの機能を使えば時短に繋がります。マクロでは実現できないこともVBAでは可能です。
コピー元のデータ範囲を取得する
コピー元のデータ範囲の取得方法を確認しましょう。
Rangeプロパティで範囲を取得する
Rangeプロパティを使って複数のセルを取得することができます。
単一セルの取得 Range(“A1”) ‘A1を取得
セル範囲の取得 Range(“A1:C3”) A1からC3の範囲を取得
離れたセルを取得 Range(“A1,C3”) A1とC3を取得
離れたセルと範囲を取得 Range(“A1,B2:C3”) A1とB2からC3を取得
正しくセル範囲を取得できているかを確認したい場合には、後ろにselectメソッドを付けてみましょう。
その他のRangeプロパティの範囲取得方法
行の取得 Range(“1:1”) 1行目を取得
行の取得 Range(“1:3”) 1~3行目を取得
列の取得 Range(“1:3”) A~C列を取得
名前の取得 Range(Data) Dataという名前のセル範囲を取得
\ VBA試験の詳しい情報を受け取る /
コピー&ペーストする
コピー元のデータ範囲を取得できるようになったので、コピー&ペーストをしてみましょう。
Copyメソッド
選択範囲をコピーしたい場合には、Copyメソッドを使います。コピー先は引数Destinationを使って指定します。
セルA1をセルC3にコピーしてみます。
Range(“A1”).Copy Destination:= Range (“C3”)
Copyメソッドの引数はDestinationだけなので「Destination:=」は省略可能です。
同じ結果になります。
Range(“A1”).Copy Range (“C3”)
PasteSpecialメソッド
形式を選択して貼り付けたいときはPasteSpecialメソッドを使います。(例外的にリンク貼り付けはPasteメソッドを使います)
貼り付けの形式は引数Pasteで指定します。
A1からC3に値貼り付けを行ってみましょう。
- コピー元を取得して、Copyメソッドでコピーをとる
- コピー先オブジェクトにPasteSpecialメソッドで形式を選択して貼り付けるという手順で行います。(エクセルの操作をイメージして下さい)
コードは2行です。
Range(“A1”).Copy
Range(“C3”).PasteSpecial Paste:=xlPasteValues
Paste引数はPasteSpecialの第一引数で省略可能なので、以下記述でも同じ結果です。
Range(“A1”).Copy
Range(“C3”).PasteSpecial xlPasteValues
パソコンスクールISA
Office・IT・プログラミング等の
パソコンスキルアップを徹底サポート!
東京、横浜、埼玉、千葉の
最寄駅5分以内!オンライン授業も
引数Pasteに指定する定数一覧
名前 | 値 | 説明 |
xlPasteAll | -4104 | すべてを貼り付けます。 |
xlPasteAllExceptBorders | 7 | 輪郭以外のすべてを貼り付けます。 |
xlPasteAllMergingConditionalFormats | 14 | すべてを貼り付け、条件付き書式をマージします。 |
xlPasteAllUsingSourceTheme | 13 | ソースのテーマを使用してすべてを貼り付けます。 |
xlPasteColumnWidths | 8 | コピーした列の幅を貼り付けます。 |
xlPasteComments | -4144 | コメントを貼り付けます。 |
xlPasteFormats | -4122 | コピーしたソースの形式を貼り付けます。 |
xlPasteFormulas | -4123 | 数式を貼り付けます。 |
xlPasteFormulasAndNumberFormats | 11 | 数式と数値の書式を貼り付けます。 |
xlPasteValidation | 6 | 入力規則を貼り付けます。 |
xlPasteValues | -4163 | 値を貼り付けます。 |
xlPasteValuesAndNumberFormats | 12 | 値と数値の書式を貼り付けます。 |
コピー&ペーストはエクセルでよく使う操作なので、VBAで自動化の効果も高いところです。この記事では指定セルのコピー&ペースト方法を見ていただきましたが、実務では指定セルが変わったり、条件を付けたりということがよくあります。それらもVBAで実装可能なプログラムです。VBAの基本は体系的に学習しないとどこかで行き詰ることも多いです。体系的に学習をしたい場合は、パソコン教室や通信講座で学ぶのがおすすめです。
中でも、40年近い教室運営の実績を有するISAパソコン教室は、豊富な種類のVBA取得コースを提供しています。講師をすべて社員として教育の質を担保するなどの取り組みにより、日本マイクロソフトが1年に1社を選ぶLeaning Awardを10年間で3度受賞しています。効率的かつ質の高い学びの場を求める方は、下記の資料をご確認ください。