Sub 사진넣기() Dim rngC As Range Dim strPath As String If TypeName(Selection) = "Range" Then Set rngC = Selection strPath = Application.Dialogs(xlDialogInsertPicture).Show If strPath = "False" Then Exit Sub Dim i As Long For i = 1 To Selection.Count With Selection(i) .ShapeRange.LockAspectRatio = msoFalse .Left = rngC.Offset(, i - 1).Left + 2 .Top = rngC.Offset(, i - 1).Top + 2 .Height = rngC.Offset(, i - 1).Height - 4 .Width = rngC.Offset(, i - 1).Width - 4 End With Next i Else MsgBox "영역을 선택하고 재실행" End If Set rngC = Nothing End Sub
질문하신 코드를 베이스로 답변 드려서 위와 같은 코드가 나왔구요..
사실 저는 아래와 같이 코딩하여 사용합니다.
Sub abInsertImagesOptional() Dim i As Long Dim objPicture As Object Dim rng As Range: Set rng = ActiveCell With Application.FileDialog(msoFileDialogFilePicker) If .Show = vbTrue Then For i = 1 To .SelectedItems.Count Set objPicture = rng.Parent.Shapes.AddPicture(Filename:=.SelectedItems(i), _ LinkToFile:=msoFalse, _ SaveWithDocument:=msoTrue, _ Left:=rng.Offset(i - 1).Left, _ Top:=rng.Offset(i - 1).Top, _ Width:=rng.Offset(i - 1).Width, _ Height:=rng.Offset(i - 1).Height) Next i End If End With End Sub
광택입니다님..
오랫만이시네요..
오랫만에 올리신 질문이라 첨부파일을 올려주시는걸 깜빡하셨나봅니다.
다음부터는 꼭 첨부파일로 올려주시기 바랍니다.
제가 답변을 달면 꼭 피드백을 댓글로 달아주세요..
원하시는 답변인지.. 잘 이해가 안된다든지.. 등등..
앞서 질문하신 10개의 질문에 대한 피드백이 2개밖에 없네요..
제가 어려운 부탁드리는건 아닌 것 같은데요..
혹시.. 어려우신가요?
암튼.. 답변 드립니다.
아래 녹색으로 표시한 부분처럼 수정하였습니다.
Sub 사진넣기()
Dim rngC As Range
Dim strPath As String
If TypeName(Selection) = "Range" Then
Set rngC = Selection
strPath = Application.Dialogs(xlDialogInsertPicture).Show
If strPath = "False" Then Exit Sub
Dim i As Long
For i = 1 To Selection.Count
With Selection(i)
.ShapeRange.LockAspectRatio = msoFalse
.Left = rngC.Offset(, i - 1).Left + 2
.Top = rngC.Offset(, i - 1).Top + 2
.Height = rngC.Offset(, i - 1).Height - 4
.Width = rngC.Offset(, i - 1).Width - 4
End With
Next i
Else
MsgBox "영역을 선택하고 재실행"
End If
Set rngC = Nothing
End Sub
질문하신 코드를 베이스로 답변 드려서 위와 같은 코드가 나왔구요..
사실 저는 아래와 같이 코딩하여 사용합니다.
Sub abInsertImagesOptional()
Dim i As Long
Dim objPicture As Object
Dim rng As Range: Set rng = ActiveCell
With Application.FileDialog(msoFileDialogFilePicker)
If .Show = vbTrue Then
For i = 1 To .SelectedItems.Count
Set objPicture = rng.Parent.Shapes.AddPicture(Filename:=.SelectedItems(i), _
LinkToFile:=msoFalse, _
SaveWithDocument:=msoTrue, _
Left:=rng.Offset(i - 1).Left, _
Top:=rng.Offset(i - 1).Top, _
Width:=rng.Offset(i - 1).Width, _
Height:=rng.Offset(i - 1).Height)
Next i
End If
End With
End Sub
둘다 참고하시기 바랍니다.
도움이 되셨기를..
그리고.. 피드백 댓글 꼭 달아주시길..