• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:結合セルが連続して複数存在する場合。)

vbaで単体の結合セルを抽出する方法

このQ&Aのポイント
  • vbaを使用してExcel2003の環境で、単体の結合セルを抽出する方法について教えてください。
  • 結合セルが連続して複数存在する場合に、vbaで単体の結合セルを抽出する方法についてのソースコードが提供されています。
  • 提供されたソースコードを使用することで、指定した範囲内で連続している結合セルを検出し、単体の結合セルを抽出することができます。Excelのバージョンによってコードの動作が異なるため、注意が必要です。

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

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.2

>でどのようにしたら単体の結合セルが抽出できるでしょうか 「単体の結合セル」の意味するところがよくわからないけれど、結合セルのRangeごとに控えておきたいということでしょうか? ◆とりあえず、それぞれの結合セルの左上のアドレスを配列に保管する例 全セルに対して走査しているので、ちょっと効率が悪いかも… (サイズも保管するのなら、MergeAreaの.Rows.Count、.Columns.Countで取得可能です。  でも、結合状態が変化することがないのならサイズは不要でしょう。) 対象はActiveSheetのUsedRangeになっていますが適宜修正してください。 Sub sample()  Dim MergeArray() As String  Dim c As Range, rng As Range, n As Integer  n = 0  For Each c In ActiveSheet.UsedRange   If (c.MergeCells And c.Address = c.MergeArea.Item(1).Address) Then    n = n + 1    ReDim Preserve MergeArray(1 To n)    MergeArray(n) = c.Address   End If  Next c End Sub

qrost24i
質問者

お礼

すいません。返信が遅くなりました。 色々試したのですが、うまく行きませんでした。 ちなみに、これ自体に取り組む必要がなくなったので 機会があるときにまたやってみます。 ありがとうございました。

その他の回答 (1)

回答No.1

Option Explicit Sub Main() MsgBox (Cells(1, 1).MergeArea.Rows.Count) End Sub 'みたいな感じで、連結行数数えられない? 'http://cid-b89cb784f5346675.office.live.com/browse.aspx/TestCase/Q6226119?uc=1

qrost24i
質問者

お礼

すいません。返信が遅くなりました。 色々試したのですが、うまく行きませんでした。 ちなみに、これ自体に取り組む必要がなくなったので 機会があるときにまたやってみます。 ありがとうございました。

関連するQ&A