[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『任意のセル範囲に画像をドラッグ&ドロップした時、画像を検知』(shoji)
B11:I32のセル範囲に、画像もしくは図形がドラッグ&ドロップ(D&D)された時、どの画像がドロップされたのかを検知し、R11のセルに画像によって文章を入力。
例えば、
画像1がドロップされたなら「画像1が追加されました」。
図2がドロップされたなら「図2が追加されました」。
という感じです。
ドロップされた画像はそのまま残したいです。
上記を実現したのですが、方法はありますでしょうか?
VBAは苦手で良く分かっていないと思うので、説明が下手かと
思いますが、どうか宜しくお願い致します。
□=セル
■=画像もしくは図形
(B11:I32のセル範囲) 画像1〜12
□□□□□□□□□ ■ ■ ■ ■
□□□□□□□□□
□□□□□□□□□ ■ ■ ■ ■
□□□□□□□□□
□□□□□□□□□ ■ ■ ■ ■
Sheet1内は上記のような感じになっています。
□のセル範囲内に■画像をD&Dした時の検知です。
現在のコードを下記に記載させて頂きます。
セル範囲内に画像がドロップされたことは検知してくれますが、
どの画像がドロップされたのかまでは、分かりません。
Sub Macro1()
Dim ws As Worksheet Dim shp As Shape Dim rng As Range Dim flg As Boolean
Set ws = ActiveSheet Set rng = Range("B11:I32")
Dim pic As String
For Each shp In ws.Shapes If Intersect(ws.Range(shp.TopLeftCell, shp.BottomRightCell), rng) Is Nothing = False Then
flg = True Exit For End If Next
If flg Then MsgBox "セル '" & rng.Address(False, False) & "' 上に画像があります。" Else MsgBox "セル '" & rng.Address(False, False) & "' 上には画像がありません。" End If
End Sub
< 使用 Excel:Excel2010、使用 OS:Windows7 >
「マクロ実行時に、オブジェクトが範囲内にあるかどうか判定している」
→仰る通りでございます。分かりやすい解釈をありがとうございます。
説明下手、また理解不足で申し訳ございません。
アドバイスを読ませて頂いただけでは、知識不足でイメージができませんでしたので
調べて実装して試してみます。
ありがとうございます。
(shoji) 2018/03/05(月) 18:09
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.