• ベストアンサー

エクセル2013VBA結合セルの間のセル位置取得

いつもお世話になってます。 エクセル2013VBAで質問です。 B3:B4セルが結合されています。また、C3:AG3セル(31セル分)も結合されています。 その時、C4:AG4セルを取得したいのですが位置がずれて思うように取得できません。 どのような指定をすればよろしいでしょうか? お手数ですがお願いいたします。 下記は試してみてだめだったもののうちの一つです。 Sub test() Range("B3").Offset(0, 1).MergeArea.Select Range("B3").Offset(1, 0).Resize(1, 31).Select End Sub

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

  • ベストアンサー
  • weboner
  • ベストアンサー率45% (111/244)
回答No.2

Range("B3").Offset(, 1).Offset(1).Resize(1, 31).Select こんな感じ?

hinoki24
質問者

お礼

どうもありがとうございました。 思い通りにいきました。単純に2行のを1行にまとめるだけでよかったのですね。

その他の回答 (2)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.3

>B3:B4セルが結合されています。 >C3:AG3セル(31セル分)も結合されています。 >その時、C4:AG4セルを取得したい 説明のための説明を書こうとして間違った説明を書いていませんか。 B3:B4が結合されていることと、C4:AG4を選択する事のつながりが全くありませんけど。 それでもとりあえずご相談に書かれている事が正しいとすれば、素直に各結合セル範囲の縦横数を拾い、その数だけの縦横範囲を選択しても良いと思います range("B3").offset(1, 1).resize(1, range("B3").offset(0, 1).mergearea.columns.count).select

hinoki24
質問者

お礼

説明が分かりにくかったようで、ごめんなさい。 まず基点となるセルを書いていませんでした。B3セルです。 そこから、単純にC4:AG4の位置を取得できる指定のやり方を知りたかったのです。 B3:B4やC3:AG3の結合の情報は必要かと思い書いておきました。 教えていただいたので試しましたが、C5:AG5を取得するようです。 ただ、他の方が教えていただいたやり方で取得できました。 どうもありがとうございました。

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.1

B3セルを起点にするのなら With Range("B3").MergeArea(1)   Cells(.Row + 1, .Column + 1).Resize(, 31).Select End With

hinoki24
質問者

お礼

基点セルを書いていませんでした。B3ですね。 このような指定の仕方があるのですね。 ばっちりとれました。 どうもありがとうございました。

関連するQ&A

専門家に質問してみよう