안녕하세요
오늘은 엑셀에서 그림의 위치를 구해보고자 합니다.
그림의 위치를 구할 때에 그림이 위치한 셀 위치를 구하거나 절대위치를 구하는 두가지 방법이 있습니다.
1. 먼저 셀의 위치를 구하는 방법은 다음과 같습니다.
For Each Pic In ActiveSheet.Pictures
Cells(1, 2) = Pic.TopLeftCell.Address
즉 그림 개체의 좌상단이 속해있는 셀의 위치를 가져오구요
그림에서 보시는 바와 같이 'C1' 위치를 가져옵니다.
Cells(2, 2) = Pic.BottomRightCell.Address
그림 개체 우하단의 셀의 위치를 가져옵니다.
'F6' 이 되겠죠
추가적으로 그림이 위치한 셀영역을 선택하려고 하면 이렇게 하시면 됩니다.
Range(Pic.TopLeftCell.Address, Pic.BottomRightCell.Address).Select
2. 절대 위치를 구하는 방법은 다음과 같습니다.
For Each Pic In ActiveSheet.Pictures
Cells(3, 2) = Pic.Top
즉 그림 개체의 상단의 절대위치를 가져오고요.
Cells(4, 2) = Pic.Left
그림 개체의 좌측 절대위치를 가져옵니다.
Cells(5, 2) = Pic.Height
그림 개체의 좌측 절대위치를 가져옵니다.
Cells(6, 2) = Pic.Width
그림 개체의 좌측 절대위치를 가져옵니다.
3. 실행결과입니다.
그림의 좌상단(C1)과 우하단(F6) 셀의 위치를 잘 가져왔고요
또한 상단(10.5), 좌측(174), 높이(148.5), 너비(163.5) 의 절대 위치를 가져왔습니다.
VBA 코드입니다.
참고바랍니다.
Sub Ext()
For Each Pic In ActiveSheet.Pictures
Cells(1, 2) = Pic.TopLeftCell.Address
Cells(2, 2) = Pic.BottomRightCell.Address
Cells(3, 2) = Pic.Top
Cells(4, 2) = Pic.Left
Cells(5, 2) = Pic.Height
Cells(6, 2) = Pic.Width
Next
End Sub
'엑셀 > VBA' 카테고리의 다른 글
[VBA] 엑셀 그림 일괄 저장하기 (0) | 2020.08.20 |
---|---|
[VBA] 명단에 사진 자동으로 넣기 (0) | 2020.07.02 |
[VBA] 사용자 정의 함수 만들기(sum함수) (0) | 2019.12.28 |