いつもお世話になっております。
エクセルに画像を取り込み、指定範囲内に収まるように貼り付けたいのですが、いろいろ調べ、横向きの画像をセルに挿入することはできたのですが、縦向きの画像を横向きに右に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 写真の挿入 回転
その他(Microsoft Office)
-
【VBA】写真の縦横比を変えずに貼り付ける
Visual Basic(VBA)
-
マクロを実行すると画像がズレてしまいます
その他(Microsoft Office)
-
-
4
VBAのユーザーフォームのイメージコントロールに読み込んだ画像を左に90°回転させたい
Visual Basic(VBA)
-
5
EXCEL2007で、回転された図を任意の場所に設定できない
Visual Basic(VBA)
-
6
VBAエクセルに貼り付けた画像をセルにあった大きさにしたい(等倍)
Excel(エクセル)
-
7
【VBA】写真の貼り付けコードがうまく機能しません。
Visual Basic(VBA)
-
8
エクセル 画像のプロパティで縦横比を固定する。 これをVBAでコードにできますか? 知ってる方おられ
Visual Basic(VBA)
-
9
回転させた画像を左上のセルにフィットさせたい
Excel(エクセル)
-
10
Excel に貼り付けた図形が、保存した後、再度、開くと勝手に動いている。
Excel(エクセル)
-
11
Excel VBAでセル内の画像を選択したい
Excel(エクセル)
-
12
Excel マクロ 画像をリンクせずかつ圧縮して貼りつける方法を教えてください
Excel(エクセル)
-
13
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
14
Excel 画像貼り付けのVBAについて
Excel(エクセル)
-
15
Excel2019 マクロを使用し画像を貼り付けした際のリンク切れについて
Excel(エクセル)
-
16
エクセルVBAで画像を回転させる方法
Excel(エクセル)
-
17
EXCELのVBAで画像を選んだ順に貼り付ける方法
Excel(エクセル)
-
18
VBAで選択した画像を貼り付けたい
Excel(エクセル)
-
19
エクセルマクロでシート内にある画像のみを選択する
Excel(エクセル)
-
20
VBA Shapes コピーと名前
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで枠飾り
-
大学のレポートを書くためにWor...
-
PowerDirector 11で空白時間の挿入
-
エクセルVBAで縦向きの画像の挿...
-
エクセルのフッダーに四角で囲...
-
エクセル2007にてピアノの図柄...
-
ヘッダーとフッダーの縦書き方法
-
エクセルで作成した文に柄・模...
-
エクセルのフッター(右)に入...
-
写真9枚をA4紙に配置したい。
-
エクセルで写真の挿入 セルの中...
-
Win11で使える写真整理ソフトを...
-
Accessで請求書に印鑑を...
-
OO.oのDrawで挿入絵の背景を透...
-
Wordに貼り付ける図の初期設定変更
-
EXCELのフッターにオートシェイ...
-
一太郎8:文書下にした画像を...
-
ワードやエクセルに画像ファイ...
-
ワードで図のサイズを固定して...
-
エクセルマクロでサイズを指定...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで枠飾り
-
エクセルのフッダーに四角で囲...
-
エクセルで写真の挿入 セルの中...
-
PowerDirector 11で空白時間の挿入
-
エクセルのフッター(右)に入...
-
エクセルVBAで縦向きの画像の挿...
-
Win11で使える写真整理ソフトを...
-
フッターを「最前面」に
-
写真9枚をA4紙に配置したい。
-
EXCELのフッターにオートシェイ...
-
ヘッダーとフッダーの縦書き方法
-
EXCELにjpg画像を挿入...
-
エクセルで作成した文に柄・模...
-
OO.oのDrawで挿入絵の背景を透...
-
VBAで特定のセルに画像があれば...
-
Accessで請求書に印鑑を...
-
Wordに貼り付ける図の初期設定変更
-
Word~図の挿入のレイアウトを...
-
Wordに画像挿入。複数を一気に...
-
保存や挿入などフォルダを開く...
おすすめ情報