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

セルに入力した文字を「*」で表示したいのですが、どなたか教えていただけませんか?
数字だけのときは、セルの書式設定で表示形式のユーザ定義で「*」表示に設定するとできるのですが、英字が入ると入力どおりの表示になってしまいます。

A 回答 (4件)

1.セル範囲を選択 


2.Ctrl+1 (メニュー[書式]-[セル]) 
3.[表示形式]タブの[分類]を[ユーザー定義]に 
4.[種類]に **;**;**;** と入力 
5.Enter 

でいかがでしょうか?
 これで、セルに文字列や数値が入力された時、セル幅いっぱいに******のように表示されます。

*が一文字だけ、ということでしたら、↓のようにします。

"*";"*";"*";* "*"

最後の「* "*"」は、文字列が入力された場合でも右詰めで表示させるためのものです。これが、たんに「"*"」になっていると、文字列だけ左詰めで表示されます。

参考URL:http://www2.odn.ne.jp/excel/waza/format.html#SEC11
    • good
    • 0
この回答へのお礼

ありがとうございました。
5桁のPW入力に対する*をつけようと思っていましたので、
"*";"*";"*";"*****"で表示できました。
あとはセルを表示しないにして、入力規則で5文字に入力規制して、シート保護して、数式バーの表示も消して目的が達成できました。

お礼日時:2008/05/24 16:11

エクセルのセル(Rangeオブジェクト)には、Passwordプロパティが無いので無理です。


文字列に対する書式設定が無いので表示形式からも無理です。
質問は
隠そうとする面があると思うのですが、どこまでやればよいのでしょう。
セルの見た目
数式バー部
ーー
対象セルは限られていますか。1、2のセルとか。
その値は計算やシートの処理に使いますか。
ーー
小生の私の思いつきだがVBAでやれる範囲では
値を配列に記録(またはテキストファイルに保存。こちらが良い)
そしてセルの値は「**」にする。
配列やファイルのその後の処理は質問者の都合による。
ーー
モデル的にやってみた
Dim d(10)
Private Sub CommandButton1_Click()
For i = 1 To 10
MsgBox d(i)
Next i
End Sub
A1:A10でセルの値が変わると、値を退避させて、セルは「**」で表示
Private Sub Worksheet_Change(ByVal Target As Range)
Set myRng = Application.Intersect(Target, Range("a1:A10"))
If Not myRng Is Nothing Then
Application.EnableEvents = Fale
Static i
i = i + 1
d(i) = Target
Target = "***"
Application.EnableEvents = True
End If
End Sub
    • good
    • 0

> 表示形式のユーザ定義で「*」表示に設定するとできるのですが、


表示形式のユーザ定義で「"*";"*";"*";"*"」でもダメですか?
私の2002ではOKでしたが...
    • good
    • 0

通常のセルの書式設定などでは無理です。



以下のURLを参考にしてみてください。マクロを使えば可能になります。

  http://www.big.or.jp/~seto/vbaref/vbaref16.htm
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございました。

お礼日時:2008/05/24 16:15

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

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


人気Q&Aランキング