- 締切済み
Excelのマクロ ランタイムエラー1004
上記のエラーが出て困っています。 仕事の就業報告書を書こうと、会社から配られたマクロの組まれたエクセルファイルを開き、 マクロの有効化ボタンを押すと 「ランタイムエラー1004 DialogSheetクラスのエディタボックスのプロパティが取得できません」 なるエラーが出てきてしまい、本来表示されるはずの年月・社員番号・名前を入力するウィンドウが出てきません。 一番謎なのは、別のパソコンでそのファイルを開くとマクロが正常に動くことです。 土日は会社が休みなので、会社に聞くことも出来ず・・皆さんの力をお借りしたいです。 どちらのパソコンもOSはWindows7、使用しているのはMicrosoft Office2010のexcelです。 どのような原因が考えられられますでしょうか? あまり詳しくないので、どのような情報を提供すればよいのか分かりません。 何か皆さんが知りたいこと・確認作業が必要なら、そちらも教えていただけると幸いです。
- jikitarisu1
- お礼率51% (121/235)
- Excel(エクセル)
- 回答数4
- ありがとう数3
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- WindFaller
- ベストアンサー率57% (465/803)
#2の回答者です。 >1と書かれたダイアログボックスが表示されました。これは、シートは存在していると言う事でしょうか? はい! ダイアログシートはあります。そして、ダイアログ・シートは開きましたか? まず、私の心配していた、ロックは掛かっていなかったようですね。 次に、エディットボックスが存在しているか、生きているか、という所を確認してみてください。エラーが出るでしょうか?ダメな場合は、再度、貼り付けるしかありません。 Excel 2010 の場合は、[開発タブ]--[挿入]--[フォームコントロール]--[テキストフィールド] です。ダイアログ・ボックス上で、カーソルが+(プラス)に変わったら、エディットボックスが作れます。以下のように、EditBoxes(1),EditBoxes(2) ... というスタイルにしている限りは、読み取れるはずです。 基本的には、元のマクロにも、同様の構文があるはずです。 '最初に、1番目のEditBoxに文字を入れてみてください。白抜きの所で二度クリックします。 'そうしてこのマクロを実行したらどうなりますか? Sub Test2() MsgBox DialogSheets(1).EditBoxes(1).Text '←プロパティは、.Text のみです。 End Sub これでダメだと、私には、今のところ、他に思いつく所がありません。
- WindFaller
- ベストアンサー率57% (465/803)
こんにちは。 確認作業としては、 まず、DialogSheet は、存在していますか? ふつう、Excel 2010 でも、DialogSheet は動きますが、別のオブジェクトが邪魔をしているのかもしれませんね。そうすると、ネットからの指示では難しいです。 どこのVBEditor の画面でもよいので、以下を貼り付けます。 (プロテクトが掛かってはいませんよね。) '// Sub Test() MsgBox DialogSheets.Count 'ひとつなら、1が出ます。 If DialogSheets.Count > 0 Then DialogSheets(1).Activate 'とりあえず、ダイアログシートの1つを開けます。 End If End Sub '// この後、オブジェクトが正しく貼り付けられているか確認してください。もしかしたら、消えているかもしれませんね。その場合は、一端、元のコードで、エディタ・ボックスの部分を知らないといけないかもしれません。
お礼
回答ありがとうございます。 書いていただいたコードを貼り付けて実行してみたところ、1と書かれたダイアログボックスが表示されました。これは、シートは存在していると言う事でしょうか?
- kkkkkm
- ベストアンサー率65% (1601/2438)
No1です もしくは、エクセルを起動して「開く」から「開いて修復する」を実行してみてもいいかもしれません。
お礼
回答ありがとうございます。Officeやファイルの修復を行ってみたのですが、変わらずエラーが出てしまいます。
- kkkkkm
- ベストアンサー率65% (1601/2438)
DialogSheetを使っているという事はかなり古いエクセルファイルのようですね。 一度Officeの修復をされてみてはいかがでしょう。 http://office.microsoft.com/ja-jp/excel-help/HA010357402.aspx
関連するQ&A
- EXCELマクロについて
csvファイルを一旦EXCELで保存して、見やすい表にしたいのですが、その作業をマクロに記憶させることができる考えております。 ただ、その記憶したマクロを他のパソコンにもコピーできますでしょうか。同じ環境のWindowsで同じバージョンのExcel 一応Excelは2003を考えております。 よろしくお願いいたします。
- ベストアンサー
- その他MS Office製品
- ExcelマクロでVBエディタの自動化は出来ない?
Excelのマクロで、VBエディタの操作を自動化したいと考えていますが、出来ないのでしょうか? マクロの記録では VBエディタの操作は一切記録されないようです。 バージョンは Excel2003 です。 具体的には、全てのマクロのコードをテキストファイルに吐き出したいと考えています。 ファイルメニューのエクスポートでも、コードウィンドウ1つ1つを "全てを選択" でも、Excelのマクロから実行させることは出来ないのでしょうか? よろしくお願いします。
- ベストアンサー
- その他MS Office製品
- マクロを含むExcel 文書のコンパイルエラー
お世話になります。 マクロを含む Excel のファイルがあります。 そのファイルをWindows98SEのパソコンで開く際に、 コンパイルエラー: プロジェクトまたはライブラリが見つかりません。 というメッセージが表示され、 --- Sub Auto_Open() Worksheets("MENU").Select Range("B3").Value = Month(Date) End Sub --- のDateの部分が色が反転して表示されます。 これは、何が問題でしょうか? ライブラリのバージョンが古いのでしょうか? マクロの文法がおかしいのでしょうか? 違うWindows98では、表示されません。 何が原因か分かりましたら教えてください。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルマクロで外部ファイルを開きたい
エクセルマクロで外部ファイルを開きたい エクセルのマクロをまだ詳しく知らないため、 ここで教えていただき一連の作業の最後にデータをクリップボードに 納めるところまでのマクロを作っていただきました。 そしてこのクリップされたデータをエディタソフト(Em-Editor)をその都度起動して張り付けています。 ついては使用中のマクロの中に外部ファイル(エディタ)を呼び出すところまでできれば 都合がいいのですが、手元にある解説書などを見ると ファイルの呼び出しマクロはエクセルのワークブックのことしか記述してありません。 外部ファイル(エディタ・新規)をマクロで呼び出すことは可能でしょうか。 WindowsXP-SP3/Excel2003/
- ベストアンサー
- その他MS Office製品
- ランタイムエラーについて・・・処理をしたのですが・・・
パソコンの知識が乏しい為、なかなか分かりません。 詳しい方がいらっしゃったらお願いします。 今、富士通のパソコンでWindows XPを使用しています。パソコンを起動時にランタイムエラーが表示されました。 スタート→ファイル名を指定して実行→システム構成ユーティリティ→スタートアップの中のRoxWatchTray9のチェックとSkypeとSkytelを外すと起動時にランタイムエラーが表示されなくなります。 このRox・・・・って何なのでしょうか? 逆に全てを無効にしてRox・・・だけ選んで再起動してもランタイムエラーはおこりません。これは一体なぜなのでしょうか? このRox・・・のチェックを外して使用しても大丈夫なのでしょうか?
- ベストアンサー
- その他([技術者向] コンピューター)
- Excel2002でマクロやVBAが使えない
ファイルNO230881にExcel97で作ったマクロがExcel2000で使えないという質問がありましたが、私の場合Excel2000で作ったマクロがExcel2002で使えません。 ファイルNO230881の方は自動修復で直ったそうですが、自動修復のリストにExcel が乗ってきていないので困っています。 起きている症状は、 Excel2000で作成したマクロを、Excel2002で実行しようとしたら、***はマクロを含んでいますとメッセージが出て、マクロを有効にすると、オブジェクトライブラリは登録されていませんというメッセージが出てきたので、OKにし、もう一度マクロを有効にしたら、「***の修復 ***にエラーが検出されましたがMicrosoftExcelは次の修復を行うことによってファイルを開くことができました。修復を保持するにはこのファイルを保存してください。 VisualBasicプロジェクトが失われました。 ActiveXコントロールが失われました。」というエラーメッセージが出てきて、マクロがなくなってしまい、また新しくマクロを記録しようとしても、記録できません、というエラーメッセージが出てきてマクロが作れなくなってしまいました。 尚、セキュリティは中にしてありますが、低でもマクロの記録ができないです。なぜでしょう? VBAプロジェクトのライブラリファイル参照がうまくいっていないということはわかるんですが、VBエディタの[ツール]>[参照設定]がグレーで開くことができません。 みなさんのお知恵をお貸しください。
- 締切済み
- オフィス系ソフト
- ランタイムエラー?
このサイトもそうですがホームページを開くたびに「ランタイムエラーが発生しました。デバッグしますか?行:1エラー:文字が正しくありません。」というエラーメッセージが出てきます。どうすればでなくなるのでしょうか?「はい」を選択しましたらもう一回出てきてそれでもはいにするとどれをデバッグしますか?というウインドウが出てきます。その逆の「いいえ」にすると、これももう一度出てきて、もう一回いいえを選択しますと、消えますがまた次のページでまた出てきます。このパソコンは買ったばかりです。OSはWindowsXP。CPUはCeleronの1.8メモリは256MBです。メーカーは東芝。型番T6/518CMEです。このパソコンを直す方法を教えてください。よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- EXCELのマクロでACCESSのカレンダーを使用時のエラー
EXCELのマクロ(VBA)の中で、一部ACCESSのカレンダー機能を使用しています。 何台か同じ環境のパソコンはあるのですが、一台だけ、次のようなエラーがでます。 何が原因と考えられるでしょうか。 ACCESS2003のランタイムと、EXCEL2003の組み合わせです。 <エラー内容> 「コンパイルエラー。プロジェクトまたはライブラリーが見つかりません」 ということで、EXCELのVBAの画面が開き、Date()の記述の箇所が反転します。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- Excelのマクロ
Windows XPでExcel2003を使っています. 今までそういうことは全くなかったのですが, 急に,Excel2003を起動しただけで,マクロに関する警告が 出るようになりました. OFFICE11\xlstart\Cleaner.xla OFFICE11\xlstart\DG_97.xla はマクロを含んでいます という内容です. この種の警告は,マクロが埋め込まれているファイルを開くとき に出てきますが,今回はマクロが入っているはずのないファイル, ましてや既存ファイルを開くのではなく,Excel2003のソフトを起動して 新規ファイル(Book1など)を作ろうとしただけで,必ず出るように なってしまっています. セキュリティレベルを変えれば,こうした警告は出なくなったりは しますが,出ていなかったものが出るようになったわけですから, 何が変わったのでしょうか. 以前のように出ないようにするには,どうしたらいいのでしょうか. 何かの設定の問題でしたら,設定方法を教えて下さい.
- ベストアンサー
- オフィス系ソフト
- プラグインを更新したら、ランタイムエラーが出る
Windows 7 Home Premium (Service Pack1 /64bit) で、 Firefox 12.0 を使っています。 (Shockwave Flashは ver 10.1 r102) 昨夜、 【このページの表示に使用するプラグインが古いので更新してください。】 のポップアップが出たので、Firefoxが推奨する、 『Shockwave Flash』 (Adobe Flash Player 11.2.202.235) を、インストールしたら、 以来、 パソコンを起動するたび、画面に、 英文で「ランタイムエラー」が表示されます。 コンピュータ>プロパティ>システムの保護>システムの復元 で、インストール前に、戻したら、 「ランタイムエラー」は出なくなるのですが、 代わりに、【プラグインが古いので……】 のポップアップが、相変わらず、出てきます……orz ポップアップ or ランタイムエラーの表示が出続けるのを、 見て見ぬふりしたほうがいいのでしょうか? それとも、うまくいく方法が、あるのでしょうか? パソコンは、長年使ってますが、あんまり技術的に詳しくないので、 申し訳ないです……分かる方、教えてください。
- ベストアンサー
- Windows 7
お礼
どうやら私の使っているOfficeが英語版なため、値を取得する際の名称が違うだけでした。おかげさまで解決できました。ありがとうございました。