Excel VBA 質問スレッド №2118 (解決済)
画像が指定したセルにおさまらない
投稿者 : ももネクター 投稿日時 : 2025/05/27(Tue) 13:48:50 OS : Windows 11 EXCEL : Excel 2021
素人です。
iphoneで撮影した縦型の画像(3024×4032)がセルから縦がはみ出ます。
(3120×4160の場合ははみ出ない)
解決策を教えてください。
-------------------------------------------------
-------------------------------------------------
素人です。
iphoneで撮影した縦型の画像(3024×4032)がセルから縦がはみ出ます。
(3120×4160の場合ははみ出ない)
解決策を教えてください。
-------------------------------------------------
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim i As Long Dim j As Long Dim FileName As Variant Dim rX As Double, rY As Double If ActiveCell.Value Like "ダブルクリックで*" Then FileName = Application.GetOpenFilename( _ FileFilter:="画像ファイル,*.bmp;*.jpg;*.gif", _ MultiSelect:=True) If Not IsArray(FileName) Then Exit Sub End If For Each sp In ActiveSheet.Shapes If sp.TopLeftCell.Column = 1 Then sp.Delete End If Next j = 1 For i = LBound(FileName) To UBound(FileName) With ActiveSheet.Shapes.AddPicture( _ FileName:=FileName(i), _ LinkToFile:=False, _ SaveWithDocument:=True, _ Left:=Selection.Left, _ Top:=Selection.Top, _ Width:=-1, _ Height:=-1) '縦横比を固定 .LockAspectRatio = msoTrue 'セルにあわせて移動やサイズ変更 .Placement = xlMoveAndSize '一旦、元のサイズに戻す .ScaleHeight 1, msoTrue .ScaleWidth 1, msoTrue rX = Target.Width / .Width rY = Target.Height / .Height If rX > rY Then .Height = .Height * rY Else .Width = .Width * rX End If 'セルの中央(横方向/縦方向の中央)に配置 .Left = Target.Left + (Target.Width - .Width) / 2 .Top = Target.Top + (Target.Height - .Height) / 2 End With j = j + 1 Next i Cancel = True End If End Sub
-------------------------------------------------
スポンサーリンク
[返信 1] Re : 画像が指定したセルにおさまらない
投稿者 : てらてら 投稿日時 : 2025/05/27(Tue) 19:52:19
こんにちは。
提示されたコードで試してみましたが正常に動作するようです。
iPhoneで撮影した縦型の画像という事なので、jpgでしたら横向き情報が付いているのかもしれません。
ペイントで保存し直すと治るかもしれません。
https://help-vba.com/jpg-rotate/
ちなみに横向き情報が付いた画像ではセルからはみ出ました。
外していたらごめんなさい。
こんにちは。
提示されたコードで試してみましたが正常に動作するようです。
iPhoneで撮影した縦型の画像という事なので、jpgでしたら横向き情報が付いているのかもしれません。
ペイントで保存し直すと治るかもしれません。
https://help-vba.com/jpg-rotate/
ちなみに横向き情報が付いた画像ではセルからはみ出ました。
外していたらごめんなさい。
[返信 2] Re : 画像が指定したセルにおさまらない
投稿者 : ももネクター 投稿日時 : 2025/05/28(Wed) 10:39:05
てらてらさん
ペイントで保存することで解決しました。
ありがとうございました。
てらてらさん
ペイントで保存することで解決しました。
ありがとうございました。
当掲示板について
- Excel VBA に関する掲示板です。Excel VBA に関する質問や疑問、それに対する解決方法など気軽に投稿してください。
- 記事内ではHTMLのタグは使用できません。
- 記事は一度投稿すると修正できません。内容を訂正したい場合は返信で対応してください。
- Sub〜End Sub、Function〜End Function は自動的にプログラムコードとみなし、枠で囲って見やすくします。
- Excel VBA とは関係ないことや、他人が不快に思うようなことなど、管理人が適当でないと判断した記事は削除する場合があります。
スポンサーリンク
返信入力フォーム
( 処理日時 : 2025-07-04 12:51:12 )