0
私はマージされたセルに画像を配置する2つの異なるサブタイプを持っています。ファイルの選択方法は、サイズにかかわらず、マージされたセルの高さと幅の両方に合わせて画像を歪ませます。ただし、貼り付けのバージョンは、幅が&の高さにはなりません。プログラミングコード内で最後に使用されたのはこれだけです。サブペーストを調整して幅と高さに合わせて画像を歪ませるにはどうしたらいいですか?マージされたセルバグに収まるように画像貼り付け
Sub FromFile()
Dim sFileName As String
Dim oShape As Shape
If TypeName(ActiveSheet) <> "Worksheet" Then Exit Sub
sFileName = Application.GetOpenFilename(_
FileFilter:="Images (*.gif;*.jpg;*.png), *.gif;*.jpg;*.png", _
FilterIndex:=1, _
Title:="Insert Picture", _
ButtonText:="Insert", _
MultiSelect:=False)
If sFileName = "False" Then Exit Sub
With ActiveCell.MergeArea
ActiveSheet.Shapes.AddPicture _
Filename:=sFileName, _
LinkToFile:=msoFalse, _
SaveWithDocument:=msoTrue, _
Left:=.Left, _
Top:=.Top, _
Width:=.Width, _
Height:=.Height
End With
End Sub
Public Sub Paste()
Dim p As Picture
Dim s As Shape, rng As Range
Set rng = Range("MyMerge")
For Each s In ActiveSheet.Shapes
If Intersect(rng, s.TopLeftCell) Is Nothing Then
Else
s.Delete
End If
Next s
Worksheets("Report").Range("MyMerge").Select
With ActiveCell.MergeArea
Set p = .Parent.Pictures.Paste
p.Left = .Left
p.Top = .Top
p.Height = .Height
p.Width = .Width
End With
End Sub
おそらく、サイズを変更する前に 'p.Shaperange.lockaspectratio = False'を追加しますか? – Rory
@Roryこれはうまくいきました! Shaperange.lockaspectratioを共有していただきありがとうございます。私はそれがオプションであるかどうかわかりませんでした。私はあなたに報いることができるように答えの形であなたのコメントを配置してください。ありがとうございました。 – Amasian21
.Parent.Pictures.Paste <~~貼り付ける前に画像をコピーする必要があります。 –