非表示にできる< 目次 >
本記事で出来ること
本記事では以下のことが分かります。
-分かること-
VBAでコピー/貼付する方法が分かります
本記事の信頼性
本投稿で紹介するコードや内容は、
Crowd Worksで実際に納品したVBAコードを元に説明しているので
ご安心して 内容を確認ください。
前準備:プロパティ構文とメソッド構文は理解しているか?
仰々(ぎょうぎょう)しい見出しですが、内容は簡単です。
図を用意しましたので、眺めてもらえれば良いかと。
例として「A1セルをコピー → B1セルに貼付」をもとに、
各構文の比較をしているので 理解していない人はこのタイミングで理解しておきましょう。
作用させる向きが それぞれ逆なところがポイントです。
(ポイント:プロパティ構文は 右から左、メソッド構文は 左から右へ作用する)
コピー/貼付のやり方(コード有)
「A1セルをコピーしてB1セルに貼付する」を例にコードを紹介します。
構文によって書き方が異なりますので、注意しましょう。
◎プロパティ構文の場合
1 2 3 4 5 6 7 8 |
Sub プロパティ構文の場合() Range("B1").Value = Range("A1").Value '↓これも同じ意味 'Cells(1,2).value = Cells(1,1).value End Sub |
◎メソッド構文の場合
1 2 3 4 5 6 7 8 |
Sub メソッド構文の場合() Range("A1").Copy Range("B1") '↓これも同じ意味 ' Cells(1,1).Copy Cells(1,2) End Sub |
余談:CellsとRangeの理解が曖昧な人向け
ご紹介したコードの中に Range("A1") と Cells(1,1) が同じ扱いをされていますが、
曖昧に理解している人はいませんでしょうか?
セルの特定は、VBAで作業効率化するにおいて、
原点にして頂点の 最重要-理解すべき基本知識の1つです。
以下の記事に、CellsとRangeの説明をしているので、
不安に思われた方は リンク先で確認して下さいませ。
(早い人は 5分で読めると思います。)
終わりに
いかがでしたでしょうか。
こんなこと言ったら 信頼性に問題がありますが、
プログラムなんてものは、まずは 動きゃいい と僕は思っています。
動くのが確認できて 初めて「良かった。うれしいー」となり、
プログラム学習を継続しようと思えるわけで。
そこから、エラー分岐や動作の安定性/高速化を目指してトライ& エラーが始まり、
終わりのない Input(勉強)→Output(コーディング) の世界に飛び込むわけですから、
初めの動いた時ぐらい喜んでもバチは当たらないと思います。
こちらは宣伝になりますが、
もしVBA全般のルール・ 基本知識を身に付けたい方がいらっしゃいましたら、
本ブログでは「1週間で分かるVBA 」 なる記事もご紹介していますので、
一度 覗いてみてくれると幸いです。(当然、無料です。)
もしVBA全般のルール・
本ブログでは「1週間で分かるVBA 」 なる記事もご紹介していますので、
一度 覗いてみてくれると幸いです。(当然、無料です。)