下記のマクロでは、A列にあるURLのソースに、
指定した語句が含まれているか調べるものです。
このマクロを動かしていると、頻繁に、
実行時エラー3001「引数が間違った型、許容範囲外、または競合しています。」
というポップが出てきます。
そのため、思うようにマクロ作業が進みません。
このエラーが出る原因は何があるでしょうか?
エラーが出ないようにするためには、どのように記述した方がいいでしょうか?
それか、このエラーのポップを避けて、
その次のURLから動かしていくという風にできたりしますでしょうか?
よろしくお願いいたします。
Sub main()
'!!!! [Microsoft XML v6.0] に参照設定
Dim xHttp As IServerXMLHTTPRequest
Dim myErr_Number As Long, myErr_Description As String
Set xHttp = CreateObject("MSXML2.ServerXMLHTTP")
Dim aCell As Range
R = 1
For Each aCell In Selection.Columns(1).Cells
Application.Goto aCell
DoEvents
sUrl = aCell.Value
If sUrl <> "" Then
xHttp.Open "GET", sUrl, True
xHttp.setOption SXH_OPTION_IGNORE_SERVER_SSL_CERT_ERROR_FLAGS, _
SXH_SERVER_CERT_IGNORE_ALL_SERVER_ERRORS
On Error Resume Next
xHttp.send
If xHttp.readyState <> 4 Then
xHttp.waitForResponse 5
End If
If xHttp.readyState <> 4 Then Err.Raise 1004, ,
myErr_Number = Err.Number
myErr_Description = Err.Description
On Error GoTo 0
If myErr_Number = 0 Then
sHtml = xHttp.responseText
nRtn = InStr(sHtml, "A")
If nRtn = 0 Then
aCell.Offset(, 1).Value = "--"
Else
aCell.Offset(, 1).Value = "○"
End If
Else
aCell.Offset(, 1).Value = myErr_Description
DoEvents
End If
Next
Set xHttp = Nothing
End Sub
No.2ベストアンサー
- 回答日時:
・ご提示のプログラムは 少なくとも End If が一つ足りないので動作しません。
エラーが発生する正確なプログラムをコピペしてください。
・実行時エラーのときデバッグボタンをクリックすると、プログラムのどの行を指し示しますか?
・特定のURLでエラーが発生する等はありますか?
・ご利用のOSおよびExcelのバージョンを提示してください。
回答ありがとうございます!
コピペするマクロを間違えていました。すみません。
コメントでは、文字数エラーになるため、
改めて質問しました。
https://oshiete.goo.ne.jp/qa/11208027.html
> ・実行時エラーのときデバッグボタンをクリックすると、プログラムのどの行を指し示しますか?
in_strm.Charset = sCharset
の部分が黄色マーカーになっています。
> ・特定のURLでエラーが発生する等はありますか?
エラーが出たURLの一部は、これらです。
https://www.apo-job.jp/
https://www.aniel.jp/
https://www.amo-co.jp/
> ・ご利用のOSおよびExcelのバージョンを提示してください。
Excel2016です。
No.1
- 回答日時:
>実行時エラー3001「引数が間違った型、許容範囲外、または競合しています」
間違った型の引数または許容範囲外の引数を使用しているか、ほかの引数と競合しています。このエラーは、SQL SELECT ステートメント中のタイプミスが原因でよく発生します。SELECT ステートメントに指定されたフィールドまたはテーブルがデータ ストアに存在しない場合も発生することがあります。
例:フィールド名やテーブル名のスペルミスでこのエラーが発生。
https://answers.microsoft.com/ja-jp/msoffice/for …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【VBAエラー】Nextに対するForがありません 対策について 5 2022/11/21 21:26
- 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) オブジェクトが見つかりません 1 2023/06/24 19:43
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Excel(エクセル) なぜExit Subがあるのかわかりません 4 2023/02/19 12:34
- Visual Basic(VBA) エラーコード1004 6 2022/06/09 14:12
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
「実行時エラー3001」のポップが出てしまう
Visual Basic(VBA)
-
ADO VBA 実行時エラー3021
Visual Basic(VBA)
-
実行時エラー 3265「要求された名前、または序数
Visual Basic(VBA)
-
-
4
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
5
実行時エラー -2147217900 ADODBでレコードセットオープン時エラー
Access(アクセス)
-
6
ExcelでAccessのテーブルにADOでレコード追加時にエラーが発生
Excel(エクセル)
-
7
ADODB.Streamを使用してUTF-8を出力
Visual Basic(VBA)
-
8
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
9
Access サブフォームでの選択行の取得
その他(データベース)
-
10
ADOのCursorLocationプロパティ
Visual Basic(VBA)
-
11
ADOでアクセスのレコードに複数のフィルタをかけるには?
Access(アクセス)
-
12
Accessのフォームにて、詳細行のボタンを行の内容により、表示/非表
その他(Microsoft Office)
-
13
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
14
ACCESSのSQLで、NULLかNULLでないかの判定
その他(データベース)
-
15
ACCESSでVBAから選択クエリの抽出条件を指定したい
Access(アクセス)
-
16
ACCESSで値を代入できないとは?
Visual Basic(VBA)
-
17
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
18
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
19
ACCESS VBAの実行時エラーなんですが
PowerPoint(パワーポイント)
-
20
VBでSQL文のUPDATE構文を使った時のエラーについて
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
実行時エラー 438になった時の...
-
実行時エラー -'-2147417848
-
EXCEL VBAマクロ中断でデバッグ...
-
なぜこんな初歩的なVBAのIf文で...
-
エクセルエラー13型が一致しま...
-
VBAがブレークモードになっ...
-
EXCEL VBA シート追加時のエラ...
-
INSERT INTOステートメント構文...
-
マクロについて教えてください...
-
実行時エラー3001「引数が間違...
-
【Excel VBA】マクロをボタンに...
-
なぜエラーになるのでしょうか...
-
実行時エラー48発生時のDLL特定...
-
ACCESS フォームサイズ指定で...
-
VBSで変数の宣言はできないので...
-
ExcelVBA Range クラスの Page...
-
ADODB.Streamを使用してUTF-8を...
-
Excelで下記のようにマクロを作...
-
ExcelのVBAのAutoFillの使い方...
-
VBAでWorkbook.addの使い方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
実行時エラー 438になった時の...
-
エクセルエラー13型が一致しま...
-
【Excel VBA】マクロをボタンに...
-
なぜこんな初歩的なVBAのIf文で...
-
マクロについて教えてください...
-
実行時エラー3001「引数が間違...
-
VBAがブレークモードになっ...
-
ExcelVBA Range クラスの Page...
-
VBSで変数の宣言はできないので...
-
VBS実行時エラー オブジェクト...
-
OLEDB.NETで接続できない
-
プロシージャ名の取得
-
EXCEL VBAマクロ中断でデバッグ...
-
ADODB.Streamを使用してUTF-8を...
-
VBAでのエラー
-
実行時エラー48発生時のDLL特定...
-
Outlook.ApplicationをCreateOb...
-
VB6+SQL サーバー 2000 で 実行...
-
実行時エラー -'-2147417848
-
「コンパイルエラー:プロシー...
おすすめ情報