- ベストアンサー
vbaで単体の結合セルを抽出する方法
- vbaを使用してExcel2003の環境で、単体の結合セルを抽出する方法について教えてください。
- 結合セルが連続して複数存在する場合に、vbaで単体の結合セルを抽出する方法についてのソースコードが提供されています。
- 提供されたソースコードを使用することで、指定した範囲内で連続している結合セルを検出し、単体の結合セルを抽出することができます。Excelのバージョンによってコードの動作が異なるため、注意が必要です。
- みんなの回答 (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
その他の回答 (1)
- himajin100000
- ベストアンサー率54% (1660/3060)
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
お礼
すいません。返信が遅くなりました。 色々試したのですが、うまく行きませんでした。 ちなみに、これ自体に取り組む必要がなくなったので 機会があるときにまたやってみます。 ありがとうございました。
お礼
すいません。返信が遅くなりました。 色々試したのですが、うまく行きませんでした。 ちなみに、これ自体に取り組む必要がなくなったので 機会があるときにまたやってみます。 ありがとうございました。