| 
    
     |  | ▼acs さん: 
 まず
 
 > Q.参照マクロで写真を貼りつけるとPC1(Win10,2010)だと問題ないのですが
 > PC2(Win7,2010)はちょっとだけ大きくなり、PC3(Win7,Excel2007)だと横長になってしまいます。これは仕方のないことなのでしょうか?
 
 私が持っている環境は win7+xl2010とwin10+xl2013 のみですが、大きさに関しては
 あまり気にしたことはありません。厳密に測れば、ちょっとは差異があるのかもしれませんが。
 
 で、xl2007 に関しては、こと、図にかんしては(それ以外にも不具合多々あるようですが)
 バグだらけのようですので、比較の対象にはされないほうがよろしいかと思います。
 
 いずれにしても A1 にのみ写真を貼り付けるサンプルです。
 
 Sub Sample()
 Dim pic As Picture
 Dim f As Variant
 Dim Target As Range
 
 'A1の画像を削除
 For Each pic In ActiveSheet.Pictures
 If pic.TopLeftCell.Address = "$A$1" Then pic.Delete
 Next
 
 Set Target = Range("A1")
 
 f = Application.GetOpenFilename _
 ("jpg bmp tif png gif,*.jpg;*.bmp;*.tif;*.png;*.gif", , "画像の選択", , False)
 If f <> False Then
 With ActiveSheet.Shapes.AddPicture(Filename:=f, LinkToFile:=False, _
 SaveWithDocument:=True, Left:=Target.Left, Top:=Target.Top, _
 Width:=-1, Height:=-1)   '-1 元の大きさで貼り付け
 '===============タテヨコの縮尺を保持して拡大または縮小
 .LockAspectRatio = True   '縦横比率の維持(念のため)
 .Width = .Width * 0.3
 End With
 End If
 
 End Sub
 
 |  |