- ベストアンサー
マクロ
マクロのユーザーフォームに関してですが,RefEditコントロールで選択したセル範囲を取得したのですが,ここで取得したセル範囲が[A1:B10]のような形になっています.そこで,知りたいことが例えば[A]が何列目になるかということです.何か関数があればご教示頂けないでしょうか? よろしくお願いいたします.
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
普通に Range プロパティや Cells プロパティに値をセットして Column で取ればいいのではないでしょうか Range("Z1").Column 26 (列目)が返る Cells(1,"AA").Column 27 (列目)が返る
その他の回答 (2)
- ytsg
- ベストアンサー率58% (7/12)
質問の解釈が誤りならスルーしてください。 相対的な位置を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 は必要ありません)
- o_chi_chi
- ベストアンサー率45% (131/287)
こういうことですか? Range(RefEdit1.Value).Column