画像をエクセルに貼り付けるマクロ
複数の画像をエクセルに貼り付ける機会が多く、下記のマクロを利用しています。これは他人が作ったものでその人が今はいないため修正の仕方がわかりません。
これだとヨコに2個の画像で縦方向に画像が貼り付けられます。これをヨコに3個の画像で
縦方向に画像を貼り付けるようにしたいのですが、方法がわかりません。
お詳しい方どうかよろしくお願いします。
<現在>
1 2
3 4
5 6
<やりたいこと>
1 2 3
4 5 6
7 8 9
Sub Insertpic()
Dim strFilter As String
Dim Filenames As Variant
Dim pic As picture
Dim sc As Range
Dim i As Long
Dim j As Long
Dim k As Long
'「ファイルを開く」ダイアログでファイル名を取得
strFilter = "画像ファイル(*.jpg;*.jpeg;*.gif;*.bmp;*.png),*.jpg;*.jpeg;*.gif;*.bmp;*.png"
Filenames = Application.GetOpenFilename( _
FileFilter:=strFilter, _
Title:="画像の挿入(複数画像が選択できます)", _
MultiSelect:=True)
If Not IsArray(Filenames) Then Exit Sub
' 貼り付け開始セルを選択
'ActicveCellRange("C5").Select
' マクロ実行中の画面描写を停止
Application.ScreenUpdating = False
' 順番に画像を挿入
For i = LBound(Filenames) To UBound(Filenames)
Set pic = ActiveSheet.Pictures.Insert(Filenames(i))
'画像の大きさ指定
With pic.ShapeRange
.Height = 120#
.Width = 175#
.Rotation = 0#
End With
' 次の貼り付け先を選択
Select Case i Mod 2
Case 1 '奇数回目
ActiveCell.Offset(, 4).Select
Case 0 '偶数回目
ActiveCell.Offset(11, -4).Select
End Select
Set pic = Nothing
Next i
' 終了
Application.ScreenUpdating = True
MsgBox i - 1 & "枚の画像を挿入しました", vbInformation
End Sub
No.2
- 回答日時:
Excel2007以降でも正常に貼り付けできようにするには、さらに
With pic.ShapeRange
.Height = 120#
.Width = 175#
.Rotation = 0#
End With
を
With pic.ShapeRange
.Height = 120#
.Width = 175#
.Rotation = 0#
.Left = ActiveCell.Left
.Top = ActiveCell.Top
End With
としておいた方がよさそうです。
No.1ベストアンサー
- 回答日時:
Select Case i Mod 2
Case 1 '奇数回目
ActiveCell.Offset(, 4).Select
Case 0 '偶数回目
ActiveCell.Offset(11, -4).Select
End Select
の部分を
以下のように修正するだけでOKです。
Select Case i Mod 3
Case 2
ActiveCell.Offset(, 4).Select
Case 1
ActiveCell.Offset(, 4).Select
Case 0
ActiveCell.Offset(11, -8).Select
End Select
どうもありがとうございました。無事におもったことができました。
もうひとつわかれば教えていただきたいのですが、
これで貼り付けると、ひとつのフォルダ内にいれた複数の写真で、一番最後の写真が一番最初に貼り付けられてしまいます(例えば、画像ファイル名が1、2、3、4、5とあると、5、1、2、3、4)という順番で張り付いてしまいます。1、2、3、4、5の順番ではりつけることができれば嬉しいです。
お探しの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(エクセル) 【マクロ】スクショ印刷がうまく動かない件 5 2022/12/06 17:37
- Visual Basic(VBA) Excel vbaについての質問 3 2023/04/18 16:14
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Excel(エクセル) EXCELのグラフを画像(JPG形式)で保存、通常実行がうまく行かない。ステップインはうまく行く 3 2022/08/30 12:06
- その他(Microsoft Office) マクロVBAについて 1 2022/09/06 18:12
- Visual Basic(VBA) VBAが止まります。 3 2022/08/31 14:09
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
男の人はやってるとき 彼女がす...
-
彼と体の相性が良すぎて悩んで...
-
女性が喘いでいるときの男性の...
-
高校生です。彼氏の前で初めて...
-
抱きしめたときに勃起したあそ...
-
男性の方に質問です。 バックで...
-
もし週1しか恋人と会えなかった...
-
夫婦の夜の営みについてです。 ...
-
彼女が感じやすくて可愛い
-
彼氏と毎日セックスするのは異...
-
男の人ってなんですぐ勃つの?...
-
ふぇらでイカセテくれる うまい...
-
クンニしたことある人ー ま○こ...
-
彼氏のセックスが下手すぎで幻...
-
キスすれば相手を好きでなくて...
-
彼女がフェラをしてくれません。
-
兄妹や姉弟で、キスやエッチし...
-
セックス中に動画や写真を撮る...
-
実家住まいの場合Hはホテル以外...
-
SEXの相性が良すぎると男はダメ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
男の人はやってるとき 彼女がす...
-
彼と体の相性が良すぎて悩んで...
-
高校生です。彼氏の前で初めて...
-
女性が喘いでいるときの男性の...
-
夫婦の夜の営みについてです。 ...
-
抱きしめたときに勃起したあそ...
-
彼氏と毎日セックスするのは異...
-
彼女が感じやすくて可愛い
-
もし週1しか恋人と会えなかった...
-
男の人ってなんですぐ勃つの?...
-
クンニしたことある人ー ま○こ...
-
男性の方に質問です。 バックで...
-
兄妹や姉弟で、キスやエッチし...
-
SEXの相性が良すぎると男はダメ...
-
彼氏のセックスが下手すぎで幻...
-
初体験って気持ちいいの? 男の...
-
男性に質問です! 電話だけで勃...
-
キスすれば相手を好きでなくて...
-
ふぇらでイカセテくれる うまい...
-
彼氏が勃っていました。 高校生...
おすすめ情報