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에 적용됩니다.