まえきんブログ

*日常・趣味・体験談・スキルアップ(Excel VBA ×ビジネス統計スペシャリスト)についての雑記ブログ*

【Excel VBA学習 #28】数値から列番号を調べる

まえきんです!

今回は数値から列番号を調べる方法について学習しましたのでご紹介します。

f:id:maekinblog:20210127221746p:plain

行の数値は行番号があるのですぐにわかりますが、列の位置を数値で

指定する場合簡単にはいきません。今回は、列番号の数値がどこの列を

表しているかを調べてみます。

例えば42番目の列はどこになるでしょうか。

地道に数えるのも一つの手ですが、もっと数が多くなるととても数え切れません。

そこで、セルのアドレスを利用することを考えます。

まずCells(1,42).Adrressで1行目42列目セルのアドレスを取得します。

結果は「$AP$1」となります。今欲しい情報は列番号のAPですから、

これを抜き出すということを次に考えます。これにはSplit関数が有効です。

この関数の詳細は、調べてみたところ下記のサイトで詳しく

解説されていましたのでURL貼っておきます。

よかったら覗いてみてください(^^) 

列名を取得、列番号を取得(Address プロパティ,Column プロパティ) | ExcelWork.info

「$AP$1」の「$」を分割します。分割した結果は配列形式になり、

最初に見つかった区切り文字の位置で分割されます。

作成される配列は動的配列で、最初のインデックスは0からスタートします。

列番号を表す文字列は下記の通り配列の中の2番目の要素となるため、

配列番号1を指定します。

配列(0) ←""

配列(1) ←“AP”

簡易的にマクロの実行ボタンを作成して、上記のコードを

実行すると下記のように結果が得られます。

【実行前】

f:id:maekinblog:20210127224916p:plain

【実行後】

f:id:maekinblog:20210127224926p:plain

42列目はAP列であることが分かりました!Split関数と配列の考え方は

未だに慣れませんが、ガンバってマスターしていきたいところです。

最後まで読んで頂きありがとうございました!ではまた!

--------------------------------------------------------------------------------------------------

こちらのカテゴリ・過去の記事も

よろしければ是非よろしくお願いします(^^)

スキルアップ.Excel VBA(検証編) カテゴリーの記事一覧 - まえきんブログ (hatenablog.jp)

スキルアップ.Excel VBA(書籍編) カテゴリーの記事一覧 - まえきんブログ (hatenablog.jp)

--------------------------------------------------------------------------------------------------