• 締切済み

マクロ実行後、セルへ直接キーボード入力ができない。

エクセルマクロを実行した後、 マウスを使わずに、 直接いきなりセルへ入力すると、 ツールバーのコマンド選択バー(というのかな?) が出てきてしまいます。 例えば、 「H」と入力すると、ヘルプのバー。 「F」と入力すると、ファイルのバー。 「E」と入力すると・・・ですね。 にゅーっと出てきてしまうのです。 エクセルマクロの実行内容は、 実行すると、他のファイルを開いて、 閉じるということをやっています。 上記のいう「H」が、 セルへ入力できればいいのですが、 何が原因なのかさっぱりわかりません。 「Application.EnableEvents = ・・・」や 「Application.ScreenUpdating = ・・・」 かな? 誰か対処方法がありましたら、 伝授のほうをよろしくおねがいします。 OS:windows95 ソフト:Excel97          です。

みんなの回答

  • i-touch
  • ベストアンサー率40% (170/415)
回答No.3

VBAの公開ありがとうございました。 これはコピー・貼り付けされたものでしょうか? 手で書き写したとしたら、たぶん外してます。 Prc_opmaster()の中の2行目で Workbooks("sheet1").Activat は Worksheets("sheet1").Activate じゃないかなと思います。 エクセル2000だとエラーになります。 では。

  • i-touch
  • ベストアンサー率40% (170/415)
回答No.2

#1の方のおっしゃる通りで、なぜか「ALT」が押された状態のようです。 マクロって、VBAのことですよね? 原因を取り除くか、入力したいセルを選択状態にしてしまうというのはどうでしょうか? Range("C8").Select (例はC8セルに入力したい場合) 頑張ってくださいね。

tks_kitagawa
質問者

お礼

ありがとうございます。 はい、マクロはVBAのことです。 Range("C8").Select と最後に入れてみたんですけど、 だめですねー。 なんででしょうかねー。

tks_kitagawa
質問者

補足

では、おもいきってVBAの中身を、 公開しちゃいます。 みなさんからの意見がいただけますように・・・。 ---ここから------------------------------------ Private Sub Workbook_Open()  Application.ScreenUpdating = False  Sheets("sheet1").Activate  Prc_opmaster   '//Bというファイルを開く  ActiveWindow.Visible = False   '//Bというファイルを非表示  '(なにかやってます)  Prc_clsmaster  '//Bというファイルを閉じる  Application.ScreenUpdating = True  Range("A1").Select End Sub Sub Prc_opmaster()  Workbooks.Open ("Bというファイルのパス"), ReadOnly:=True  Workbooks("sheet1").Activate End Sub Sub Prc_clsmaster()  Workbooks("B.xls").Close False End Sub ---ここまで------------------------------------ 「Prc_opmaster」と「Prc_clsmaster」の2つのプロシージャーは、 標準モジュールに記述してあります。 わかっていることは、 Bというファイルを開く処理をすると、 バーがにゅーっと現象が起きてしまいます。 それがなぜだかわからんのです。 こんな補足、大丈夫かな・・・・

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.1

多分、「ALT」キーが押された状態になっていると考えられます。マクロの内容が不明なので、原因は分かりませんが、 一回「ESC」キーを押して入力してみてはどうでしょうか。 多分入力はできるような気がしますが・・・・・ 情報不足の感があります。

tks_kitagawa
質問者

お礼

ありがとうございます。 また情報不足を指摘されてしまった・・・。 「ESC」キー押してみたんですけど、 だめでしたねー。 なんででしょうかねー。

関連するQ&A

  • VBAでマクロ実行中はExcelのマウスやキーボードを使ってセル選択などを無効にしたい

    お世話になります。 VBAで作成しております。 VBAでマクロ実行中は、Excelのマウスやキーボードを使ってセル選択などを無効にしたいのですが、どのようにすればよいでしょうか? ※Application.ScreenUpdatingはただ、画面の更新は止まっているのですが、セル選択などは裏で実行されているみたいで。。。 以上よろしくお願いします。

  • Excel で日付入力したらマクロが動く方法

    Excel 2003 です。(OSはXP) データ用のエクセルファイルからマクロでコピー貼り付けをする日報ファイルを作っています。構成シートが7枚、マクロは12モジュール、ファイルサイズが140MBという巨大なものです。 セルB2に日付を入力したとき、Macro1が動くようにしたいのですが、 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address <> "$B$2" Then Exit Sub Else... 以外に何かうまい方法はないでしょうか? セルに値を入力、じゃなくて、何かのコントロールでもかまいません。 マクロで日付を読み込めることが必須条件です。 上述のマクロの活用方法はいろいろ読みましたが、処理に時間がかかって困っております。「全てのセルに変更が加えられたのを検知」するしか方法はありませんか? 一応、この Macro1 を呼び出す部分以外には Application.EnableEvents = False を入れて、Worksheet_Changeが反応しないように止めていますが、遅いような気がします。(計ったわけではないのですが。) この日報ファイル自体が、計算の塊で、1つのセルに数値を入力しただけで、再計算に1秒前後かかることがあります。 そこで、貼り付けのマクロ(Macro2)を動かすときには Application.Calculation = xlManual を入れたりもしているのですが(それでも貼り付けに1分30秒)、常に再計算をOFFにするわけにもいかず・・・。 だから「全てのセルに変更が加えられたのを検知」という命令は、時間短縮のため避けたいのです。 また、マクロの全てにEnableEventsを入れておくのも、見苦しくて。(新たにマクロを追加したらまた忘れずにEnableEventsを書かないといけない構造にしたくありません。) 「全てのセルに変更が加えられたのを検知」ではなく、特定のオブジェクトに日付が入力された・選択されたのをマクロの開始合図とすることはできませんでしょうか? 質問がわかりにくかったらすみません。よろしくお願いします。

  • タスクバーのアプリ開閉を回避したいです。

    30件程度のエクセル「個別ファイル」を集計するマクロについてです。 下記のコードを実行すると、VBAが記述されているエクセルの他に タスクバーで「個別ファイル」のエクセルが開閉してしまい、画面がちらちらしてしまいます。 ExecuteExcel4Macroを試し、かなり苦戦したのですが処理が遅かったです。 個別ファイルのウィンドウだけを開閉し、処理の最後にエクセルアプリを閉じる方法など ありませんでしょうか? 他の方法でも構いませんので、みなさまよろしくご回答願います。 WindowsXPとExcel2007を使用しております。 Application.ScreenUpdating = False Application.EnableEvents = False Set 個別ファイル = Workbooks.Open(Filename:=LocalFileName, ReadOnly:=True) '集計マクロ 個別ファイル.Close SaveChanges:=False Application.EnableEvents = True Application.ScreenUpdating = True

  • excel マクロが実行できません!

    タイトルどおりなのですが、 以前 excel2002 で作成したマクロを excel2000 の pc に copy し実行した所、 メッセージボックスで 「このプロジェクトのマクロは無効に設定されています。マクロを有効にする方法についてはオンラインヘルプまたは ホストアプリケーションのドキュメントを参照してください。」 となります。 ヘルプがこの pc から表示できませんので、どなたかご教授して下さい。

  • マクロを任意のセルで実行させたい

     マクロを勉強中です。  EXCELでセルを結合してやり、色を付けるマクロを作成しましたが、実行してやるとそのセルでしか実行しません。  これは何故でしょうか。  また、希望する場所で実行させたい時にはどの様にしたら良いのでしょうか。

  • エクセルでセルの値が変更されたらマクロを実行

    エクセルで、セルの値が変更されたらマクロを実行したいと考えています。 具体的には、A1のセルに何か値が入力されるか、変更されたら、 作成したマクロを実行したいと考えています。 どうしたらいいのでしょうか。 ご教授ください。 よろしくお願いします。

  • エクセルでファイル名を任意のセルに入力するマクロを組むには?

    エクセルにて、マクロを実行すると、 ダイアログボックスが出てきて、ファイルを 選ぶと、そのファイル名が任意のセル (たとえばB10とか)に入力されるような マクロを組みたいのですが、うまくいきません。 しかも、そのファイル名についている拡張子なしで 入力されるようにしたいです。 どなたかご教授ください。

  • VBA EnableEventsの動作

    Win7 Excel2013使用 Application.EnableEventsの動作でおかしな事がおきているので 解決方法を教えて頂きたいのですが、 シートの並びかえマクロを作成し、 その中で最初と最後にApplication.EnableEventsとscreenupdating を false→処理→trueで設定しています。 マクロ実行後、別のマクロ(sheetchangeイベント)を実行しようとしたところ マクロ動作せず、状況を調べるために sub test() msgbox Application.EnableEvents msgbox Application.ScreenUpdating End sub 上記testマクロでそれぞれの状況を表示させたところ、どちらもtrueがかえってきました。 ただ、もう一度このtestマクロを実行するとApplication.EnableEventsだけfalseとなります。 シートの並びかえマクロのデバッグで検証を行いましたが、特にエラーはなく、最後のtrueまで 実行される事は確認しました。 何か考えられることはありますでしょうか?

  • セルに入力するたびにマクロを実行する

    タイトルにある通りなのですが、 今作っているエクセルファイルで、if文などを使いたかったため、VBAを使用しました。 プログラム自体は問題ないのですが、できれば入力するたびにマクロが実行されるように設定したいと考えています。 簡単なやり方があればお願いします!

  • マクロの実行について

    エクセルで料金計算をする、セル1Aに開始時刻を入力しセル1Bに終了時刻を入力するとセル1Cに料金が出力されるというマクロファイルを作りました。 現状1Aと1Bを入力しマクロ実行のスイッチを押して1Cを出力する、というやり方をしているのですが、スイッチを押す手間を省くために、1Aを入力しておいて1Bを入力したらスイッチを押さなくても自動的に1Cが出力されるようにしたいと考えています。 そのような設定をすることはできますか? ご回答よろしくお願い致します。

専門家に質問してみよう