- 締切済み
エクセル2000で計算式をいれたセルに文字を打つ時
いつもいつも、お世話になっています。 エクセルで数式を入れたセルに文字を打つと数式がDeleteされてしまいます。 数式だけ保護する方法ってないですか? 作った数式はVLOOKUP関数です。 A1のセルに番号をいれるとB1のセルに患者名がでるように設定しました。 B1に患者名を直接入力すると計算式は消えてしまいますよね。。 B1に直接入力しても数式は残せる方法ってありますか?
- みんなの回答 (10)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17070)
関数式を使わないならば、悩は起こりません。VBAですが、 E1:F4に氏名テーブルがあるとして (E列) (F列) 1 吉田 3 大田 4 平田 6 山田 A列に番号(氏名コードのようなもの)を入れると、B列に氏名が出ます。 2や5や7をA列に入れると「表にありません」とでるので B列対応行に氏名を打ちこんでください。 Sheet1のChangeイベントとして下記を作ります。 Private Sub Worksheet_Change(ByVal Target As Range) Dim cl As Range r = Target.Row c = Target.Column If c <> 1 Then Exit Sub x = Worksheets("sheet1").Cells(r, 1) Set cl = Range("E1:E4").Find(What:=x, LookIn:=xlFormulas, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False) If cl Is Nothing Then MsgBox "表にありません" Else Cells(r, 2) = cl.Offset(0, 1) End If End Sub <操作>氏名表を作り、Sheet1の画面状態から (1)ALT+F11(VBEの画面) (2)左側フレームVBAProjectのSheet1をダブルクリック (3)General-->Worksheet Declaration-->Changeを選ぶ (4)上記をコードをコピー(Private・・とEnd Sub行は除く)し貼り付け。 (5)Sheet1に戻りA列に番号を打ち込む操作
- kazuhiko5681
- ベストアンサー率49% (79/159)
初めまして。あなた様のお考えになっていることは、マクロを書けば数式をコピーしたりする手間をかけずに実行することができます。 もし私でよろしければ、サンプルマクロを作ってみたいと思います。ご希望の節は、B1に入力している数式をお知らせ下さい。すぐにサンプルマクロを作らせていただきます。 お手数をおかけいたしますが、よろしくお願いいたします。
- ubonoti01
- ベストアンサー率20% (43/211)
#7-comvさんの回答は大変ユニークで面白いですね。 ついでに[セル]→[配置]で、B列は折り返さないようにしておくわけですね。
- comv
- ベストアンサー率52% (322/612)
こんばんは 既に皆さんんのレスでおわかりだと思いますが 数式も文字もセルに対しては同じ入力行為ですから 同居できません! 代替案としては A1に番号 B1に式 セル幅を0.31ぐらいに狭める C列は空き列にしておけば B列の結果はC列に表示 されます(厳密には B:C列をまたいで表示) これなら必要に応じてC列に直接入力してもB列の 式は残り かつ C列の書き込み優先となります。
- imogasi
- ベストアンサー率27% (4737/17070)
#2のご回答はいいと思います。少し修正して (1)C列はC1に1スペース入れ、下へ複写する。 (0を出さないため) (2)B1には =IF(ISNA(VLOOKUP(A1,$E$1:$F$3,2,FALSE)),C1,VLOOKUP(A1,$E$1:$F$3,2,FALSE)) と入れるのはどうでしょう。 E1:F3にテーブルがあるとしています。 (A) (B) (C) (E) (F) 1 吉田 1 吉田 2 山田 2 山田 1 吉田 3 上田 4 大田 大田 3 上田 4 近藤 近藤 A列に番号を入れてB列がスペースのままなら、C列に 名前を入れる。するとB列にも入る。
- ubonoti01
- ベストアンサー率20% (43/211)
「数式を入れたセルに文字を打っても数式がDeleteされないようにする」は、矛盾した要求ではないでしょうか? 可能/不可能の問題ではないはずです。
- ka3
- ベストアンサー率18% (36/194)
[書式(O)]-[セル(E)]の「保護」タブをご覧下さい。
- Cid
- ベストアンサー率22% (37/167)
目的が >B1に直接入力しても数式は残せる方法 でしたら、Excelの仕様で出来ないことになってるはずです。でないと計算式自体が無意味になってしまいますので。 出来るとしたら、 数式が入っているセルだけ上書きが出来ないように保護することくらいでしょうか。
- joe-009
- ベストアンサー率20% (7/34)
なぜせっかくB1に患者名がでるのにわざわざ直接B1に患者名を入力しなければならないのでしょう。 もしかして、「番号を入れても出てこない場合には、直接入力したい」ということでしょうか。 であれば、こういう方法もあるかと思います。 ・B1に出てこない場合は、C1に入力する。 ・さらに、D1に下記の式を設定しておく。 =IF(ISNA(B1),C1,B1) 「もしB1がN/A(値なし)ならばC1を、そうでなければB1を参照せよ」 そうすると、D1にはB1かC1の値が表示されるようになります。 ぜんぜんはずしてたらすみません。
残念ながら不可能です。