
Excelのシートに以下のマクロを組みましたが、空白でダブルクリックして、写真選択。
写真をダブルクリックで貼付けまではいいのですが、画像にリンクが設定されてしまい、
元データを削除すると、貼り付けた画像まで消えてしまいます。
マクロは、詳しくないので、貼り付ければいいようにお願いいしたいです。
よろしくお願い致します。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, _
Cancel As Boolean)
Dim PicFile As Variant
Dim rX As Double, rY As Double
'[ファイルを開く]ダイアログボックスを表示
PicFile = Application.GetOpenFilename( _
"画像ファイル,*.jpg;*.jpeg;*.gif;*.tif;*.png;*.bmp")
If VarType(PicFile) = vbBoolean Then Cancel = True: Exit Sub
Application.ScreenUpdating = False
'画像を挿入
With ActiveSheet.Pictures.Insert(PicFile)
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
Application.ScreenUpdating = True
Cancel = True
End Sub
No.2ベストアンサー
- 回答日時:
読み飛ばしてしまいました。
>マクロは、詳しくないので、貼り付ければいいようにお願いいしたいです。
With ActiveSheet.Pictures.Insert(PicFile)
下記に変更(1行のみ)
With ActiveSheet.Shapes.AddPicture(PicFile, msoFalse, msoTrue, Selection.Left, Selection.Top, -1, -1)
各パラメーターは、リファレンス参照してください。
No.1
- 回答日時:
こんにちは、
同様のご質問が最近多い様な。。
失礼しました。
ActiveSheet.Pictures.Inserを
ActiveSheet.Shapes.AddPicture
に変更してみてください。
メソッドにおけるパラメータは、下記を参考にしてみてください。
https://docs.microsoft.com/ja-jp/office/vba/api/ …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
Excel2019 マクロを使用し画像を貼り付けした際のリンク切れについて
Excel(エクセル)
-
マクロで画像挿入→エラー「リンクされたイメージを表
Excel(エクセル)
-
【VBA】写真の縦横比を変えずに貼り付ける
Visual Basic(VBA)
-
-
4
セルをダブルクリックで、画像を選択、挿入したい時
Excel(エクセル)
-
5
Excel マクロ 画像をリンクせずかつ圧縮して貼りつける方法を教えてください
Excel(エクセル)
-
6
Pictures.Insertメソッド⇒Shapes.AddPictureメソッドに変更したいです。
Visual Basic(VBA)
-
7
エクセルマクロでシート内にある画像のみを選択する
Excel(エクセル)
-
8
エクセル フォルダの画像を画像名で検索して貼り付け
Excel(エクセル)
-
9
セルに貼り付けた画像の上からダブルクリックを機能させたい
Visual Basic(VBA)
-
10
EXCELシートに貼り付けた図のリンク先の変更方法
Visual Basic(VBA)
-
11
VBAエクセルに貼り付けた画像をセルにあった大きさにしたい(等倍)
Excel(エクセル)
-
12
任意フォルダから画像をすべてエクセルの指定マスに貼り付けをしたい
Visual Basic(VBA)
-
13
エクセルのセルに指定画像(.jpg)を自動で貼り付けたいです。
Excel(エクセル)
-
14
エクセルにハイパーリンクで貼り付けた画像を 通常の埋め込み画像に変換したいのですが、方法が分かる方が
Excel(エクセル)
-
15
エクセルに貼付けた写真の容量(何バイトなのか)を確認する方法はありますか?
その他(パソコン・スマホ・電化製品)
-
16
VBAでセルを指定した画像のコピー&ペーストを繰り返したい
Excel(エクセル)
-
17
エクセルVBAで縦向きの画像の挿入・回転
Excel(エクセル)
-
18
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
19
画像を削除したい(VBA)
Word(ワード)
-
20
マクロを実行すると画像がズレてしまいます
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定のPCだけ動作しないVBAマク...
-
Excel・Word リサーチ機能を無...
-
一つのTeratermのマクロで複数...
-
エクセルで特定の列が0表示の場...
-
エクセルに張り付けた写真のフ...
-
メッセージボックスのOKボタ...
-
ExcelのVBA。public変数の値が...
-
Excel_マクロ_現在開いているシ...
-
Excel マクロ VBA プロシー...
-
オートフィルターとExcelマクロ...
-
IF関数を使ってマクロを実行さ...
-
エクセルのマクロでワードの任...
-
ExcelVBAの繰り返し処理でwebク...
-
Excelのセル値に基づいて図形の...
-
Excel マクロでShearePoint先の...
-
TERA TERMを隠す方法
-
ExcelVBAでPDFを閉じるソース
-
特定文字のある行の前に空白行...
-
ExcelVBA 図形をクリックした...
-
ピボットテーブルでの毎回可変...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで特定の列が0表示の場...
-
特定のPCだけ動作しないVBAマク...
-
Excel・Word リサーチ機能を無...
-
一つのTeratermのマクロで複数...
-
Excel_マクロ_現在開いているシ...
-
メッセージボックスのOKボタ...
-
Excel マクロ VBA プロシー...
-
ExcelのVBA。public変数の値が...
-
エクセルに張り付けた写真のフ...
-
エクセルで別のセルにあるふり...
-
ExcelVBAでPDFを閉じるソース
-
ダブルクリックで貼り付けた画...
-
Excel マクロでShearePoint先の...
-
TERA TERMを隠す方法
-
マクロ実行時、ユーザーフォー...
-
Excelのセル値に基づいて図形の...
-
特定文字のある行の前に空白行...
-
エクセルマクロでワードの一ペ...
-
エクセルで縦に並んだデータを...
-
Excel VBAからAccessマクロを実...
おすすめ情報