画像の挿入とサイズ変更に関するさまざまなスレッドをよく読んでいますが、私が望んでいることを正確に実行するスレッドを見つけることができません。
つまり、2行のスプレッドシートがあるとします。画像列である列Aと画像名である列B。
列Bの各値を実行し、その名前に一致する画像を列Aの同じ行に挿入し、高さ150 x幅18のセルのサイズに合わせてサイズを変更してから、移動するスクリプトが必要です。次の行に進み、スプレッドシートを繰り返します。
これは、変更可能なセル範囲 (B1:B100) を反復処理し、1 列左のセル (列 A から) のファイル名を使用し、セル内に収まるように画像のサイズを変更するサンプルです。 B列に。
Sub InsertPic()
Dim pic As String 'file path of pic
Dim myPicture As Picture 'embedded pic
Dim rng As Range 'range over which we will iterate
Dim cl As Range 'iterator
Set rng = Range("B7:B7")
For Each cl In rng
pic = cl.Offset(0, -1)
Set myPicture = ActiveSheet.Pictures.Insert(pic)
'
With myPicture
.ShapeRange.LockAspectRatio = msoFalse
.Width = cl.Width
.Height = cl.Height
.Top = Rows(cl.Row).Top
.Left = Columns(cl.Column).Left
End With
'
Next
End Sub
このコードには、無効なファイル名を説明するためのエラー処理がありません。おそらくそれを追加する必要があります。