
ExcelVBAについて質問です。
Webのデータを取得したいのですがたまにエラーがでます。
そこで1回エラーが出たら再度同じ処理をして、2回目もエラーが出たら
エラーメッセージを表示させたいです。
しかし1回目エラーで2回目取得できたらうまくいくのですが
2回連続でエラーになったら途中で止まってしまいます。
2回連続でエラーになった時の処理方法を教えてください。
Public Sub クリック_Click()
On Error GoTo Err1
Dim エラー As Integer
For エラー = 0 To 1
'HTML読み込み
Dim fff As String 'ファイルパス
Dim objIE As Object 'オブジェクト
Dim Myhtml As Variant 'HTMLタグデータ
'制御htmlファイル
phn = ThisWorkbook.Path
fff = "URL"
'Webページ表示
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Navigate fff
'画面表示待ち
Do While objIE.Busy = True
DoEvents
Loop
Myhtml = objIE.Document.Body.innerHTML
objIE.Quit
Sheets("シート").Range("A1").Value = Myhtml
Exit Sub
Err1:
Next エラー
MsgBox "エラー発生"
End Sub
No.1ベストアンサー
- 回答日時:
一度エラーになったら、そのまま処理を続けることはできません。
必ず Resume 命令で エラーを解除する必要があります。
:
:
Sheets("シート").Range("A1").Value = Myhtml
Modori:
Next エラー
Exit Sub
Err1:
If エラー = 0 Then Resume Modori
MsgBox "エラー発生"
End Sub
No.2
- 回答日時:
接続部分はFunctionにしたらいかがですか?
Public Sub クリック_Click()
dim i as integer
for i = 0 to 1
if i = 0 then
' 成功したら処理を抜ける
if prfReadHtml() = true then exit for
else
if prfReadHtml() = false then
' ここでエラーメッセージを表示
end if
end if
next
end sub
private function prfReadHtml() as boolean
' ここに読み込み処理を記入、成功したらtrue、失敗したらfalseを返す
end function
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Visual Basic(VBA) Excel vbaについての質問 3 2023/04/18 16:14
- Visual Basic(VBA) VBA★PDFをPDFアプリで印刷しようと思っていますが上手くゆきません 1 2022/06/06 22:04
- Visual Basic(VBA) EXCEL VBAで NHK NEWSの NEWSデータ内容取得が できない 1 2023/04/09 12:26
- Excel(エクセル) なぜExit Subがあるのかわかりません 4 2023/02/19 12:34
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
C言語で質問です。
-
scilabについて
-
書き込めない文字はどうすれば...
-
ShapeのVBAの中での取り扱い
-
fortran おそらく二重解法のエラー
-
Maximaでのエラーメッセージ
-
VBScriptのCreateFolderについて
-
pythonのコードエラーについて
-
VBA データ(特定値)のある最...
-
マクロOn Error GoTo ErrLabel...
-
Filter関数を用いた結果、何も...
-
ExcelにSQLの結果を表示
-
ExcelのVBAに詳しい方、教え...
-
お世話になってます
-
EXEL VBAで複数のsheetを指定す...
-
LaTeXのエラーについて(コンパ...
-
VBSCRIPTで返されるErr.Number...
-
ExcelVBAについて質問です。
-
変更履歴テーブルについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
マクロOn Error GoTo ErrLabel...
-
UserForm1.Showでエラーになり...
-
お助けください!VBAのファイル...
-
VBAでfunctionを利用しようとし...
-
【VBA】ワークブックを開く時に...
-
String""から型'Double'への変...
-
文字列内で括弧を使うには
-
マクロで"#N/A"のエラー行を削...
-
Excel vbaについての質問
-
VBA データ(特定値)のある最...
-
On ErrorでエラーNoが0
-
インポート時のエラー「データ...
-
【VBAエラー】Nextに対するFor...
-
ACCESSで値を代入できないとは?
-
【Access】Excelインポート時に...
-
VBでSQL文のUPDATE構文を使った...
-
【VB.NET】 パワポ操作を非表示で
-
「実行時エラー '3167' レコー...
-
実行時エラー 438 の解決策をお...
-
実行時エラー'-2147467259(8000...
おすすめ情報