
こんにちは。VBAマクロを少しかじっています。
顔写真付きの従業員の検索システムを作りました。名前を入力(選択)したら、データシートから職員コード、住所、電話番号などの情報を検索し検索画面に表示します。この際、別のシートに顔写真を貼り付けたもの(1セルに1枚。セルに従業員名を入力してある。)から、VLOOKUP関数を使ってセル照会することで、画像も同時に表示することができます。
別の職員に切り換えたり、クリアする場合の画像の処理は、削除用のシートを用意し、そこにセルごと移動し、終了時にシートごと削除する方法をとりました。(当然、確認用のダイアログボックスが表示されます。)
前置きが長くなりましたが、問題は、用済みの画像を選択するプロシージャがあれば、あえて削除用のシートを用意する必要はありません。セルの場合は、Rangeプロパティやcellsプロパティで特定できますが、画像などのオブジェクトをセル番地などを使って特定する方法ってあるのでしょうか。
因みに、画像の選択処理を、マクロ記録でプロシージャを作成したら、
ActiveSheet.Shapes("Picture 1").Select などとなります。
よろしくお願いします。
No.4
- 回答日時:
A No.2です。
>逆にセル位置から、図形の選択(特定)する方法があれば助かります。
総当たりと記したのは、例えばB3のセルに左上がかかった図形があったとして、全ての図形について検査して、
shp.TopLeftCell.Column = 2 かつ、
shp.TopLeftCell.Row = 3 の時に、
shp.delete すれば良いという事です。
50個以上あるとの事ですので、若干時間がかかるかもしれません。
もう一つ考えられるのは、図形をシート上に設置する際に、選択された状態で、自分の管理し易い名前に付け替えて管理する方法です。
mitarashi様 重ねてのご教授恐れ入ります。
内容は何となく分かりますが、いざ構文となれば、現時点ではgive upです。これからもっと勉強してスキルアップを図っていきたいと思います。お礼が遅くなりましたが、改めて感謝申し上げます。本当にありがとうございました。
No.2
- 回答日時:
総当たりで条件に合致するものを見つける方法で良いなら、下記の様に図形の左上がかかるセルの番地等を取得できます。
Sub test()
Dim shp As Shape
For Each shp In ActiveSheet.Shapes
Debug.Print shp.TopLeftCell.Address
Debug.Print shp.TopLeftCell.Column
Debug.Print shp.TopLeftCell.Row
Next
End Sub
早速のご回答ありがとうございます。
質問の仕方が悪かったと反省しています。
逆にセル位置から、図形の選択(特定)する方法があれば助かります。
ご教示いただいたマクロ文は今後の参考にさせていただきます。
お礼が遅くなって申し訳ありませんでした。
No.1
- 回答日時:
直接の回答ではありませんが、マクロを使うのではなく、名前定義や図のリンク貼り付けを活用して写真を表示させる方法はいかがでしょうか?
↓のページにその方法についての説明がありますので、ご覧ください。サンプルファイルも置いてあります。
エクセル技道場-数式で図形表示
http://www2.odn.ne.jp/excel/waza/function.html#S …
参考URL:http://www2.odn.ne.jp/excel/waza/function.html#S …
ご教示ありがとうございます。
写真表示はマクロ表示で可能となっており、削除のための図形(写真)を特定する方法がないかというのが、質問の趣旨でした。質問が冗長になってしまって分かりづらかったと思います。
なお、ご紹介いただいたサイトは今後の参考にさせていただきます。
お礼が遅くなって申し訳ありませんでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Visual Basic(VBA) エクセルマクロでアニメを作る方法を教えてください。 1 2023/02/07 14:27
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/02 10:20
- Excel(エクセル) エクセル バーコード作成で他のシートを参照するには? 2 2023/05/03 16:57
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Excel(エクセル) excelで検索した商品の画像(ネットワーク上の)を表示させたい。 3 2023/06/28 00:32
- Excel(エクセル) Excelのマクロについて教えてください。 4 2022/05/31 14:07
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 3 2022/06/10 09:24
このQ&Aを見た人はこんなQ&Aも見ています
-
Excel VBAでセル内の画像を選択したい
Excel(エクセル)
-
【ワード】マクロで画像を選択する
Word(ワード)
-
エクセルマクロでシート内にある画像のみを選択する
Excel(エクセル)
-
-
4
ワードマクロで画像を選択する方法
Word(ワード)
-
5
エクセルVBAの線オブジェクト一括選択法
Visual Basic(VBA)
-
6
特定の名前のオートシェイプの有無を知りたい(エクセルVBA)
Excel(エクセル)
-
7
【VBA】3個の図形をコピーしてSheet2に貼り付けたい
Excel(エクセル)
-
8
別ブックをダイアログボックスで指定してそこにあるシートをコピーしたい
Excel(エクセル)
-
9
VBAで選択した画像を貼り付けたい
Excel(エクセル)
-
10
VBAでセルを指定した画像のコピー&ペーストを繰り返したい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Office2021のエクセルで米国株...
-
Excelの「0」だけ非表示、小数...
-
Excelシートの保護時にデータの...
-
エクセルで1月0日と表示される!!
-
Excelで複数シートの選択セルを...
-
ExcelでTODAY関数を更新させな...
-
エクセルで条件に一致したセル...
-
iPhoneのExcelアプリで、別のシ...
-
ファイル起動時、毎回 シート1...
-
Excelでスクロールすると文字が...
-
日付が未入力の際はゼロか、空...
-
エクセルで、加筆修正したセル...
-
エクセルで指定のセルのみ完全...
-
エクセルVBA「リストボックスで...
-
エクセルで複写のように自動入...
-
エクセルで、勤務表から 日付...
-
エクセルの文字
-
マクロ 新しいシートにデータ...
-
シート参照で変数を使いたい(EX...
-
エクセル複数シート(1年)に1...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
iPhoneのExcelアプリで、別のシ...
-
Excelの「0」だけ非表示、小数...
-
Excelで複数シートの選択セルを...
-
Excelシートの保護時にデータの...
-
エクセルで条件に一致したセル...
-
エクセルで1月0日と表示される!!
-
日付が未入力の際はゼロか、空...
-
ExcelでTODAY関数を更新させな...
-
EXCELのハイパーリンクのセルを...
-
別シートのセルを絶対参照にする
-
Excelでスクロールすると文字が...
-
複数シートの同じセル内容を1シ...
-
マクロ 新しいシートにデータ...
-
エクセルで複写のように自動入...
-
エクセルで、加筆修正したセル...
-
エクセル ハイパーリンクで画像...
-
ハイパーリンク で『指定された...
-
エクセルで20万行あるシート...
-
エクセルで特定のセルの値を別...
-
INDIRECT(空白や()がある文字列...
おすすめ情報