매크로에서 그래픽 자르기 (Microsoft Excel)
John은 종종 스크린 샷을 Excel 통합 문서에 붙여 넣습니다. 그는 항상 이러한 그래픽을 설정된 양만큼 네면에서 모두 잘라야합니다. 그는이 작업을 자주 수행하기 때문에 매크로에서 쉽게 수행 할 수있는 방법이 있는지 궁금합니다.
이 문제를 해결할 수있는 방법에는 여러 가지가 있으며 모두 매크로를 사용합니다. (이러한 작업을 수행하는 기본 제공 명령은 없습니다.) 이미 추가 한 그래픽을 자르려면 다음과 같은 간단한 매크로를 사용하면됩니다.
Sub CropPicture() With Selection.ShapeRange.PictureFormat .CropLeft = 200 .CropTop = 300 .CropBottom = 50 .CropRight = 100 End With End Sub
물론 자르기에 대한 값을 지정해야합니다. 이러한 값은 포인트 단위로 지정되며 사진의 원래 크기를 기준으로합니다. 예를 들어 이전에 선택한 사진을 원래 크기의 150 %로 조정 한 다음이 매크로를 실행하면 모든 자르기 설정이 실제 값의 1.5 배로 표시됩니다. (예를 들어 왼쪽 자르기는 200 픽셀이 아니라 300 픽셀로 표시됩니다.)
매크로는 붙여 넣기를 수행 한 다음 자동으로 이미지를 자르도록 쉽게 수정할 수 있습니다. 한 줄 붙여 넣기 명령을 추가하면됩니다.
Sub PasteCropPicture() ActiveSheet.Paste With Selection.ShapeRange.PictureFormat .CropLeft = 200 .CropTop = 300 .CropBottom = 50 .CropRight = 100 End With End Sub
매크로는 이전에 스크린 샷을 클립 보드에 복사했다고 가정합니다. 그렇게하지 않고 실행하려고하면 오류가 발생할 수 있습니다.
다음과 같은 매크로를 실행할 때 기억해야 할 또 다른 사항이 있습니다.
완료되면 이미지가 워크 시트의 원래 위치에서 이동 한 것으로 나타납니다. 이는 네면에서 모두 자르면 이미지의 왼쪽 상단 모서리가 다른 위치로 변경되기 때문에 발생합니다. 원하는 경우 이미지의 왼쪽 상단 모서리를 “기억”하는 코드를 추가하여 매크로에서이를 보완 할 수 있습니다.
Sub CropPositionPicture() Dim MyShape As Shape Dim LeftSide As Single Dim TopSide As Single Set MyShape = Selection.ShapeRange LeftSide = MyShape.Left TopSide = MyShape.Top With MyShape.PictureFormat .CropLeft = 200 .CropTop = 300 .CropBottom = 50 .CropRight = 100 End With MyShape.Left = LeftSide MyShape.Top = TopSide End Sub
물론, 어떻게 선택하든 상관없이 그래픽 자르기를 선택할 때 기억해야 할 한 가지가 있습니다. 자르기는 이미지 크기에 영향을주지 않습니다. 예를 들어 화면의 절반 만 보이도록 스크린 샷을 자르면 스크린 샷의 모든 “보이지 않는”부분이 그대로 남아 공간을 차지합니다. 이로 인해 통합 문서의 전체 크기가 추가되며 때로는 놀랍습니다.
이 문제를 해결하는 유일한 방법은 Excel 내에서 그래픽을 자르지 않는 것입니다.
대신 그래픽 프로그램에서 이미지를 처리하고 처리 된 이미지를 저장 한 다음 처리 된 이미지를 워크 시트에 삽입하십시오. 그 결과 통합 문서가 작아 져서 저장 및로드 속도가 빨라집니다.
_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.
이 팁 (11580)은 Microsoft Excel 2007, 2010, 2013 및 2016에 적용됩니다.