• ベストアンサー
  • 困ってます

Excel 入力規制で計算式を入力できなくしたい

Excel2003を使用しています。 入力規則で、計算式を入力できなくしたいんですが 整数を選んでも計算式の答えが整数であれば計算式が入力できてしまいます。 どうすれば、整数(数値)だけしか入力できないようにできるでしょう? よろしくお願いします。

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数149
  • ありがとう数4

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.1

入力規則では無理ではないでしょうか? ためしにVBAで作ってみました。 A1セルに設定しましたが、変えるなら If Target.Address <> "$A$1" Then Exit Sub の"$A$1"の部分を修正してください。 以下の手順で設定します。 1. 該当のシートのシートタブを右クリックして、[コードの表示]。 2. 出てきた右側の白い所に、下記のコードを貼付けます。 3. 右上の × でExcelの画面に戻ります。 '********これより下********** Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address <> "$A$1" Then Exit Sub With Application .EnableEvents = False If Target.FormulaLocal Like "=*" Then MsgBox "数式はダメ!", vbCritical, "Σ( ̄ロ ̄lll)" .Undo ElseIf Not IsNumeric(Target.Value) Then MsgBox "数字じゃなきゃダメ!", vbCritical, "ヽ(`Д´)ノ" .Undo ElseIf Target - Int(Target) <> 0 Then MsgBox "整数じゃなきゃダメ!", vbCritical, "(;≧~≦)ノ" .Undo End If .EnableEvents = True End With End Sub '********これより上**********

共感・感謝の気持ちを伝えよう!

質問者からのお礼

できました!助かりました! ありがとうございました。 感謝感激雨あられでございます!!

その他の回答 (1)

  • 回答No.2
  • KURUMITO
  • ベストアンサー率42% (1835/4283)

マクロを使わない限り基本的には無理なことですが、次のようにしてみてはどうでしょう。 数式を入力したらそのセルに週式が入っていることが分かるようにしまっす。それには「ツール」から「オプション」の「表示」タブでウィンドウオプションの「数式」にチェックを入れることでしょう。 数式を入力した場合には数値が表示されるのではなく数式が表示されるようになります。 その上で表を選択してから例えばA1セルからF100セルまでを範囲として選び、この場合にはA1セルがアクティブセルの状態になっています、「データ」の「入力規則」で入力値の種類を「ユーザー設定」にし、数式の窓には=A1=INT(A1)と入力します。

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • Excel 入力規則で整数と特定文字の許可

    Excel2003を使用しております。 あるセルに入力規則として"整数"と特定文字"#"のみ許可する方法はありますか? 特定文字は”#”でなくとも記号や文字、数値以外でしたらOKです。

  • エクセルの小数点以下の入力禁止について

    エクセル2000を使って、業務の集計作業をしています。 各担当者に実績数値を入力してもらい、それを集計する作業をしています。入力の際には端数を入れずに整数で入力するよう依頼するとともに、入力規則を使用し、小数点以下を出来ないようにしています。が、コピー貼り付けや、計算式の入力により端数が入力され、なかなか徹底されません。  入力の際に小数点以下が入力できないよう排除する方法か、もしくは集計結果から小数点以下がないかを確認するいい方法がないか教えてください。現在は集計結果を「小数点桁上げ」を利用して目視で確認しています。  集計作業時にはマクロを使用するなど、マクロも多少理解しています。よろしくお願いします。

  • Excel・10000時間以上の入力方法

    Excel2000を使っています。 10000時間以上の入力方法がわからなくて困っています。どうか、良きアドバイスをお願いします。 内容は”A時間+B時間”の単純な時間の足し算をする際、セルの書式を”[h]:mm”にし、10000時間”未満”を入力すると、数値として認識してくれるのですが、10000時間”以上”を入力すると文字として認識されてしまい、結果として”#VALUE!”になってしまうのです。 書式がいけないのでしょうか? それともExcel自体が10000時間以上の入力が出来ないのでしょうか? ちなみに、A・B共に10000時間”未満”で、足し算の答えが10000時間”以上”になる場合は、同じ書式で数値として10000時間”以上”の答えが計算されます。

  • エクセルの計算がされなくなった

    エクセルの簡単な計算を入れていて今まで、自動で やってくれていたのですが、しばらく使っていなくて 最近、エクセルを開いたら、エクセルの自動計算を してくれなくなりました。 なぜでしょうか? セルには、計算式は残っており、ダブルクリックしたら、 計算されます。しかし、以前は、数値を入力するだけで 計算してくれていました。 以前の自動計算してくれる状態にしたいです。

  • エクセルで、ダースの計算方法

    エクセルにて、ダースで入力して計算しなければならないのですが、端数の処理の仕方をどうすればよいか分からず、計算機片手にエクセルを使っているばか者です。 たとえば、23個だと、1ダースとあまりが11個なので、1.11ダースと表示させる必要があります。13個であれば、1.01ダースになり、190個だと、15.10になります。 で、セルを整数、小数点、端数の3つに分けて入力しているわけですが、トータルを計算するときに、端数を計算機で足して12で割り、何ダースか計算して、整数の合計に足しています。 この、計算機を使う作業を、エクセルにやらせることができるのでしょうか?

  • エクセルの計算について質問です

    エクセルの計算について質問です 数値の計算で、電卓で算出した値とエクセルで計算した値とが異なり困ってます。 【計算内容】 A(整数) × B(小数部2桁) = C(整数) ※Cは小数点以下切捨てとしたい ※エクセル計算ではROUNDDOWNを使用 【実際の計算結果】 (1)10,000,010,000.00 × 9999.99 = エクセル:99,999,999,999,999、電卓:99,999,999,999,999 (2)10,000,010,000.01 × 9999.99 = エクセル:100,000,000,000,000、電卓:99,999,999,999,999.9999 (1)は電卓とエクセルで結果は一致しますが、(2)は一致しません。 エクセルで小数点以下第4位が丸められてるようです。 【エクセルで算出したい値】 (2)ではDに999,999,999,999と出力したいです。 関数INTやROUNDDOWNを使ってみたのですが、うまくいきませんでした。 セルCの書式設定と、どの関数を使用すればよいのか教えていただけると大変助かります。

  • Excel 入力を数値だけに制限したい

    Excel2003 入力を数値だけに制限したい。 If関数で文字列を入力したら空白とする 又は 入力規則で数値以外入力できないようにする。 その他 数値だけを入力できないようにしたい

  • エクセルの計算式入力

    エクセルで図のような計算式を予め入力しておきたいのですが、空白行があることがあり、空白の場合は0などの数値がでないよう空白にしておけるような計算式の入力を教えて下さい、よろしくお願いします。

  • Excelで2乗とか3乗の計算結果について

    先ほど、少し興味を持ちまして、Excelで2の50乗の計算方法を調べました。 調べたところ、セルの中に「=2^50」と書けば、その答えを導き出せるだろうと分りました。 しかし、EXCELでこれを計算させると、セルの書式を数値に変えても、 答えは『1,125,899,906,842,620』でした。 これを実際に、Windowsでも標準で付いている計算機で計算しても、 答えは『1,125,899,906,842,624』となります。 Excelの書式を変えてみたり、小数点以下を増やしても、どうしても最後の『4』が導き出せません。 これは、計算式の書き方が悪いのでしょうか? それとも、何か設定の問題なのでしょうか? 正しい計算方法などがあれば、教えて下さい。 宜しくお願いします。

  • エクセルで入力規則のデータに数値を与える方法

    いつもご回答いただきありがとうございます。 エクセル2007で入力規則のデータに数値を与え、数値化する方法 が知りたいのですが、出来るものなのでしょうか。 イメージは添付した画像の感じです。 ● B~D列は、別シートに入力したデータを入力規則して使用する。 ● B~D列に入力したデータに数値を与え、F列にB~D列の合計値を表示する。 ご存知の方がいらっしゃいましたらご助言いただけますでしょうか。 よろしくお願いします。