掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
マージセルの範囲 (ID:91864)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
とりあえず、関係ないところから。 変数に使ってる Mage → Merge Call → Cell(s) はスペルミス?知っててやってるなら 他人が見た時に混乱するからやめた方が いいです。 変数の接頭詞 log は Lng(Long) と紛らわしいので微妙。 本題。 MergeArea のヘルプに書いてあるけど、 戻り値は Range です。つまり質問は [Excel VBA] Dim A As Excel.Range Set A = Sheets("Sheet1").Range("$B$3").MergeArea Debug.Print A.Address で、A の範囲が $B$2:$E$6 と出力された時、カラムの番号 B → 2 E → 5 を求めたい。現状は Dim S As String S = A.Address(ReferenceStyle:=xlR1C1,RowAbsolute:=True,ColumnAbsolute:=False) ColumnAbsolute:=False を設定する事で R1C1 形式のアドレスに 大括弧("["と"]")がつく事を利用して InStr で大括弧を探して 求めている。 …と言ってくれれば伝わります。 [サンプルプログラム] Sub Test() Dim A As Excel.Range Dim S As String Set A = Range("$A$3") Debug.Print A.Address S = A.Address(ReferenceStyle:=xlR1C1, RowAbsolute:=True, ColumnAbsolute:=False) Debug.Print S Debug.Print A.Column & " , " & (A.Column + A.Columns.Count - 1) Debug.Print "" Set A = Range("$D$100:$K$200") Debug.Print A.Address S = A.Address(ReferenceStyle:=xlR1C1, RowAbsolute:=True, ColumnAbsolute:=False) Debug.Print S Debug.Print A.Column & " , " & (A.Column + A.Columns.Count - 1) Debug.Print "" End Sub [出力] >$A$3 >R3C >1 , 1 > >$D$100:$K$200 >R100C[3]:R200C[10] >4 , 11 >
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.