- ベストアンサー
セルのアドレスから行、列番号を取得
セルのアドレス(例えば"AA123")から、行番号"123",列番号"AA"を取り出す方法って皆さんどのようにしていますか?お知恵を拝借したいと思います。 宜しくお願い致します。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
#03です。aという変数に"AA123"のようなアドレスを表す文字列が入っているとして 123は Range(a).Row AAは Mid(Range(a).Address, 2, Application.Find("$", Range(a).Address, 2) - 2) ではどうでしょうか。
その他の回答 (3)
- zap35
- ベストアンサー率44% (1383/3079)
補足要求です。 まずこの質問はVBAの話ですか、ワークシート関数の話ですか? それによって回答が変わると思います。次に >セルのアドレス(例えば"AA123")から、行番号"123",列番号"AA"を取り出す の意味は 1)"AA123"という文字列を"AA"と"123"に分離する 2)"AA123"というセルアドレスの行番号123と列番号26を取得する のどちらですか? もう少しやりたいことを具体的に書いていただくと助かります
お礼
質問の仕方が悪くて真に申し訳ありませんでした。 でも、おかげで、VBAからワークシート関数の内、Rowは使えないことが分かりました。 有難う御座いました。
補足
すみません。VBAの話です。 "AA123"の文字列から、"AA"と"123"の文字列を取得したいのですが??? 宜しくお願いします。
- mshr1962
- ベストアンサー率39% (7417/18945)
123なら =ROW(AA123) で可能 AAは =SUBSTITUTE(ADDRESS(1,COLUMN(AA123),4),"1","") ※自セルの場合は()内のセル座標は省略可能
列番号"AA"はわかりませんが、 ROW関数で行番号 COLUMNS関数で列番号 がとれます。
お礼
いち早く、ご指導して頂いたのに、質問の仕方が悪くて申し訳ありませんでした。 また、点数の割り振りが2名までなので、割り当てられなく申し訳ありませんでした。 今後とも宜しくお願い致します。
補足
早速のご指導有難う御座います。 大変助かりました。 "AA”に関しては、教えて頂いた内容を参考にして、 temp=Replace("AA123",Range("AA123").Row,"") とすることに決めました。 本当に有難う御座いました。まだまだ、オブジェクト指向って意味が分かっていないことが痛感しました。今後とも有難う御座います。