プロが教えるわが家の防犯対策術!

エクセルについて教えて下さい。

セル内のある特定の文字だけ、
できればボタン1つで表示、非表示に切替したいのですが、
そういった事は可能でしょうか?
列や行ではなく、色々な場所に散りばめられている、
特定の文字になります。

ガントチャートを作成しておりまして、
社外の方にも共有したいのですが、
一部表記が不必要なため、一時的に非表示できれば
大変助かります。
#先方に送る資料として、別途置換や条件付き書式などで
対応すればよいのですが、時間と手間がかかるため、
何か良い方法がないか探しております。


はじめて質問致しますので、
不足箇所等ありましたら申し訳ありません。

例:特定の文字「あ」

■表示
  A B C 
1 あさか
2 いしき
3 うすく
4 えせけ
5 おそこ
6 かあさ
7 きいし
8 くうす
9 けえせ
10こおそ

■非表示
  A B C 
1  さか
2 いしき
3 うすく
4 えせけ
5 おそこ
6 か さ
7 きいし
8 くうす
9 けえせ
10こおそ


お手すきの方いらっしゃいましたら
何卒ご教授の程宜しくお願いいたします。

質問者からの補足コメント

  • ご回答頂きありがとうございます。
    ご提案頂いた②が一番近いイメージになりますが、
    こちらはどのようにすればよいか教えて頂けますと嬉しいです。。
    どうぞよろしくお願い致します。

    No.1の回答に寄せられた補足コメントです。 補足日時:2018/03/16 14:20

A 回答 (7件)

No.4です。



どうも失礼しました。
セル毎の操作でよかったのですね。
前回のコードは無視して↓の3行のコードにしてください。

Sub Sample1()
ActiveSheet.Cells.Replace what:="あ", replacement:="", lookat:=xlWhole
End Sub

※ Sheet毎別シートにコピー&ペーストしてマクロを実行してください。m(_ _)m
    • good
    • 0
この回答へのお礼

返信遅くなり申し訳ありません!シンプルで一番わかりやすかったのでベストアンサーに選ばせて頂きました!教えて頂きありがとうございました!

お礼日時:2018/03/19 13:41

念の為確認ですむ。

セル単位で文字色を白にすれば良いのですよね?
例えば、白色にしたい文字列が「いうい」の場合①で良いのですよね?
①「あいうい」⇒「あいうい」、「いうい」⇒「   」、「いういうい」⇒「いういうい」
②「あいうい」⇒「あ   」、「いうい」⇒「   」、「いういうい」⇒「   うい」
③「あいうい」⇒「あ   」、「いうい」⇒「   」、「いういうい」⇒「     」
④「あいうい」⇒「あ   」、「いうい」⇒「   」、「いういうい」⇒「いう   」
    • good
    • 1
この回答へのお礼

返信遅くなり申し訳ありません!
教えて頂きありがとうございました!

お礼日時:2018/03/19 13:44

[No.1補足]へのコメント、



添付図参照
1.範囲 G1:G15 に文字列 あ、い、…、そ を入力
2.セル E3 選択 ⇒ Alt+AVV ⇒ [設定]タブ内の[入力値の種類]として“リスト”
 ̄ ̄を選択し、[元の値]ボックス内にマウスカーソルを置いて、範囲 G1:G15
 ̄ ̄を撫で撫で ⇒ [OK]
3.範囲 A1:C10 を選択 ⇒ Alt+HLN ⇒ [ルールの種類を…]で“数式を…セル
 ̄ ̄を決定”を選択 ⇒ ⇒ [ルールの…]配下の[次の数式を…]ボックス内に式
 ̄ ̄=A1=$E$3 を入力し、かつ、[書式]ボタンをツン ⇒ フォント色として
 ̄ ̄“白”を選択 ⇒ [OK] ⇒ [OK]
「エクセルの特定の文字を表示、非表示に切り」の回答画像5
    • good
    • 0
この回答へのお礼

返信遅くなり申し訳ありません!
こちらも試してみます!
教えて頂きありがとうございました!

お礼日時:2018/03/19 13:43

こんにちは!



VBAになりますが、一例です。
「あ」そのものを全角スペースの実データにします。

Sub 非表示()
ActiveSheet.Cells.Replace what:="あ", replacement:=" ", lookat:=xlPart
End Sub

これで「あ」の文字が全角スペースになります。

尚、再表示の操作も必要になると思いますので、↓のコードが再表示になります。
(全角スペースが「あ」になる)

Sub 再表示()
ActiveSheet.Cells.Replace what:=" ", replacement:="あ", lookat:=xlPart
End Sub

※ 「P」付きのフォント「MSP ゴシック」などだと文字の文字間隔のバランスが悪くなるかもしれません。
「MS ゴシック」などのように「P」なしのフォントであれば大丈夫だと思います。m(_ _)m
    • good
    • 0
この回答へのお礼

返信遅くなり申し訳ありません!
こちらも試してみます!
教えて頂きありがとうございました!

お礼日時:2018/03/19 13:43

自分なら、丸ごとシートを参照する別のシート上に作成する。


そこでSUBSTITUTE関数などで文字を置き換えて表示させるような工夫をします。

・・・
質問文の例では、
セルの中の一部の文字列ではなく、セル全体を非表示にするように見受けられるのですが、それでいいのでしょうか。
それならSUBSTITUTE関数ではなくIF関数だけで対応可能かもしれません。
    • good
    • 0

ボタンで非表示にしてもすぐ見る事が可能なので無駄な作業かと


先方に送る資料としては検索置換すべきだと思います。
    • good
    • 1
この回答へのお礼

返信遅くなり申し訳ありません!
教えて頂きありがとうございました!

お礼日時:2018/03/19 13:44

非表示とおっしゃっていますが、正確には以下のどれでしょうか?


① 特定の文字を空欄と置換してしまう。(受け取った側は絶対に元の文字を見る事は出来ないが、通常では元に戻すことが出来ない)
② 特定の文字の色を白色にしてセル上では空欄のように見せる(セル選択などで反転すると見えてしまう、数式パーには普通に表示されてしまいます。元に戻すのは簡単だが、非表示処理にかなり時間がかかる)
③ その他(もっと具体的に説明してください)
--------------------------------------------------------------------------------
① の案ですが
元シートをコピーして複製を作り、元シートは非表示にして置き、複製の方は「特定文字」⇒「空白文字」の置換処理をすれば時間もあまりかからないし、元に戻すのも簡単です。
この回答への補足あり
    • good
    • 0
この回答へのお礼

返信遅くなり申し訳ありません!
こちらも試してみます!
教えて頂きありがとうございました!

お礼日時:2018/03/19 13:44

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A