
No.7ベストアンサー
- 回答日時:
失礼しました。
別シートだと、シートも指定しなければいけませんね。
If Sheet1.Range("A1").Value = 1 Then '←
'A1の値が1になったとき「a」を表示「b」を非表示。
Sheet1.Shapes("図 1").Visible = msoTrue
Sheet1.Shapes("図 2").Visible = msoFalse
ElseIf Sheet1.Range("A1").Value = 2 Then '←
お礼が遅くなってしまい申し訳ありません!!
おかげさまで無事作成することができました!!
本当にありがとうございます。
今後ともよろしくお願いいたします。
No.6
- 回答日時:
#3です。
> これはどこに記載するのでしょうか?
コンボボックスを右クリックして「マクロの登録」をクリック。
マクロ名のところに「ドロップ1_Change」とか表示されていますね。
マクロの保存先を「作業中のブック」にして「新規作成」をクリック。
Sub ドロップ1_Change()
' ここでカーソルが点滅
End Sub
となりますので
カーソル位置に貼り付けます。
Worksheet_Changeイベントの
If ~ End If までですよ。念のため。
この回答への補足
ありがとうございます。
同一シート上にコンボボックスを作成した場合にはうまく表示することができました。
しかしながら、別シートにコンボボックスを作成したところ画像は表示できなくなってしまいました。(コンボボックスを変更したとき)
LinkedCellに直接値を入力した場合には画像は表示されます。
この場合はどうしたらよろしいのでしょうか?
よろしくお願いいたします。
No.5
- 回答日時:
VBAを使わない方法です。
http://www.geocities.jp/chiquilin_site/data/0505 …
http://www.officetanaka.net/excel/function/tips/ …
ちょいと面倒かも。
回答ありがとうございます。
http://www.officetanaka.net/excel/function/tips/ …
はイメージとぴったりです!!
ですが、せっかくVBAでがんばっていますのでもう少しこちらでがんばって見ます。
それでも、とてもよい勉強になりました!!
No.3
- 回答日時:
> コンボボックスを用いてセルに値を入力した場合、
> 画像が表示されません。
コンボボックスの LinkedCellに「A1」を指定しているということでしょうか?
「コントロールツールボックス」のコンボボックスが同じシート上にあることを条件として、
Private Sub ComboBox1_Change()
Call Worksheet_Change(Range("A1"))
End Sub
を追加してください。
ComboBox1 の部分は実際の名前にしてください。
ついでに
Activateイベントも
Private Sub Worksheet_Activate()
Call Worksheet_Change(Range("A1"))
End Sub
にすると、次にシートが選択されたときも、表示されるようになります。
「フォーム」のコンボボックスの場合はマクロを作成
Sub ドロップ1_Change() '実際の名前で
End Sub
の間に
Worksheet_Change イベントのコードを貼り付ければ動くと思います。
この回答への補足
ご回答ありがとうございます。
質問ですが、フォームのコンボボックスを使用していますので、
>「フォーム」のコンボボックスの場合はマクロを作成
>Sub ドロップ1_Change() '実際の名前で
だけを記載すればよろしいのでしょうか?
また、これをVBAのどこに記載すればよいのでしょうか?
また、
>End Sub
>の間に
>Worksheet_Change イベントのコードを貼り付ければ動くと思います。
これはどこに記載するのでしょうか?
初心者で申し訳ありませんがよろしくお願いいたします。
No.2
- 回答日時:
#1です。
---引用--------------------
そこで、追加なのですが、セルに値を入力するのではなく、
コンボボックスを用いてセルに値を入力した場合、
--------------引用終わり---
「セルに直接値を入力しない」ということは理解できましたが、「コンボボックス」がどのコンボボックスを指しているのかがいまいち特定できませんでしたが、以下に情報を記載します。
・セルA1に入力規則のリストによるコンボもどきをご使用の場合
#1で記載した方法で問題ありません。
・コントロールボックスツールボックスのコンボボックスをご使用の場合
コンボボックスを操作するとA1に選択した値が入力される(マクロ使用)のであれば、#1で記載した方法で問題ありません。
#1で提示した方法はA1の値が何か、を条件にしていますので、基本的にA1の値が変わる方法ならどの場合でも問題ないはずです。
もう少し詳しく状況を教えてください。
この回答への補足
何度も申し訳有りません。
コンボボックスは、フォームの中にあるコンボボックスを使用しており、コントロールの書式設定のコントロールでリンクするセルをセルA1に設定しています。
で、フォームのコンボボックスは別のシートに作成したいと思っております。
とりあえず、同じシート内に上記コンボボックスを作成し、セルA1に値が入力されるように試したのですが、画像が変更されないといった状況です。
申し訳有りませんがよろしくお願いいたします。
No.1
- 回答日時:
ワークシート関数では実現できないと思いますので、マクロ(VBA)を用いた方法を提示します。
・要件
Sheet1のA1が1のとき「a」の画像を表示する。
Sheet1のA1が2のとき「b」の画像を表示する。
・実装
1.任意の位置に「a(仮に図 1)」「b(仮に図 2)」の画像を置く。
2.VBEを開いて(Alt + F11)、左上のツリーからSheet1を選択して、右側にエディタを表示させる。
3.以下のコードを貼り付ける。
Private Sub Worksheet_Activate()
'最初はどちらの画像も非表示。
Sheet1.Shapes("図 1").Visible = msoFalse
Sheet1.Shapes("図 2").Visible = msoFalse
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("A1").Value = 1 Then
'A1の値が1になったとき「a」を表示「b」を非表示。
Sheet1.Shapes("図 1").Visible = msoTrue
Sheet1.Shapes("図 2").Visible = msoFalse
ElseIf Range("A1").Value = 2 Then
'A1の値が2になったとき「a」を非表示「b」を表示。
Sheet1.Shapes("図 1").Visible = msoFalse
Sheet1.Shapes("図 2").Visible = msoTrue
Else
'A1の値が1でも2でもないとき「a」も「b」も非表示。
Sheet1.Shapes("図 1").Visible = msoFalse
Sheet1.Shapes("図 2").Visible = msoFalse
End If
End sub
この状態でSheet1のA1に1と入力すると、「a」の画像が表示されるはずです。
ブックにマクロ実行の許可を設定しておいてください。
この回答への補足
早速の回答ありがとうございます。
実際に、上記VBAで画像の非表示は可能になりました。
そこで、追加なのですが、セルに値を入力するのではなく、
コンボボックスを用いてセルに値を入力した場合、
画像が表示されません。
この場合にはどのようにしたらよろしいのでしょうか?
よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) excelで検索した商品の画像(ネットワーク上の)を表示させたい。 3 2023/06/28 00:32
- Excel(エクセル) エクセルで日付が入っているセルを一定の法則に従って違うセルに表示したい 2 2022/04/04 17:16
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/08 09:05
- Visual Basic(VBA) Visual Basic : ImageListの画像がそろったときにメッセージを表示 1 2023/07/20 13:53
- Excel(エクセル) エクセル、画像ファイル名の書かれたセル(複数個所)に画像を一括で表示させる方法 1 2023/04/19 00:19
- Visual Basic(VBA) Excle VBA Findメソッドについて 3 2022/07/15 13:56
- Excel(エクセル) <スプレッドシート>IF関数の複数条件について 5 2022/10/27 14:38
- Excel(エクセル) エクセルで指定範囲にある名前と重複した場合に入力できないようにしたい 1 2023/07/13 09:58
- Visual Basic(VBA) エクセルマクロでアニメを作る方法を教えてください。 1 2023/02/07 14:27
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/15 08:30
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルで条件をつけて図形を表示する方法を教えてください。例えば、セルA1に入力された数値が100以
Excel(エクセル)
-
セルの内容の条件に応じて図形の表示をしたりしなかったりする
Excel(エクセル)
-
エクセルで数字を入力したら指定の画像を出す方法
Excel(エクセル)
-
-
4
Excelで数字を入れたら対応する図を呼び出したい
Excel(エクセル)
-
5
エクセルで条件を付けて丸を付ける関数を教えてください。
Excel(エクセル)
-
6
Excelでセル参照したとき、書式も一緒に持ってくるには?
Windows Vista・XP
-
7
エクセルの質問です。条件によってセルに斜線を引きたいのですが。
その他(OS)
-
8
Excelの関数について、特定の文字を入れると斜線や線を入れることは出来ますか?
Excel(エクセル)
-
9
Excel 条件を入れると図形を表示するには
Excel(エクセル)
-
10
セルの文字を「印刷時だけ非表示」にしたいです。
Excel(エクセル)
-
11
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
12
excel vba/セルの値がOKになったら図形を消す
Visual Basic(VBA)
-
13
Excel セルに入力した画像名からフォルダの画像を自動表示させたい
Excel(エクセル)
-
14
あるセルに特定の文字列を打つと、他のセルに決められた文字が自動入力するように
Excel(エクセル)
-
15
エクセル フォルダの画像を画像名で検索して貼り付け
Excel(エクセル)
-
16
Excelの条件付き書式設定の太い罫線
Excel(エクセル)
-
17
Excelの画像をセルとして参照する
Excel(エクセル)
-
18
エクセルVBA 画像を貼り付けるセル位置を指定する方法
Excel(エクセル)
-
19
有無、要否、賛否、是非、可否、当否…これらの言葉について
その他(教育・科学・学問)
-
20
EXCELで特定のセルに表示された項目をヘッダーやフッターに出力するには
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
尿検査前日に自慰行為した時の...
-
値が入っているときだけ計算結...
-
excelでsin二乗のやり方を教え...
-
VLOOKUP関数を使用時、検索する...
-
尿検査の前日は自慰控えたほう...
-
彼女のことが好きすぎて彼女の...
-
EXCELで条件付き書式で空白セル...
-
至急!尿検査前日にオナニーし...
-
リンク先のファイルを開かなく...
-
EXCELで式からグラフを描くには?
-
Excel 数値の前の「 ' 」を一括...
-
小数点以下を繰り上げたものを...
-
【Excelで「正弦波」のグラフを...
-
精子に血が・・・
-
2つの数値のうち、数値が小さい...
-
検便についてです。 便は取れた...
-
Excel 0目標に対して数字があ...
-
一番多く表示のある値(文字列...
-
ワードのページ番号をもっと下...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
尿検査前日に自慰行為した時の...
-
至急!尿検査前日にオナニーし...
-
検便についてです。 便は取れた...
-
彼女のことが好きすぎて彼女の...
-
値が入っているときだけ計算結...
-
リンク先のファイルを開かなく...
-
EXCELで条件付き書式で空白セル...
-
2つの数値のうち、数値が小さい...
-
VLOOKUP関数を使用時、検索する...
-
尿検査の前日は自慰控えたほう...
-
MIN関数で空白セルを無視したい...
-
小数点以下を繰り上げたものを...
-
風俗店へ行く前のご飯
-
エクセルで空白セルを含む列の...
-
Excel 数値の前の「 ' 」を一括...
-
【Excelで「正弦波」のグラフを...
-
納豆食べた後の尿の納豆臭は何故?
-
EXCELで式からグラフを描くには?
-
ある範囲のセルから任意の値を...
おすすめ情報