VBAにて工程表の自動作成マクロを作成したのですが、社内で他の方にお試しで利用してもらったところ、途中で処理がエラーとなってしまいました。
予想ですが、エクセルのバージョンに問題があるのではないかと思っています。
・作成時~エクセル2000
・エラーが発生したバージョン~エクセル2010
他の2000使用者にも実行してもらったところ、問題なく処理が行われました。
社内には2000と2010が混在しているので、どちらでも使用できるようにしたいのですが、解決方法はありますでしょうか?
ちなみに2010で実行したら、カレンダーを作成している最中に「応答なし」が表示され、画面上の処理がフリーズします。
その後に、テキストボックスを指定して、特定のセルに移動させる処理があるのですが、指定したテキストボックスが存在しないというエラーが返ってきて、処理が中断します。(画面のカレンダー作成は正常に終わってました)
エラーとなる前にも他のテキストボックスを移動させているのですが、そちらは正常に処理されています。
2010でマクロ実行前に問題となっているテキストボックスを選択して名前を確認しましたが、間違ってはいませんでした。
分かり難い説明で恐縮ですが、何らかの解決方法をご提示していただけると幸いです。
No.1ベストアンサー
- 回答日時:
>>存在しないというエラー<<
が出ているのですから
>>テキストボックスを選択して名前を確認しましたが、間違ってはいませんでした。<<
その思い込みが失敗の原因ではないかと思います。
半角、全角、スペース、実際の名前など
名前をコピーして貼り付けて使うとか、
セルにでも書き出して比べるとか、
メモ帳に貼り付けてみるとかして
確認しないと気づかない場合があります。
回答ありがとうございます。
原因は思い込みでした。
数字の半角と全角に違いがありました。
2000の環境では問題なく動いていたので、信じて疑わなかったです。
問題なく使用できるようになったので、助かりました!
ありがとうございます。
No.2
- 回答日時:
>ちなみに2010で実行したら、カレンダーを作成している最中に「応答なし」が表示され、画面上の処理がフリーズします。
時間がかかるのなら Application.ScreenUpdating や Application.StatusBar を使った方がいいかと。
Sub test()
' 画面更新を抑制
Application.ScreenUpdating = False
Application.StatusBar = "処理中です。しばらくおまちください。"
' 注 ステータスバーを変更する処理は時間が掛かるので、頻繁に変更するとマクロの処理時間が長くなります。
' 処理を記述
' ステータスバーと画面更新を元に戻す
Application.StatusBar = False
Application.ScreenUpdating = True
End Sub
>その後に、テキストボックスを指定して、特定のセルに移動させる処理があるのですが、指定したテキストボックスが存在しないというエラーが返ってきて、処理が中断します。
指定の仕方がまずいのでは?
厳密に Sheet1.TextBox1.Value のように指定してみてはどうでしょうか?
あとは、ありがた迷惑なセキュリティ関係かもしれませんね。
セキュリティ設定を変更して実行してみてはどうでしょうか?
・ActiveX のセキュリティ設定
・マクロのセキュリティ設定
・外部コンテンツのセキュリティ設定
セキュリティ センターのオプションと設定を表示する
http://office.microsoft.com/ja-jp/excel-help/HA0 …
ご参考いただければ幸いです。
(Excel 2000, 2010 とも私の手の届かない環境なので間違いがありましたらご容赦ください。)
回答ありがとうございます。
処理画面を抑制したらすぐに処理が終わり、「応答なし」の表示が出なくなりました。
PC関係に無知な方々が使用するので、これで安心して使用してもらえます。
テキストボックスのエラーにの原因は思い込みでした。
数字の半角と全角に違いがありました。
2000の環境では問題なく動いていたので、信じて疑わなかったです。
問題なく使用できるようになりました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA アドインについて お詳しい方 ご教授をお願いします。 相談事項 現在以下の対応を実施した所、 1 2022/11/02 16:53
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Visual Basic(VBA) vbaエクセルマクロについて あるデータを作成し、デスクトップに.xlsx形式で保存するマクロを作成 2 2023/03/02 18:54
- Visual Basic(VBA) vbaエクセルマクロについて あるデータを作成し、デスクトップに.xlsx形式で保存するマクロを作成 6 2023/03/03 18:05
- Excel(エクセル) エクセル VBA実行中のApplication.ScreenUpdatingについて 3 2023/07/13 21:06
- その他(Microsoft Office) パワーポイントやワード、エクセルでのスライドショーやテキストの微調整について 1 2023/01/12 05:50
- Excel(エクセル) 【マクロ】エラーが発生⇒実行時エラー58既に同名のファイルが存在 5 2022/08/31 10:03
- Excel(エクセル) エクセルでcsvファイルを開いてVBAを使いたい 7 2022/04/28 11:12
- その他(データベース) 業務用のデータベースサーバーの選び方について 4 2022/11/22 10:22
- Excel(エクセル) CSVファイルがカンマ区切りにならない。対処法を教えていただきたいです。 仕事でSMS一斉送信ができ 2 2022/07/01 21:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【C#/Java?】try-catchでcatch...
-
private subモジュールを他のモ...
-
マクロで、次のコードへ行く前...
-
特定の名前のオートシェイプの...
-
Word VBA。各マクロの間に待ち...
-
シグナル 6(SIGABRT)とは?
-
バッチファイルでのエラー処理...
-
vbaのエラー対応(実行時エラー...
-
どう増強すべきか
-
【C#】Page_Loadさせない方法に...
-
特定のファイルを他のプロセス...
-
どうやってもFor文を抜けてしま...
-
Excel VBA セルの名前があるか...
-
複数個のTextBoxでいずれかの内...
-
エクセル VBAで複数セル選択時...
-
シートモジュールを複数作成す...
-
【VBA】エラー処理で別プロシー...
-
順番に処理させたい
-
ASP.netにて質問です。
-
“try/catch”と“if/else”
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【C#/Java?】try-catchでcatch...
-
IF文に時間(何時から何時ま...
-
private subモジュールを他のモ...
-
シグナル 6(SIGABRT)とは?
-
Functionで戻り値を複数返す方法
-
特定の名前のオートシェイプの...
-
ExcelのVBAで、選択したファイ...
-
マクロで、次のコードへ行く前...
-
どう増強すべきか
-
VBA 複数の行を高速で削除する...
-
Excel VBA セルの名前があるか...
-
特定のファイルを他のプロセス...
-
Word VBA。各マクロの間に待ち...
-
どうやってもFor文を抜けてしま...
-
【VBA】エラー処理で別プロシー...
-
エクセル VBAで複数セル選択時...
-
シェルスクリプトでファイル内...
-
【Vb.net】プリンタジョブの取得
-
vbaのエラー対応(実行時エラー...
-
VBAでBook読み込み時の非表示方...
おすすめ情報