MergeareaとのVBA Excelのマージされたセルを検出します
質問
私はこれにかなり問題を抱えています - 私はExcelテーブルから水平方向と垂直統合されたセルを検出する必要があります。私は最初の細胞座を保管しなければなりません、そして併合された地域の長所。私は2サイクルの2サイクル、行ごとに1行ずつテーブルを繰り返します。
マージされていない領域と非マージされていない領域を検出するには、Mergeareaプロパティを使用できますか? セルがマージされていない場合は、おそらく空の範囲を返す必要がありますが、これは次のようになります。
「CurrentRangeが何もない場合は
はまったく機能していません。何か案は? たくさんありがとう。
解決
これにはいくつかの役立つコードがあります。
マージセルにカーソルを配置して、この質問にイミジョンウィンドウに尋ねる:
ActiveCell Aマージセル?
? Activecell.Mergecells
True
.
マージされたセル数はいくつですか?
? Activecell.MergeArea.Cells.Count
2
.
列数の数?
? Activecell.MergeArea.Columns.Count
2
.
列の数?
? Activecell.MergeArea.Rows.Count
1
.
マージされた範囲アドレスは何ですか?
? activecell.MergeArea.Address
$F$2:$F$3
. 他のヒント
@ TBURで示すように選択されたセルを操作しながら便利な場合は、利用可能な唯一の選択肢でもありません。
range()のように使用できます。
If Worksheets("Sheet1").Range("A1").MergeCells Then
Do something
Else
Do something else
End If
.
または:
If Worksheets("Sheet1").Range("A1:C1").MergeCells Then
Do something
Else
Do something else
End If
.
交互に、セル()を使用できます。
If Worksheets("Sheet1").Cells(1, 1).MergeCells Then
Do something
Else
Do something else
End If
. 所属していません StackOverflow