2017-03-10 37 views
0

Windows 10でExcel 2016を使用していて、セルB17に画像を挿入し、画像の左上隅をセルの左上隅に維持しながらサイズを変更したい場合B17 。一部の画像は左下隅にリサイズされ、他の一部は右上隅にリサイズされます。 msoScaleFromTopLeftを使ってみましたが、同じ写真を左下または右上に縮小して表示しています。Excel VBA msoScaleFromTopLeftが機能しません

は、ここに私のVBAマクロコードです:私は

Range("B17").Select 

ActiveSheet.Pictures.Insert(PhotoLocation).Select 'Insert photograph from file. 

Selection.ShapeRange.ScaleWidth 0.2, msoFalse, msoScaleFromTopLeft 

何をしないのですか? 誰かが私にこれを手伝ってもらえますか、あるいは私がしたいことをするための代替方法を提案できますか?

+1

次のリンクを見てみましょう...答えは範囲http://stackoverflow.com/questions/22073463/vba-excel-2010-に対して画像を配置埋め込みピクチャとサイズ変更 –

+0

@wayne下記のコメントを参照してください。ご協力いただきありがとうございます! – Wenger1988

答えて

0

あなたは別の何かを試すことができますSetあなたが挿入する画像へのオブジェクト(SelectSelectionを使用せずに)。

その後、With myPic、および以下のネストされたプロパティを使用してプロパティを変更できます。

コード

Sub SetPics() 

Dim myPic As Picture 
Dim PhotoLocation As String 
Dim Rng As Range 

Set Rng = Range("B17") 

Set myPic = ActiveSheet.Pictures.Insert(PhotoLocation) 
With myPic 
    .ShapeRange.ScaleWidth 0.2, msoFalse, msoScaleFromTopLeft 
    .Top = Rows(Rng.Row).Top 
    .Left = Columns(Rng.Column).Left 
End With 

End Sub 
+0

@ Wenger1988あなたは私の答えを見ましたか?あなたが意図したとおりにコードが動作するかどうか教えてください。 –

+0

応答ありがとうございますが動作しません。左下にサイズ変更されるピクチャと右上にサイズ変更されるピクチャの両方が、B17の左上隅の代わりにセルD15の中央に左上隅を持つようになります。私は何かをオンにしなければならない可能性はありますか? Wayne G. Dunnの反応もうまくいかない。 – Wenger1988

+0

私は問題を見つけたと思う。私が問題を抱えている写真は、自分のものよりも背が高い。 Excelに挿入すると、正しく表示されますが、90度か270度の回転を示します。 Excelは、それに基づいて内部の左上隅を決定するようだ。ピクチャの左上隅がセルD15の中央にあるとき、回転を0または180に変更すると、ピクチャの左上隅がセルB17の左上隅に正確に表示されます。しかし、写真は横向きです。どんな提案も大歓迎です。 – Wenger1988

関連する問題