質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

1回答

598閲覧

処理が遅い場合のExit処理

yokkesama

総合スコア9

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2021/06/25 02:35

とても時間のかかる(=重い)処理をさせる際に、
その処理が10秒以上費やすのであれば処理を中止する、という
処理はあるのでしょうか。

たとえば```VBA
Dim i as long
for i = 1 to 1000000
thisworkbook.worksheets(1).cells(i,1) = i & "行目です"
next i

というコードがあった場合に、この処理自体の処理時間が1分かかると仮定して、 でも処理開始から10秒を過ぎた時点でこの処理を中断する、というコードを書きたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2021/06/25 02:49

まず、自身で調べてやってみるところからでは。
yokkesama

2021/06/25 02:57

調べた結果わからなかったので聞いています。ご存じでしたら教えてください。
m.ts10806

2021/06/25 03:02

質問内容からは調べたことが一切伝わらなかったための指摘です。 赤の他人なので本当に調べず試さず丸投げする人との区別は不可能です。 調べたこと試したことを具体的に記載してください。
yokkesama

2021/06/25 03:41

ベストアンサーに選ばせていただいた方のご回答を見る限り、シンプルに解決できる内容だったんですね。 Google検索でExit処理など検索したのですが適当な対応が見当たらず、質問させていただきました。 内容によっては、あれもやったこれもやった、と記述する必要性は理解します。 「この質問はすぐにシンプルに解決できる!」と投稿していただいたjinojiさんに感謝です。
m.ts10806

2021/06/25 03:44

質問は編集できますし、「質問するときのヒント」もありますし、投稿前には色々と書いてある画面を経由するはずです。 「回答もらったからそれで終わり」では同じ指摘され続けると思います。
yokkesama

2021/06/25 05:04

内容によると思います。 即座に質問者の意図が分かって回答できる人がいるのであれば、必要十分な質問内容であったと判断します。質問内容にも回答いただいた内容にも満足です。 最初は自分の判断で質問内容を考え、質問投げかけて、皆さんから更なる情報提供があれば、それに応じて情報開示すればよいと思います。愚直に最初からルールや取り決めに従ってあれやこれやと情報を細かく記載するのは質問者も回答者も時間や労力の無駄、理解祖語が発生する可能性あります。 赤の他人であり、相手の状況なんてわからないのですから、質問されて「調べろ」なんていう回答は質問者の心象を悪くするだけだと思います(一方、回答できる人は回答する/しないを選べます)。 皆が気持ちよく使えるWebサイトになって/してほしいです。
m.ts10806

2021/06/25 05:11

赤の他人であり、相手の状況なんてわからないのですから  書いてないことを知る術はありません。 調べてないなら調べてね、 調べたなら「やったこと」として書いてね だけのことです。 何も書いてなければすでに確認した記事が回答の根拠として提示されても文句言えません。「それはすでに見ました」と後出しされたら回答者からの心象は最悪になりますよ。 ルールだから愚直に従えというより赤の他人相手なんだから自分が把握してることは全部出すのは質問者側の責務では。 オレオレルールを通すのでしたらこの手のコミュニティはむしろ自ら居心地悪していっているだけになります。 プログラムは書いたとおりにしか動かない 質問は書いたことしか伝わらない
yokkesama

2021/06/25 06:06

ベストアンサーが即座に出ている、この質問は「やったこと」を全部書く必要はなかった。 そして、調べたか調べてないかわからないから回答しない、という態度(現象?)は それこそ、このサイトのひな型(ルールなんですかね?)にぎちぎちに囚われているのでは? 内容を確認して、情報が足りなかったら要求・開示する、という人間のコミュニケーションをもってして成り立つサイトと認識しています。なので、内容をよく見て考えて行動(応用)する、ということも大切かと思います。 人間として生きるのであれば、この手のコミュニティでも世間一般でも、コミュニケーションをせねばならない以上、同程度に居心地の悪さを感じるものです。
snowdropAPP

2021/06/25 06:21

質問者様は ”愚直に最初からルールや取り決めに従ってあれやこれやと情報を細かく記載するのは質問者も回答者も時間や労力の無駄、理解祖語が発生する可能性あります。” と書いていますが、teratailサイトのルール等はご覧になられたでしょうか? 複数のユーザー様からやってほしいことだけを記載した丸投げの質問と意見まで来ていますよね? その時点でこの質問はteratailに適していません。 Yahoo知恵袋などのほうがよろしいと思います。 回答する側はあなたが何を試して、エラーは何が出ているかを知る必要があります。 なぜなら、あれをやった?これをやった?をなくすためです。 質問者様があれをやったこれをやった、を記述しない場合回答する側は一度やったことをもう一度聞く可能性があり二度手間です。 ただ、その可能性を減らすために何をしたか書いてほしいと思います。 二度手間なので試したことを書いていただいたほうが回答者側も原因を絞りやすいと思います。
guest

回答1

0

ベストアンサー

VBA

1Sub sample() 2 Dim t 3 t = Timer 4 5 Dim i As Long 6 For i = 1 To 1000000 7 ThisWorkbook.Worksheets(1).Cells(i, 1) = i & "行目です" 8' DoEvents 9 If Timer - t > 10 Then Exit For 10 Next i 11 12End Sub

投稿2021/06/25 03:04

jinoji

総合スコア4592

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yokkesama

2021/06/25 03:08

初歩的な質問で恐縮です。ありがとうございます。非常に助かりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問