
こんにちは。
excel初心者、VBA初心者です。
セルをダブルクリックで、画像を選択し貼りつけるのに、
下記のコードを使っています。
これはネットで見つけてコピペしたものです。
今回困っている事は、このコードが全のセルに対応してしまうことです。
B列のみに対応させて使いたいのですが、コードの変更の仕方が分かりません。
教えていただきたいです。宜しくお願いします。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
Cancel = True
'===============画像選択
myF = Application.GetOpenFilename _
("jpg bmp tif png gif,*.jpg;*.bmp;*.tif;*.png;*.gif", , "画像の選択", , False)
If myF = False Then
MsgBox "画像を選択してください(終了)"
Exit Sub
End If
'===============画像の掃除
For Each mySP In ActiveSheet.Shapes
myAD1 = mySP.TopLeftCell.MergeArea.Address
myAD2 = Target.Address
If myAD1 = myAD2 Then mySP.Delete
Next
'===============画像の貼り付け
Set mySP = ActiveSheet.Pictures.Insert(myF)
'===============タテヨコの縮尺を保持
myHH = Target.Height / mySP.Height
myWW = Target.Width / mySP.Width
If myHH > myWW Then
mySP.Height = mySP.Height * myWW
mySP.Width = Target.Width
Else
mySP.Height = Target.Height
mySP.Width = mySP.Width * myHH
End If
'===============中央へ調整
myHH2 = (Target.Height / 2) - (mySP.Height / 2)
myWW2 = (Target.Width / 2) - (mySP.Width / 2)
mySP.Top = Target.Top + myHH2
mySP.Left = Target.Left + myWW2
Set mySP = Nothing
End Sub
No.1ベストアンサー
- 回答日時:
こんにちは
>B列のみに対応させて使いたいのですが
Targetにダブルクリックされたセルが渡されますので、その列をチェックしてB列以外は何もしないようにすれば良いでしょう。
具体的には、Cancel = True の次に
' B列以外の場合は終了
If Target.Column <> 2 Then Exit Sub
などを入れておけばよろしいかと。
ご回答ありがとうございます!
さっそく試させていただきました。
他のセルに文字を入力する時に、何度も画像貼りつけのページが出てしまい
とても手間だったので助かりました。
ベストアンサーにさせていただきます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Excel(エクセル) Excel2019 マクロを使用し画像を貼り付けした際のリンク切れについて 2 2022/11/15 16:14
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
- PowerPoint(パワーポイント) ExcelのVBAコードについて教えてください。 3 2022/05/25 14:32
- Visual Basic(VBA) 【VBA】写真の縦横比を変えずに貼り付ける 5 2023/06/13 11:42
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2022/05/26 17:19
- Visual Basic(VBA) Excel vbaについての質問 3 2023/04/18 16:14
- Excel(エクセル) エクセルで同じ数字同士を自動で線で結ぶVBAを教えてください 6 2022/04/26 23:13
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
このQ&Aを見た人はこんなQ&Aも見ています
-
【EXCEL VBA】ダブルクリックでセルのサイズに合わせて画像を挿入に機能を追加したいです。
Visual Basic(VBA)
-
ダブルクリックで貼り付けた画像からリンクのみ削除し、画像を残したい
Visual Basic(VBA)
-
マクロ1があります。 A1のセルをダブルクリックすると、 マクロ1が動くような仕組みを 作成したいの
その他(Microsoft Office)
-
-
4
エクセルで簡単に写真を挿入したい
Excel(エクセル)
-
5
エクセルマクロでダブルクリックして画像貼り付けでサイズ設定したいです。
Excel(エクセル)
-
6
エクセルVBA 画像を貼り付けるセル位置を指定する方法
Excel(エクセル)
-
7
【VBA】写真の縦横比を変えずに貼り付ける
Visual Basic(VBA)
-
8
VBAでセルを指定した画像のコピー&ペーストを繰り返したい
Excel(エクセル)
-
9
エクセルでセルをクリックすると“○”と入力
Excel(エクセル)
-
10
Excel2019 マクロを使用し画像を貼り付けした際のリンク切れについて
Excel(エクセル)
-
11
VBA ファイルを開くダイアログでの初期表示にファイルサーバーを指定
Excel(エクセル)
-
12
セルに貼り付けた画像の上からダブルクリックを機能させたい
Visual Basic(VBA)
-
13
「Cancel = True」とはどういう意味でし
Word(ワード)
-
14
VBAで選択した画像を貼り付けたい
Excel(エクセル)
-
15
エクセル マクロ クリックしたセルの内容を貼り付け
Excel(エクセル)
-
16
EXCELに画像を貼り付けマクロの画像大きさ調整にについて教えてください。
その他(Microsoft Office)
-
17
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
18
Excel 画像貼り付けのVBAについて
Excel(エクセル)
-
19
エクセル ダブルクリック入力の範囲が複数の場合
Excel(エクセル)
-
20
【VBA】写真の貼り付けコードがうまく機能しません。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数の文字列のいずれかが含ま...
-
Excelの入力規則で2列表示したい
-
Excel上でのデータ数字が連番で...
-
SUMに含まれる範囲から特定のセ...
-
Excelでの検索結果を含む行だけ...
-
列の数字に100をかけたい
-
エクセルで曜日に応じた文字を...
-
数式が入ったセルを含めて、数...
-
エクセルで既に入力済みの列の...
-
入退社日より各月末の在籍者数...
-
セルをダブルクリックで、画像...
-
エクセル:横長の表を改行して...
-
「エクセル」特定の行(セル)...
-
Excelのセル内文字の並び替えに...
-
スペースとスペースの間の文字...
-
Excelでセル同士のうちで、一部...
-
EXCELのAVERAGEIF関数で#DIV/0!...
-
時間を「昼間」と「夜間」に分...
-
エクセルにデータを入力すると...
-
別のセルに値が入力されたら、...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelの入力規則で2列表示したい
-
複数の文字列のいずれかが含ま...
-
SUMに含まれる範囲から特定のセ...
-
数式が入ったセルを含めて、数...
-
Excel上でのデータ数字が連番で...
-
Excelでの検索結果を含む行だけ...
-
エクセルで曜日に応じた文字を...
-
「エクセル」特定の行(セル)...
-
エクセル:横長の表を改行して...
-
エクセルでセルの値分の個数の...
-
エクセルで表示されている数字...
-
スペースとスペースの間の文字...
-
列の数字に100をかけたい
-
エクセルで、毎日の走行距離(...
-
エクセルのsumifでかけ算してか...
-
時間を「昼間」と「夜間」に分...
-
エクセルのVLOOKUP関数について
-
Excelのセル内文字の並び替えに...
-
エクセルにデータを入力すると...
-
別のセルに値が入力されたら、...
おすすめ情報