[[20230510090623]] 『INDIRECT関数を使った画像の出力について』(サラミ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『INDIRECT関数を使った画像の出力について』(サラミ)

こんにちは。

要約にもある通り、現在INDIRECT関数を使って別のシートから画像を引っ張ってきています。
sheet1にリスト、sheet2に文字列、sheet3に画像を用意。
処理としては、sheet1のA1にUNIQUE関数「UNIQUE(sheet2!A2:A1048576)&""」を入力してsheet2から文字列を抽出。
B2セルに「データの入力規則」から「リスト」、元の値を「=$A:$A」としてUNIQUE関数の結果をリストの中に入れています。
また、B2セルを名前の定義で「判定」とし、=INDIRECT(sheet1!$B$2)を入れています。
sheet3に画像を用意して、各セルにsheet2の文字列と対応した名前をつけています。sheet1に「リンクされた図」として貼り付け。その際名前を「=判定」にして、リストから選ばれたsheet2の文字列に対応するように貼り付けた画像が変わるようにしています。

そこで質問ですが、リストの文字列が空白の場合に画像を消すことはできないでしょうか。

また、このような手段で持ってきた場合、シートの保護では画像を固定できないのでしょうか?現在は透過画像をその前面において保護することで無理やり固定しています。

分からないことだらけですが、よろしくお願いします(-_-)

< 使用 Excel:Excel2021、使用 OS:Windows10 >


 >画像を消す
 ホントに「画像を消す」訳にはいかないでしょうから、
 オブジェクトを非表示にする事で、あたかも消えた様に見せるって事ですよね?
 たぶんマクロで対応する必要があります。(シート保護するなら尚更)

 絵を見せたくないだけなら、空白セルでも参照する様にしておけば良くないですか?
 「判定」の参照式を変えるだけで済みそうですけど...

 >シートの保護では画像を固定できないのでしょうか?
 出来ないんですか?
 何も考えずに保護すれば、普通は弄れなくなると思いますけど...

(白茶) 2023/05/10(水) 11:51:48


ぶつかり

>別のシートから画像を引っ張ってきています。

いまいちよう分かってへんけど

ええと、画像が表示されるのではなく、指定したセルが表示されるだけでは。
ついでにセルにある画像も一緒に表示されるだけです。
これが解ればどう対応すればいいのか解るはず。
(カメラ機能) 2023/05/10(水) 11:55:04


sheet1,3に保護をかけても表示される画像は編集可能な状態でした。
おとなしく透過画像を上からかぶせて対処します。

(サラミ) 2023/05/10(水) 14:20:39


 オブジェクトのロックが外れてるか、保護段階で「オブジェクトの編集」を許可しちゃってるか...

画像や図形を動かないように固定したい:エクセル2013基本講座
画像や図形を選択できないようにしたい
http://www4.synapse.ne.jp/yone/excel2013/excel2013_zu_kotei.html#sentaku

 そうじゃなかったら私にはワカランです

(白茶) 2023/05/10(水) 14:27:03


 >「リンクされた図」として貼り付け。その際名前を「=判定」にして
 >名前の定義で「判定」とし、=INDIRECT(sheet1!$B$2)
 これを=IF(sheet1!$B$2="",sheet1!$B$2,INDIRECT(sheet1!$B$2))とするとか。

 (白茶)さんもおっしゃってみえますが
 >何も考えずに保護すれば、普通は弄れなくなると思いますけど...

 シートの保護をする時に入力規則等のセルはロックをはずしますが
 1.すべてのユーザーに許可する操作で「オブジェクトの編集」にチェックを入れない。
 2.図を選択して図の書式設定ープロパティでロックにチェックは入れたままにする。
 繰り返しになりますが、ご参考まで。
(檸檬) 2023/05/12(金) 01:04:33

> リストの文字列が空白の場合に画像を消すことはできないでしょうか。
空白の時 リンク画像に空白セルを参照させる設定にすればいいのでは?

A1が空なら
=IF(Sheet1!$B$2="",Sheet1!$A$1,INDIRECT(Sheet1!$B$2))

> sheet1のA1にUNIQUE関数「UNIQUE(sheet2!A2:A1048576)&""」を入力して
テーブル書式を設定して構造化参照にすればいいだけなのに。
無理にやるなら「=UNIQUE(FILTER(A:A,A:A<>""))」

> 元の値を「=$A:$A」としてUNIQUE関数の結果をリストの中に入れています。
スピル演算子を覚えましょう。「=$A1#」
(d-q-t-p) 2023/05/12(金) 05:41:00


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.