【Excel VBA】セルに値を入力する方法
こんにちは、かふぇおれです。
今回は、Excel-VBA初心者の方が、まず最初に覚えるべき「セルへ値を入力する方法」を紹介します。
〇セルへ値を入力する方法
セルへ値を入力する方法のうち、一般的に使用される方法は2種類あります。
☆値の入力方法
①Rangeを用いる方法
②Cellsを用いる方法
①Rangeを用いる方法について
セルへ値を入力する方法として最も一般的なのは、Range()を用いる方法です。
<コードの書き方>
Range("A1").Value = "こんにちは"
上記のコード書いて実行すると、A1セルに「こんにちは」という文字列を入力する事が出来ます。もちろん、「A1」という部分を自分が入力したいセルに書き換える事で自分の好きな位置に入力させることが可能です。
②Cellsを用いる方法について
こちらも一般的ではありますが、マクロを始めたばかりの方や、Cellsを知らなかった方にとってはセルの指定方法がRangeと違うため、少し難しく感じるかもしれません。しかし、今後マクロを組むにあたってCellsの方が行や列の指定がしやすく、より複雑なマクロを組むことができるようになるため、ぜひ覚えておいてください。
<コードの書き方>
Cells(2,3).Value = "こんにちは"
上記のコードを実行すると、C2セルに「こんにちは」という文字列を入力する事が出来ます。
正直、「???」という感じだと思います。笑
私も初めてCellsを知った時は、「どういう事??」となりました。
Cellsは、Rangeと違って指定したいセルの行と列を別々に指定します。カッコの中の数字によって自分が作業をさせたいセルの行と列を指定するわけです。
具体的にいうと、カッコの中の最初の数字で「行」を指定します。今回は2なので、2行目を指定しています。そして、次の数字で列番号を指定します。本来、列はA,B,C...といったアルファベットで表記してありますが、これを左から順に1,2,3...と番号を振ります。そうした場合の番号を指定しています。今回は3なので、3列目、つまり「C」の列を指定してる事になります。
よって、Cells(2,3)と書くことでRange("C2")と書いているのと同じ意味になるのです。
〇基本的な考え方
ここまで見て頂いた読者の方の中には、「なんで2種類の書き方があるんだろう?」という疑問を持たれている方もいらっしゃると思います。
みなさん、なぜだと思いますか?
これは、実際にVBAでマクロを組むようになると分かってきます。
マクロは、「自分が作業したいセルを選択して作業を指示する」というのを様々なパターンに合わせて実行していきます。その際に作業をさせたいセルが複数ある場合が多々あります。(例えば、「この範囲のセルの色を赤色にする」といった場合や、「この表の書式を変更する」といった場合など。)
逆に、今回紹介したような特定のセルのみに作業させる場合もあります。
この様にセルの指定方法が2パターンあるため、RangeとCellsという2種類の指定方法が用意されている訳です。
では、実際にRangeとCelllsのセルの指定方法についてみていきましょう。
<Range>
Rangeは、主に範囲指定する場合に用います。指定方法は複数ありますが、基本的に範囲を指定するものになります。以下に、よく使われる指定方法を紹介します。
・Range("A1")
「A1という範囲のセルをしていする」という意味
・Range("A1:C3"")
「A1~C3という範囲のセルを指定する」という意味
・Range(Cells(1,1), Cells(4,3))
「A1~C4という範囲のセルを指定する」という意味
最後のは少し難しいかもしれませんね。Rangeは先程も説明した通り「範囲を指定するもの」です。みなさん、Excelで範囲を指定する時は指定したい範囲をドラックして範囲選択しますよね?マクロでもそれと同じ事が出来るんです。指定したい範囲の初めのセルと終わりのセルだけ分かれば範囲は確定するので、Rangeでそれらを指定してあげると範囲を選ぶことができるんです。
<Cells>
Cellsは、特定のセルを指定したい場合に使用します。このCellsは特定のセルを指定する事に特化しているため、慣れないうちは使いづらいですがなれると強力です。
指定方法は先程説明した通り、行と列を番号で指定します。
この番号は数字以外にも、数字として扱えるデータなら何でも使う事が出来るので、例えば、「この列のデータが入力されている行」といったような複雑な指定が可能です。
このCellsの使い方については別の記事で書く予定なので楽しみにしていてください!
今回紹介したセルへの値の入力は、マクロを組む上で最も使用するものなので
ぜひ覚えてくださいね(^^♪
むしろ、今回紹介した方法を覚えてしまえば、あとはそこに知識をつけ足していくだけですので、あきらめずに何度もコードを書いてみてください!
分からない事があれば、メールでお問い合わせも受け付けてますので、Chackyに気軽に聞いてください!