スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Excel VBA のCellsプロパティで最近知ったこと





Excel VBA のCellsプロパティで最近知ったこと

Excel VBA ワークシートのセルを参照する場合
  • Rangeプロパティ
  • Cellsプロパティ

を使用します。
例えばB2のセルを参照する場合
    Cells(2, 2) = 1
Range("B2") = 2

のようにします。

Cellsプロパティの良いとこは
For Next文で列や行を容易にループできるところです。
Dim row As Long

For row = 1 To 10
Cells(row, 2) = 100
Next row


Rangeプロパティでは行を変化させて
For row = 11 To 20
Range("B" & row) = 101
Next row


のようにできますが列を変化させるには工夫が必要です。

で、ここからが本題ですが
私は勝手にCellsプロパティは
列と行を数字で指定するものと思っていました。

しかし、ひょんなことから文字も指定できることに気付きました。
Cells(2, 2) = 1

Cells("2", "B") = 100
行は文字といっても実際は行数なので数値ですが
列として文字の「A B C ... Z AA AB ... 」が指定できるのです。

まぁ、数値しか指定できないと勝手に思っていただけなのですが...
目からうろこが落ちた思いでした。

比較的小さい列であれば
Cells(2, 2) = 1

Cells("2", "B") = 100
と指定できます。
でも、
Cells("2", "ZZ") = 100
位になると列を数値で指定するのは少々厄介です。
それまで、私は
col = Range("ZZ" & "1").Column
Cells(2, col) = 100
このように一度、Rangeプロパティを使って、
列を数値に変換後
Cellsプロパティを使用していました。

でも、Cellsプロパティでも
Cells("2", "ZZ") = 100
このように
列として文字の「A B C ... Z AA AB ... 」が指定できるのです。

結構便利だと思いませんか?
それとも、知ってました?
スポンサーサイト

コメントの投稿

非公開コメント

アクセスカウンタ
オンラインカウンター
現在の閲覧者数:
プロフィール

たっきー

Author:たっきー
たっきーのブログへようこそ!
パソコン・スマホを
より使いやすくするため奮闘中!
改造したり、root取ったり
色々やってます。

カテゴリ
最新記事
最新コメント
月別アーカイブ
最新トラックバック
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。