
いつもお世話になっております。
エクセルに画像を取り込み、指定範囲内に収まるように貼り付けたいのですが、いろいろ調べ、横向きの画像をセルに挿入することはできたのですが、縦向きの画像を横向きに右に90°回転させて挿入するのができません。
●横向きの画像挿入
Sub 横向き写真挿入()
Dim fName As Variant
Dim pict As Shape
fName = Application.GetOpenFilename("JPG,*.jpg", MultiSelect:=True)
If IsArray(fName) Then
For i = 1 To UBound(fName)
With ActiveCell
Set pict = ActiveSheet.Shapes.AddPicture(Filename:=fName(i), LinkToFile:=False, SaveWithDocument:=True, _
Left:=.Left, Top:=.Top, Width:=.MergeArea.Width, Height:=.MergeArea.Height)
End With
ActiveCell.Offset(2, 0).Activate
Next i
End If
End Sub
●縦向き画像の挿入
①いったん別セルに挿入し、範囲内にある画像を選択
Sub 範囲内画像の選択()
Dim C As Shape
For Each C In ActiveSheet.Shapes
If Not Intersect(C.TopLeftCell, Range("AA5:AD20")) Is Nothing _
And Not Intersect(C.BottomRightCell, Range("AA5:AD20")) Is Nothing Then
C.Select False
End If
Next C
End Sub
②選択した画像を右に90°回転
Sub 右に回転()
Selection.ShapeRange.IncrementRotation 90
End Sub
③指定セルに移動
Sub 移動()
With Selection
.Left = Range("C4").Left
.Top = Range("C4").Top
End With
End Sub
希望としては、
・ボタンを押したときにデスクトップが開くようにしたい(今はドキュメントが開きます)
・①~③の構文を1つにつなげたい
・横向きの画像を取り込んだときのように、スムーズに縦向きの画像を取り込みたい
よろしくお願いいたします。

No.1ベストアンサー
- 回答日時:
こんにちは
元の画像のプロポーションとは関係なしに、セルサイズに合わせてしまっても良いものと解釈しました。
(ご提示のコードがそうなっているようなので…)
以下、90度回転させる場合の一例です。
(表示先の指定が不明なので、ひとまず ActiveCell にしてあります)
Sub Sample_12090491()
Dim p As String, pic As Shape
With Application.FileDialog(msoFileDialogFilePicker)
.InitialFileName = CreateObject("WScript.Shell").SpecialFolders("Desktop")
.Filters.Add "Images", "*.jpg; *.jpeg", 1
.Show
If .SelectedItems.Count = 0 Then Exit Sub
p = .SelectedItems(1)
End With
With ActiveCell.MergeArea
Set pic = ActiveSheet.Shapes.AddPicture( _
fileName:=p, _
LinkToFile:=False, _
SaveWithDocument:=True, _
Left:=.Left + (.Width - .Height) / 2, _
Top:=.Top + (.Height - .Width) / 2, _
Width:=.Height, Height:=.Width _
)
pic.Rotation = 90
End With
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) 【VBA】写真の縦横比を変えずに貼り付ける 5 2023/06/13 11:42
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
- Excel(エクセル) Excel2019 マクロを使用し画像を貼り付けした際のリンク切れについて 2 2022/11/15 16:14
- Excel(エクセル) エクセルで同じ数字同士を自動で線で結ぶVBAを教えてください 6 2022/04/26 23:13
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Excel(エクセル) 【マクロ】スクショ印刷がうまく動かない件 5 2022/12/06 17:37
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) excel2021で実行できないマクロ。どこを直したらいいのか 2 2022/03/28 03:40
- Excel(エクセル) EXCEL マクロで行を挿入して貼り付けようとするとエラーになる。 2 2022/05/24 09:43
このQ&Aを見た人はこんなQ&Aも見ています
-
【VBA】写真の縦横比を変えずに貼り付ける
Visual Basic(VBA)
-
【VBA】写真の貼り付けコードがうまく機能しません。
Visual Basic(VBA)
-
VBA 写真の挿入 回転
その他(Microsoft Office)
-
-
4
エクセルVBAで画像を回転させる方法
Excel(エクセル)
-
5
エクセルマクロでシート内にある画像のみを選択する
Excel(エクセル)
-
6
エクセル(2013)VBA-図の縦横比を変えずにセルにおさまる最大限の大きさにする
Excel(エクセル)
-
7
VBAのユーザーフォームのイメージコントロールに読み込んだ画像を左に90°回転させたい
Visual Basic(VBA)
-
8
Excel に貼り付けた図形が、保存した後、再度、開くと勝手に動いている。
Excel(エクセル)
-
9
VBAエクセルに貼り付けた画像をセルにあった大きさにしたい(等倍)
Excel(エクセル)
-
10
VBAで写真を設定したフレームに挿入しようとしたが、Rotation=90の場合うまくいかない
Excel(エクセル)
-
11
エクセルVBA 画像を貼り付けるセル位置を指定する方法
Excel(エクセル)
-
12
VBAで特定のセルに画像があれば削除、なければ貼り付けを行いたい
Excel(エクセル)
-
13
VBAによるセル内の画像の位置調整
Excel(エクセル)
-
14
マクロを実行すると画像がズレてしまいます
その他(Microsoft Office)
-
15
EXCELのVBAで画像を選んだ順に貼り付ける方法
Excel(エクセル)
-
16
エクセル ユーザーフォームにオートシェープ(図形)を貼り付けるこは可能なのでしょうか?
Excel(エクセル)
-
17
回転させた画像を左上のセルにフィットさせたい
Excel(エクセル)
-
18
Excel マクロ 画像をリンクせずかつ圧縮して貼りつける方法を教えてください
Excel(エクセル)
-
19
VBAでエクセルのシート上の画像のリサイズと配置を行いたい
Excel(エクセル)
-
20
エクセルで画像を挿入し保存した後再度開くと画像が勝手に回転してしまいます。どう対処いたらいいか教えて
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで枠飾り
-
大学のレポートを書くためにWor...
-
[WORD]図の書式設定の初期値
-
VideoStudioでオリジナルロゴを...
-
EXCELのフッターにオートシェイ...
-
エクセル■写真を挿入しようとす...
-
PowerDirector 11で空白時間の挿入
-
マクロ(word)を教えてください
-
EXCELにjpg画像を挿入...
-
Wrodのことです。
-
エクセルでテキストボックス内...
-
Word VBA 写真 挿入
-
エクセルで写真帳
-
Dreamweaverのイメージ挿入
-
VBAなどでファイル名の入力...
-
手描きの図を挿入できるような...
-
Latexの図の挿入 pdf化でき...
-
ワードでカレンダー作り
-
ワード2003の画像について
-
ワード2010「図を挿入する」でd...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで枠飾り
-
大学のレポートを書くためにWor...
-
エクセルのフッター(右)に入...
-
EXCELにjpg画像を挿入...
-
エクセルのフッダーに四角で囲...
-
ヘッダーとフッダーの縦書き方法
-
PowerDirector 11で空白時間の挿入
-
写真9枚をA4紙に配置したい。
-
エクセルで写真の挿入 セルの中...
-
フッターを「最前面」に
-
エクセルVBAで縦向きの画像の挿...
-
OO.oのDrawで挿入絵の背景を透...
-
EXCELのフッターにオートシェイ...
-
GoodNotes5で、画像を複数選択...
-
保存や挿入などフォルダを開く...
-
VBAで特定のセルに画像があれば...
-
エクセルで作成した文に柄・模...
-
エクセル2007へPDFファイルの挿...
-
Excelに複数の写真を挿入する場合…
-
Accessで請求書に印鑑を...
おすすめ情報