非表示にできる< 目次 >
本記事で出来ること
本記事では以下のことが分かります。
-分かること-
①Cellsでのセル指定方法が分かる
②Rangeでのセル指定方法が分かる
EXCEL-VBAでの最初の難関は、任意のセルを指定することだと思います。
僕もそうでした。
本投稿で紹介するコードや内容は、
Crowd Worksで実際に納品したVBAコードを元に説明しているので
ご安心して 内容を確認ください。
前提知識:CellsとRangeが曖昧な人向けの説明
セル(Cells)とレンジ(Range)ってそもそも何?という方 向けに説明すると、
セル(Cells)は 「A1」というように表現がされ、
レンジ(Range)は「セルの範囲」を意味し「A1:C3」というような表現がされます。
セル(Cells)は 「A1」というように表現がされ、
レンジ(Range)は「セルの範囲」を意味し「A1:C3」
ここで注意なのが、A1セルという単体セルも、
VBA側は 「セルの範囲」と認識しますので、
Rangeでセルを指定してあげるときは 注意する必要があります。
(先に答えを書くと、Range("セルの範囲")がVBA構文なので Range("A1")としてあげればよい)
Cellsでのセル指定方法
さっそくCellsでセルを指定する方法を説明します。
Cells構文は、Cells (行 , 列 ) となり、
以下が理解の仕方のサマリとなります。
現在操作中のEXCELの対象セルを指定してあげるときは、
このような形↓で利用すればセルを指定できるでしょう。
1 |
Thisworkbook.worksheets("対象シート名称").Cells (行, 列).select |
直接、指定したセルに値を入れたいときは、このような形↓で実行しましょう。
1 |
Thisworkbook.worksheets("対象シート名称").Cells (行, 列).value = "入れたい値など" |
さらにさらに、指定したセルに 別の指定したセルをコピーしたいときは、
このような形↓で実行すればOK。
(左辺がコピー先、右辺がコピー元なので間違えないように)
1 |
Thisworkbook.worksheets("反映させたい対象シート名称").Cells (行, 列).value = Thisworkbook.worksheets("コピーしたい対象シート名称").Cells (行, 列).value |
Rangeでのセル指定方法
Rangeでセルを指定する方法を説明します。
Range構文は、Range("セルの範囲")となり、
以下が理解の仕方のサマリとなります。
Rangeでのセルの指定は、難しく感じますね。
でも、必要になったら都度 調べながら使う という心持ちで良いのかなと思います。
僕自身も あまり使わないでいると すぐ忘れますし。
(備忘のため本記事を書いているというのが裏の目的ですし。)
終わりに
いかがでしたでしょうか。
簡単に感じた部分、難しく感じた部分が
それぞれあったと思いますが理解自体は出来たかと思います。
少々脱線しますが、プログラムに暗記は不要です。
僕も時々忘れるので 都度調べながら書いています。
どちらかというと 調べながら コードを実装できるスキルの方がプログラムでは重要ですので、
今回紹介したコードは暗記しなくて/できなくても何ら問題ありません。
もしVBA全般のルール・ 基本知識を身に付けたい方がいらっしゃいましたら、
こちらは宣伝になりますが、
本ブログでは「1週間で分かるVBA 」 なる記事もご紹介していますので、
一度 覗いてみてくれると幸いです。(当然、無料です。)