1. 아별툴
  2. 아별툴 패밀리
  3. 엑셀 질문하기
  4. 엑셀 강좌
  5. 엑셀 팁
  6. 엑셀 자료실
  7. 엑셀 연구과제
  8. 엑셀 북마크
  9. 관련 프로그램 소개

[레벨:30]아별

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

            s.Left = r.Left + (r.Width - s.Width) / 2

            s.Top = r.Top + (r.Height - s.Height) / 2                

    Next s

End Sub


도움이 되셨기를.. ^^

문서 첨부 제한 : 0Byte/ 2.00MB
파일 제한 크기 : 2.00MB (허용 확장자 : *.*)