超初級者ですよろしくお願い申し上げます。
下記は、マクロの自動記録で任意のフォルダを指定してマクロ記録で写真を張り付けるマクロです。
自動記録の場合、リンクとして挿入されるようで、環境が変わると画像がリンク切れになります。
それで、調べると、Shapes.AddPictureメソッドにしないとだめみたいのですが
どうしたらいいのでしょうか。
====================================
Sub 図面貼り付け()
Dim folderPath As String
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show = True Then folderPath = .SelectedItems(1)
End With
If folderPath = "" Then Exit Sub
Range("B11:F41").Select
ActiveSheet.Pictures.Insert("D:\xlsx\tesuto\output_1.jpg").Select
Selection.ShapeRange.IncrementLeft 17.25
Selection.ShapeRange.IncrementTop 15.75
Range("G11:K41").Select
ActiveSheet.Pictures.Insert("D:\xlsx\tesuto\output_2.jpg").Select
Selection.ShapeRange.IncrementLeft 19.5
Selection.ShapeRange.IncrementTop 14.25
End Sub
No.1ベストアンサー
- 回答日時:
こんにちは、
If folderPath = "" Then Exit Sub
Range("B11:F41").Select
ActiveSheet.Pictures.Insert("D:\xlsx\tesuto\output_1.jpg").Select
Selection.ShapeRange.IncrementLeft 17.25
Selection.ShapeRange.IncrementTop 15.75
を書き直すと
If folderPath = "" Then Exit Sub
Range("B11:F41").Select
ActiveSheet.Shapes.AddPicture _
Filename:=folderPath & "\output_1.jpg", _
LinkToFile:=False, _
SaveWithDocument:=True, _
Left:=Selection.Left + 17.25, _
Top:=Selection.Top + 15.75, _
Width:=-1, _
Height:=-1 'Selection.Width Selection.Height
こんな感じですかね。
IncrementLeft 17.25は、Selection.Left + 17.25で良いと思います。
また、サイズに関しては、設定する必要があります。
取敢えず、Width:=-1 は、元画像のサイズで貼り付けられます。Selection.Widthとすると選択範囲の巾サイズ
あと、folderPathを作成しているのに反映されていませんので、勝手に反映させました。
同様にoutput_2.jpgに対して書き加えれば良いと思いますが、サイズに関しては不明なので設定してください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) マクロで最終行を取得してコピーしたい 3 2022/04/06 19:07
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) データのある範囲を選択するVBAについて 2 2022/09/03 00:20
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Excel(エクセル) 【マクロ】スクショ印刷がうまく動かない件 5 2022/12/06 17:37
- Visual Basic(VBA) Excel VBAの解読について質問があります。 概要は、マクロでチェックボックスにチェックすると日 1 2023/02/10 07:50
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/13 08:41
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) ExcelVBA No.を自動連番で設定をしながらデータ入力をしたい 2 2022/08/03 18:19
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
Excel2019 マクロを使用し画像を貼り付けした際のリンク切れについて
Excel(エクセル)
-
【VBA】写真の縦横比を変えずに貼り付ける
Visual Basic(VBA)
-
マクロで画像挿入→エラー「リンクされたイメージを表
Excel(エクセル)
-
-
4
VBAの内容の修正をお願いさせて頂きます
Excel(エクセル)
-
5
マクロを実行すると画像がズレてしまいます
その他(Microsoft Office)
-
6
Excel マクロ 画像をリンクせずかつ圧縮して貼りつける方法を教えてください
Excel(エクセル)
-
7
Excel VBA 見本通りに入力してもエラーがでます どこがいけないのでしょうか
Excel(エクセル)
-
8
エクセル マクロ 相対パスから画像を読み込みたいです。
その他(Microsoft Office)
-
9
VBAエクセルに貼り付けた画像をセルにあった大きさにしたい(等倍)
Excel(エクセル)
-
10
【EXCEL VBA】ダブルクリックでセルのサイズに合わせて画像を挿入に機能を追加したいです。
Visual Basic(VBA)
-
11
Excel VBAでセル内の画像を選択したい
Excel(エクセル)
-
12
エクセルVBAで縦向きの画像の挿入・回転
Excel(エクセル)
-
13
[VB.net] Excelへの画像貼り付け処理についての疑問
Visual Basic(VBA)
-
14
VBA ユーザーフォームのChangeイベントを停止したい
Access(アクセス)
-
15
エクセルマクロでシート内にある画像のみを選択する
Excel(エクセル)
-
16
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
17
UserForm1.Showでエラーになります。
工学
-
18
マクロで画像挿入→エラー「リンクされたイメージを表示できません」
Excel(エクセル)
-
19
エクセル フォルダの画像を画像名で検索して貼り付け
Excel(エクセル)
-
20
エクセルvbaでの図形のカット(コピー)ペーストについて
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数のデータ系列の線の太さを...
-
エクセルでツールバーに「縮小...
-
ファイル名を今日の日付、時刻...
-
VBAを使ってエクセルシート...
-
ピボットグラフの書式の固定に...
-
Powerpointでランダムな数字の...
-
別ブックからユーザーフォーム...
-
VBA[Private Sub]のコードをシ...
-
エクセル2007 テキストボ...
-
VBAでこのような図形の移動はで...
-
Word VBAでWindows media playe...
-
ユーザーフォームを「Esc」キー...
-
Pictures.Insertメソッド⇒Shape...
-
エクセルシートをまとめて印刷...
-
Excelのマクロで最下行を選択し...
-
エクセルで「ODBC Microsoft Ac...
-
EXCEL マクロ クリップボードク...
-
エクセルファイルを自身のファ...
-
エクセル終了時の保存確認メッ...
-
EXCELで日付を自動でファイル名...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数のデータ系列の線の太さを...
-
エクセルでツールバーに「縮小...
-
cellsで特定の離れた範囲を選択...
-
ファイル名を今日の日付、時刻...
-
Powerpointでランダムな数字の...
-
VBA[Private Sub]のコードをシ...
-
エクセルシートをまとめて印刷...
-
エクセル2007 テキストボ...
-
別ブックからユーザーフォーム...
-
ピボットグラフの書式の固定に...
-
VBAを使ってエクセルシート...
-
エクセルのマクロでSelection.S...
-
最初の1回のみにボタンクリッ...
-
VBAに詳しい方教えてください。
-
VBAをVBに変換する方法
-
エクセルワークシート上に印刷...
-
Pictures.Insertメソッド⇒Shape...
-
【ExcelVBA】クエリの更新とピ...
-
エクセルVBAで、画像の倍率を知...
-
エクセル vba クリック~離し...
おすすめ情報