
お世話になります。
Web上で「【画像付き】Excelで画像もVLOOKUPさせたいとき。」
https://qiita.com/Cremokoroah/items/bb3bd9777604 …
というページを参照し、このページの通り画像をVLOOKUP関数のように
切り替えられるようになりました。
ここまでは問題ありません。
ですが、枠のコピーが出来ません。
※「枠」というのは表示された画像を入れ替えるセルのことです。
上記のページの言葉を引用しました。
やってみたのですがコピー元の表示中の画像が表示されたままで
「▽」ボタンでリスト表示された名前を選択することが出来るのですが
別の名前を選択しても選択した画像が表示されません。
枠をコピーした(貼り付けた)方のセルには、別の名前を付けました。
リストを再度作成するのが面倒なので、
既存のリストを利用したのですが機能しません。
※捕捉の画像の方です。
※こちらの画像はコピー元の最初の枠の設定です。
この関数の場合、画像表示用の「枠」は
最初に作成したものをコピーすることは出来なくて
毎回手作業で「枠」を作成しなければならないのでしょうか?
お手数ですが、エクセルに詳しい方、説明の上手な方、
「枠」を複数作成する時に最初に作成した「枠」をコピーして
利用出来るのか教えて下さい。
追記
感覚的には私が知識不足なだけで、コピー出来そうな気がします。
ですが根本的に出来ない場合はあきらめるので
「『枠』のコピーは出来ない」という、ご解答でもOKです。
よろしくお願いします。

No.2ベストアンサー
- 回答日時:
こんにちは!
お望みの方法ではないと思いますが、全くの別案でVBAでの一例です。
まず、表示したい画像を一つのフォルダにまとめておきます。
そして↓の画像のようにオートシェイプを一つだけ挿入しておきます。
そのシートのシートモジュールに↓のコードをコピー&ペーストし
まず「Sample1」を実行してください。
これでA列2行目以降にフォルダ内の画像ファイル名が表示されます。
B列にはA列最終行まで適当な名前で良いので入れておきます。
(あ、い、う、・・・でも構いません)
これでB列をダブルクリックするたびに
オートシェイプ内にA列の画像が表示されます。
Dim myPath As String, fN As String '//この行から//
Dim mySp As Shape
Sub Sample1()
Dim cnt As Long
myPath = "C:\Users\Public\Pictures\Sample Pictures" & "\" '//←当方PCの画像保存フォルダのパス★//
fN = Dir(myPath & "*")
cnt = cnt + 1
Do While fN <> ""
cnt = cnt + 1
Cells(cnt, "A") = fN
fN = Dir()
Loop
End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("B:B")) Is Nothing Then Exit Sub
If Target.Row > 1 And Target <> "" Then
Cancel = True
Set mySp = ActiveSheet.Shapes(1)
mySp.Select
myPath = "C:\Users\Public\Pictures\Sample Pictures" & "\" '//★//
fN = Target.Offset(, -1)
Selection.ShapeRange.Fill.UserPicture myPath & fN
Target.Select
End If
End Sub '//この行まで//
※ Sample1のマクロを実行するのは1回だけで大丈夫です。
尚、コード内の「★」の
>C:\Users\Public\Pictures\Sample Pictures
の部分はこちらのパスなので、お手元の実際のパスに変更してください。
※ オートシェイプの塗りつぶしを利用しているだけです。
※ B列名前は変更可能ですので、画像を表示後好みの名前にしてみてください。
A列が目障りであれば、遠く離れた列にするか、非表示にしてください。
B列セルのダブルクリックでの操作にしていますが、
チェンジイベントなどを使えばリスト表示を利用することも可能です。
こちらで勝手に考えた方法なので、
ご希望の方法でなかったら無視してください。m(_ _)m

解答して頂きありがとうございます。
捕捉をアップしてしまいましたが、
確認したところファイルパスの扱いを間違っていました。
※余計なところまで消してしまっていました。
丁寧に説明して頂いたのに、読み違えていしまいすいません。
今回はすごいマクロをありがとうございます。
これはみんながエクセル上で求めている機能なので、
素晴らしいです。
いつも教えて頂きありがとうございます。
もしかしたら、、、部分的にカスタムしたくなるかもしれません&
その時に手に負えなければ、またこちらで質問するかもしれないです(笑)。
今回は素晴らしいマクロをありがとうございます。
機会がありましたら、またお願いします。
No.3
- 回答日時:
No.2です。
補足を拝見しました。
「パス」の確認方法で間違いが少ないやり方を説明します。
① 画像を保存しているフォルダを開く
② 開いたフォルダ内のファイル(どれでも構いません)のアイコンの上で右クリック → プロパティ
③ そのファイルの「プロパティ画面」が表示されます。
その画面の「場所」がフォルダのパスになりますので、
その部分をドラッグ&コピー → コードに貼り付け!
ファイルのフルパスは
フォルダのパス & \ & ファイル名
になりますので、
前回のコードの「myPath」の部分には
コピー&ペーストしたものと、「\」が必要です。
前回のコードも
>"C:\Users\Public\Pictures\Sample Pictures" & "\"
のように最後に「\」を付け加えています。
おそらくこの部分でファイルが存在しない!という判断をされていると思います。
※ 今回はフォルダ内のファイルをすべて表示するようにしていますので、
ファイル名の指定は必要ありません。
今一度確認してみてください。m(_ _)m
何回もアドバイスして頂き、ありがとうございます。
入れ違いになったので何かカスタマイズしたい
ところがないかチェックしていました。
ですが今のところ、このコードで満足です(笑)。
いつも本当にありがとうございます。
追記
ファイルパスの件、確認して頂きありがとうございます。
No.1
- 回答日時:
VLOOKUP関数では書式をコピーすることはできませんよ。
VLOOKUP関数を使ったセルで独自に「条件付き書式」を作って希望するようにセルを修飾するようにしましょう。
解答して頂きありがごうございます。
>VLOOKUP関数では書式をコピーすることはできませんよ。
VLOOKUP関数を使ったセルで独自に「条件付き書式」を作って希望するようにセルを修飾するようにしましょう。
おっしゃるとおりです。
それは良いのですが、この質問ではVLOOKUP関数を使っていません。
説明が下手ですいません。
お手数でなければリンク先のサイトを一読して頂けると
質問の意味がわかると思います。
今回は解答して頂きありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) EXCELのグラフを画像(JPG形式)で保存、通常実行がうまく行かない。ステップインはうまく行く 3 2022/08/30 12:06
- Excel(エクセル) エクセルで指定範囲にある名前と重複した場合に入力できないようにしたい 1 2023/07/13 09:58
- Excel(エクセル) エクセルについて教えてください。 3 2023/03/24 08:34
- Excel(エクセル) Excelの複数ファイルの複数行を別ファイル1つのシートにVBA、マクロで集約する方法 5 2022/09/13 06:30
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Excel(エクセル) IF 関数で「〇〇 という文字を含む場合」の分岐処理で表示された数字はSUMで数字集計できますか? 3 2022/08/02 16:29
- Visual Basic(VBA) PowerPoint VBA で画像の鮮明度を変更する方法がわかりません 2 2023/03/24 13:34
- Excel(エクセル) excelで検索した商品の画像(ネットワーク上の)を表示させたい。 3 2023/06/28 00:32
- Visual Basic(VBA) Excel VBA キーワードから列を取得して、さらに空欄行を非表示にする 3 2022/10/21 22:49
- プリンタ・スキャナー コンビニのマルチコピーの性能について教えて下さい。 5 2023/05/10 03:05
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで行ごとコピー、同じ行を...
-
C+vのvは英語で何の頭文字...
-
VBAのテキストボックスに文字列...
-
エクセルでマクロにてセル色と...
-
WORDのグレー括弧って?
-
エクセルで値だけを移動するこ...
-
塗りつぶしの色をコピーするには
-
【エクセル】表の中の文字だけ...
-
コピーされたセルの文字が途中...
-
Excel 3列毎のセルを別の表に抽...
-
エクセルでコピーしたものをコ...
-
セルから一部だけを抜き出して...
-
セルに値がある行のみを抽出す...
-
コピー
-
大学生です。moodle上でのテス...
-
Wordの「背景色を消す方法」教...
-
ExcelでA列をコピーしたいので...
-
EXCEL 1つ飛ばしのセル参照
-
Word2007で、文字入力でコピー...
-
エクセル VBA・マクロ コピー ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで行ごとコピー、同じ行を...
-
塗りつぶしの色をコピーするには
-
C+vのvは英語で何の頭文字...
-
WORDのグレー括弧って?
-
エクセルでマクロにてセル色と...
-
Excel 3列毎のセルを別の表に抽...
-
VBAのテキストボックスに文字列...
-
【エクセル】表の中の文字だけ...
-
コピーされたセルの文字が途中...
-
セルに値がある行のみを抽出す...
-
エクセルでコピーしたものをコ...
-
セルから一部だけを抜き出して...
-
Wordの「背景色を消す方法」教...
-
Wiresharkのパケットの詳細のテ...
-
マイナスの場合「xxxx-」...
-
EXCEL 1つ飛ばしのセル参照
-
数式による空白を無視して最終...
-
シートのコピー、セル全体のコ...
-
xpsファイルをexcelに張り付けたい
-
エクセル VBA・マクロ コピー ...
おすすめ情報
コピーして貼り付けた枠の方の画像です。
解答して頂きありがとうございます。
教えて頂いたのですが
こちらの知識不足で動作しません
私の方が間違っていると思うので順番に説明しますね。
>まず、表示したい画像を一つのフォルダにまとめておきます。
そして↓の画像のようにオートシェイプを一つだけ挿入しておきます。
↓
ここまでOKです。
1)貼り付けたオートシェイプは挿入、図形、長方形です
2)画像は「C:\A」にまとめました。
>そのシートのシートモジュールに↓のコードをコピー&ペーストし
まず「Sample1」を実行してください。
↓
3)シートの「コードの表示(V)」を開きコードを貼りつけました
4)「Sample1」実行しました
ですが、A列に画像ファイル名が表示されません
エラーは発生しませんでした。
文字数がギリギリなのでコードは画像を貼りつけておきます
何か心当たりがありましたら、教えて頂ければ嬉しいです