• ベストアンサー

マクロ

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

質問者が選んだベストアンサー

  • ベストアンサー
  • nak777r
  • ベストアンサー率36% (49/136)
回答No.2

普通に Range プロパティや Cells プロパティに値をセットして Column で取ればいいのではないでしょうか Range("Z1").Column 26 (列目)が返る Cells(1,"AA").Column 27 (列目)が返る

その他の回答 (2)

  • ytsg
  • ベストアンサー率58% (7/12)
回答No.3

質問の解釈が誤りならスルーしてください。 相対的な位置を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)
回答No.1

こういうことですか? Range(RefEdit1.Value).Column