【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集

マクロのユーザーフォームに関してですが,RefEditコントロールで選択したセル範囲を取得したのですが,ここで取得したセル範囲が[A1:B10]のような形になっています.そこで,知りたいことが例えば[A]が何列目になるかということです.何か関数があればご教示頂けないでしょうか?

よろしくお願いいたします.

A 回答 (3件)

普通に Range プロパティや


Cells プロパティに値をセットして
Column で取ればいいのではないでしょうか


Range("Z1").Column
26 (列目)が返る

Cells(1,"AA").Column
27 (列目)が返る
    • good
    • 1

質問の解釈が誤りならスルーしてください。



相対的な位置をVlookUpか何かで利用するために知りたい、ということですか?
(例えばD列の位置が何列目か知りたくて、
RefEditコントロールで取得した範囲がB1:F20ならD列は3列目、
取得した範囲がC1:Z10ならD列は2列目
ということですか?)

そうであれば
Range("D1").Column - Range(Me.RefEdit1).Cells(1, 1).Column + 1
で何列目か分かります。

Range(Me.RefEdit1).Cells(1, 1) ・・・RefEdit1で選択された範囲の一番最初のセルを表します。
これの列番号は、前の方が回答されているようにColumnプロパティで
Range(Me.RefEdit1).Cells(1, 1).Column とすれば選択範囲の左端の列番号が分かります。

知りたい列の列番号との差を求めれば、その範囲で何列目か求めることができます。

(左端の列を0番目とするなら最後の +1 は必要ありません)
    • good
    • 1

こういうことですか?



Range(RefEdit1.Value).Column
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報