|
ㅁ 님이 쓰신 글 :
: 최춘원 님이 쓰신 글 :
: : ole로 엑셀파일을 로드했을시에 셀병합한 셀들의 정보를 가지고 올수 있는 방법이 있나요?
: : 여기저기서 조사해봣는데 잘 모르겟네요..^^;;
: : 혹시 아시는 분 있으시면 조언좀 해주세요.
:
: 병합된 셀들을 모은 컬렉션 등은 없는 것 같더군요.
:
: Worksheet 개체의 UsedRange 속성으로 각 워크시트의 사용 영역을 알아낸 다음
: 그 영역 내의 Cell 별로 MergeCells 속성을 검사하여 값이 True이면 해당 셀은 병합된 셀이며 해당 셀과 함께 병합된 셀들은 MergeArea 속성 또는 Address 메서드로 알아냅니다.
:
:
: Sub macro1()
: Dim ma As Range
: Dim Sheet2 As Worksheet
: Dim Sheet3 As Worksheet
: Set Sheet2 = Worksheets("Sheet2")
: Set Sheet3 = Worksheets("Sheet3")
: Set usedrnge = Sheet2.UsedRange
: Sheet3.Cells(1, 1).Value = usedrnge.Address
: For r = 1 To usedrnge.Rows(usedrnge.Rows.Count).Row
: For c = 1 To usedrnge.Columns(usedrnge.Columns.Count).Column
: If Sheet2.Cells(r, c).MergeCells = True Then
: Set ma = Sheet2.Cells(r, c).MergeArea
: Sheet3.Cells(r, c).Value = Chr(Asc("A") - 1 + ma.Columns.Column) & ma.Rows.Row & " ~ " & Chr(Asc("A") - 1 + ma.Columns(ma.Columns.Count).Column) & ma.Rows(ma.Rows.Count).Row
: End If
: Next c
: Next r
: Sheet3.Activate
: End Sub
|