• ベストアンサー

EXCEL2000 VBA ツールバー および セルの入力制限について

ツールバーの印刷、マクロ、保存、書式の変更をツールバーを消さずに 封じるには、どうしたらよいですか? また、数値・通貨の書式のセルに、数値や通貨以外が入力されているときに VBAがこけてしまうので、制御をかけたいのですが、どのようにすれば よいですか? ご存知の方、教えてください。

  • Neigh
  • お礼率12% (4/33)

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

  • ベストアンサー
  • tamazo-
  • ベストアンサー率60% (35/58)
回答No.1

ツールバーですか?「書式」も質問に入っているので メニューバーの話と理解しました。 メニューバーから、ファイル(F)の保存・上書き保存・印刷、書式、ツール(T)のマクロを選べなくする1つの方法です。 Sub auto_open() ' Dim tmpCBar As CommandBar Dim tmpCMenu As CommandBarControl Set tmpCBar = Application.CommandBars("Worksheet Menu Bar") Set tmpCMenu = tmpCBar.Controls("ファイル(&F)") With tmpCMenu .Controls("上書き保存(&S)").Enabled = False .Controls("名前を付けて保存(&A)...").Enabled = False .Controls("印刷(&P)...").Enabled = False End With tmpCBar.Controls("書式(&O)").Enabled = False Set tmpCMenu = tmpCBar.Controls("ツール(&T)") With tmpCMenu .Controls("マクロ(&M)").Enabled = False End With ' End Sub Sub auto_close() ' Application.CommandBars("Worksheet Menu Bar").Reset ' End Sub あと、VBAがこけるのを制御するときは、on error 文を 使います。 制御をどうしたいかによりますので、あとはヘルプを参照してください。

Neigh
質問者

補足

VBAがこけ場合、exit sub をしたいのです。 どこでこけるかというと acount(0) = Format(Cells(i + 1, 6).Value) * Format(Cells(i + 1, 7).Value) acount(1) = acount(0) + acount(1) '原価*数量=部品原価 acount(2) = Format(Cells(i, 6).Value) * Format(Cells(i, 7).Value) acount(3) = acount(2) + acount(3) '売上単価*数量=部品代 acount(4) = Format(Cells(i, 9).Value) acount(5) = acount(4) + acount(5) '工賃(売上) acount(6) = Format(Cells(i + 1, 9).Value) acount(7) = acount(6) + acount(7) '工賃(原価) というような計算式において、数値が入力されていないと 計算ができず、こけてしまいます。

関連するQ&A

  • EXCEL2010のVBAでのユーロ通貨記号(€)

    EXCEL2010のVBA(マクロ)利用して、指定したセルの書式をユーロ通貨記号(€)にしたいのですが VBAのエディタで、 € を記入すると ?の疑問符になってしまいます。 VBAを使わずに、通常のワークシート上でセルの書式変更から表示形式を € を選択すると €123.45 のようにユーロの通貨記号表示でき印刷問題なく出来ます。 VBAを利用して、指定のセルに € の通貨記号で表示変換させるにはどうすれば良いのかを 教えてください。 いろいろとググッてはみたのですが、有効な情報が見当たりませんでしたので ご教示をお願い致します。

  • VBA セルに入力されている数値でセルを指定する

    Excel VBA初心者です。 Sheet1のA1セルに10、A2セルに3を入力しています。 この入力したセルの数値を参照して、 Sheet2の「Cells(10,3)」(C10セル)を青(Interior.ColorIndex = 5)に 書式変更したいのですが、「Cells(”Sheet1.A1の値”,”Sheet1.A2の値”)」の 書き方がわかりません。 Excel2010を使用しています。 よろしくお願いします。

  • セルの入力を制限する

    エクセルのセルA1に入力がない場合、A2~A10の範囲のセルを入力できないようにする。 といった感じのVBAのマクロを作成したいのですがどのような方法があるのでしょうか?

  • Excel2000とExcel2002のVBAの違いについて。

     以前、このカテゴリーにて、Excel2000におけるVBAのマクロを教えてもらったのですが、そのマクロ入力済みエクセルファイルをExcel2002へ移植したら、上手くVBAが働きません。  具体的にいうと、シート1に入力したデータの履歴を、シート2にて保存していくマクロなのですが、Excel2002では履歴のシートに上書きしていくことがあります。(たまに発生する)  Excel2000ではキチンと履歴のセルが全て残ります。  どなたか、この不具合を認識しておられる方。もしくは、対策をご存知の方がいらっしゃいましたら、教えてください。  

  • [Excel2000]セルの入力規則→リストのセルから出るドロップダウンリストが小さ過ぎなのは?

    エクセル2000での質問です。 [ツールバー]→[データ]→[入力規則]→[リスト]のセルから出るドロップダウンリストが 小さ過ぎるのはなぜでしょう? 入力規則を設定したセルも、設定時の元の値のセルでも書式を変更してみたのですが、 ドロップダウンリストは大変小さく変更されません。 ドロップダウンリストの書式(フォントサイズ)を変更する方法をご存知の方が おられましたらどうぞご教授ください。 お願いいたします。

  • ◇セルに任意の数値を入力した数値を条件付き書式に反映させる◇

    ◇セルに任意の数値を入力した数値を条件付き書式に反映させる◇ セルに任意の数値を入力した数値を条件付き書式に反映させ、状況に応じて 色付ける幅をかえたいと思います。 その都度、指定を変更すればいいのでしょうが、広範囲なのとマクロを組んでいるので セルに毎回違う数値を入れて条件付き書式を使用したいと思っております。 何かよい方法があれば教えて頂きたいです。 宜しくお願いします。

  • Excel2000で入力値よりも一桁小さくなってしまう

    Excel2000をWindows98SecondEdition上で使用しています。 久しぶりにexcelを使ってみたところ、おかしな事が起こりました。新規作成したシートや過去に保存したファイルを開いてセルに数値を打ち込むと、なぜか一桁小さい数値が入力されてしまいます。例えば1024を入力すると102.4になってしまいます。どのセルに数値を打ち込んでも同じことが起こってしまいます。 初期設定を故意に変更したことは今までありません。セルの書式設定の表示形式は標準のままです。 よろしくお願いします。

  • EXCEL2Kのセルの結合でエラー

    結合していないセルを入力しようとすると 「結合されたセルの一部を変更することは出来ません」と表示されます。マクロ等は、書かれていません。 そのセルの書式を見ても結合はされていません。 他のどのセルが影響しているのか調べる方法ご存知な方、教えていただけませんでしょうか?

  • EXCELセルへの入力での少数値チェック

    EXCELでセルに少数値を入れたときにエラーで弾く(入力出来ないようにする) ようにしたいのですが、セルの書式設定だけで出来るでしょうか やはりマクロを組んで実現するしかないでしょうか? マクロを組む場合にはどのように組めばいいでしょうか? やりたい事 1を入力 → OK 2を入力 → OK 1.0を入力 → NG

  • Excel2007で数字を入力したセルが・・・E+13となってしまう。

    こんにちは。 仕事で、CSVファイルをExcel2007を開いています。 Excel上で、約3000行のセルに14桁の数字を入力しています。 その後保存して、再度開くと、入力したセルが 「・・・・・E+13」 と表示されてしまいます。 セルの書式設定で、表示形式を数値にすると、14桁の数字に 戻るのですが、再度保存して開くと、 また「・・・・・E+13」となってしまいます。 14桁の数字の表示まま保存するにはどうしたらよいでしょうか? よろしくお願い致します。

専門家に質問してみよう