로그인 유지
2013.03.15 01:06
사랑님..
반갑습니다. 이왕이면 가입하셔서 질문하시면 좋을텐데.. ㅎㅎ
암튼.. 나그네에게도 친절한 아별이므로 답변 드립니다. ^^
지금보니 원본 코드가 좀 간결하지 못하네요.. @_@;;
간결하게 고쳐보면 아래와 같습니다.
Sub arrangeImageToCenter()
'### Created by Joowon Oh @ abyul.com
'### created 2011.10.12, updated 2013.03.15
Dim s As Shape, r As Range
Dim ws As Worksheet: Set ws = ActiveSheet
For Each s In ws.Shapes
Set r = s.TopLeftCell
If r.Column = 1 Then
s.Left = r.Left + (r.Width - s.Width) / 2
s.Top = r.Top + (r.Height - s.Height) / 2
End If
Next s
End Sub
위 코드에서 "r.Column = 1" 부분의 숫자 1은
A열을 의미하는 것이므로.. 2나 3으로 바꾸면 2번째열 3번째 열 정렬도 가능합니다.
특정 열에 상관없이 전부 정렬하려면 아래처럼 하시면 되겠죠..
IF조건을 빼버리면 됩니다.
도움이 되셨기를.. ^^
새 창으로
선택한 기호
사랑님..
반갑습니다. 이왕이면 가입하셔서 질문하시면 좋을텐데.. ㅎㅎ
암튼.. 나그네에게도 친절한 아별이므로 답변 드립니다. ^^
지금보니 원본 코드가 좀 간결하지 못하네요.. @_@;;
간결하게 고쳐보면 아래와 같습니다.
Sub arrangeImageToCenter()
'### Created by Joowon Oh @ abyul.com
'### created 2011.10.12, updated 2013.03.15
Dim s As Shape, r As Range
Dim ws As Worksheet: Set ws = ActiveSheet
For Each s In ws.Shapes
Set r = s.TopLeftCell
If r.Column = 1 Then
s.Left = r.Left + (r.Width - s.Width) / 2
s.Top = r.Top + (r.Height - s.Height) / 2
End If
Next s
End Sub
위 코드에서 "r.Column = 1" 부분의 숫자 1은
A열을 의미하는 것이므로.. 2나 3으로 바꾸면 2번째열 3번째 열 정렬도 가능합니다.
특정 열에 상관없이 전부 정렬하려면 아래처럼 하시면 되겠죠..
IF조건을 빼버리면 됩니다.
Sub arrangeImageToCenter()
'### Created by Joowon Oh @ abyul.com
'### created 2011.10.12, updated 2013.03.15
Dim s As Shape, r As Range
Dim ws As Worksheet: Set ws = ActiveSheet
For Each s In ws.Shapes
Set r = s.TopLeftCell
s.Left = r.Left + (r.Width - s.Width) / 2
s.Top = r.Top + (r.Height - s.Height) / 2
Next s
End Sub
도움이 되셨기를.. ^^