본문 바로가기
WeekdayLife/excel

[엑셀VBA] 셀 행/열 너비/높이 복사하기

by JO_i 2022. 12. 6.

셀 너비/높이 복사하기

표를 이리 저리 복사를 하다보면, 셀의 너비와 높이가 엉망이 될때가 있다. 적어도 너비는 복사할때 옵션 중에 선택하는 항목이 있다고 하지만, 높이는 그때 그때, 높이를 확인해서 바꿔줘야 한다.

 

열심히 일을 하다보면 이렇게 되지 않을까?

 

 

단순하게, 선택영역의 높이와 너비 값을 동일하게 복사해주면 좋겠다 싶었다. 단, 두개의 영역을 선택해야하는데, 원본과 대상이다. 이 또한 귀찮다고 하면 할 말은 없다. 일단 원본 테이블 영역을 복사한다.

 

 

 

다음, 대상영역을 선택해준다.

 

 

 

여러가지 선택옵션이 있으면 더 귀찮아지기 때문에, 여기까지만 했다.

 

 

 

막상 사용자 폼 버튼에 등록하려고 하니, 귀찮음이 엄습한다. 몇개 몰아서 한꺼번에 해야겠다.

 

 

Sub copyWidthHeight()

Dim rArea As Range
Dim tArea As Range


On Error GoTo dd:
Set rArea = Application.InputBox("복사할 영역을 선택하세요.", , , , , , , 8)
Set tArea = Application.InputBox("대상 영역을 선택하세요.", , , , , , , 8)

If rArea.Count = tArea.Count Then

    For idx = 1 To tArea.Count

        refwidth = rArea(idx).ColumnWidth
        refheight = rArea(idx).RowHeight
       
        With tArea(idx)
          .RowHeight = refheight
          .ColumnWidth = refwidth
        End With

    Next idx

Else: MsgBox ("복사된 영역과 대상 영역의 크기가 다릅니다.")

End If

dd:

End Sub

 

 

 

끝.