문제

이 문제가 발생했습니다. 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
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top