MergeArea와 VBA Excel에서 병합 된 셀을 감지합니다
문제
이 문제가 발생했습니다. Excel 테이블에서 수평 및 수직으로 병합 된 셀을 감지해야합니다.나는 첫 번째 셀 좌우와 병합 된 지역의 길이를 저장해야합니다.나는 둘 사이클 2 회, 라인에 의해 선으로 줄이있는 테이블을 반복합니다.
MergeArea 속성을 어떻게 사용하여 병합 및 병합 된 영역을 감지 할 수 있습니까? 셀이 병합되지 않으면 빈 범위를 반환해야합니다.
"currentrange가 아무것도 없으면"
가 전혀 작동하지 않습니다.어떤 아이디어가 있습니까? 감사합니다.
해결책
이 코드의 몇 장의 코드가 있습니다.
커서를 병합 셀에 놓고 이들 질문을 inmmidiate 창에서 묻습니다.
activeCell 병합 된 셀은 무엇입니까?
? 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로 표시된대로 선택한 셀로 작동하는 동안 유용 할 수 있으므로 사용할 수있는 유일한 옵션이 아닙니다.
범위 () 처럼
처럼 사용할 수 있습니다.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