下記のマクロでは、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も見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
「実行時エラー3001」のポップが出てしまう
Visual Basic(VBA)
-
ADO VBA 実行時エラー3021
Visual Basic(VBA)
-
実行時エラー 3265「要求された名前、または序数
Visual Basic(VBA)
-
-
4
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
5
Access サブフォームでの選択行の取得
その他(データベース)
-
6
実行時エラー -2147217900 ADODBでレコードセットオープン時エラー
Access(アクセス)
-
7
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
8
ADODB.Streamを使用してUTF-8を出力
Visual Basic(VBA)
-
9
ExcelでAccessのテーブルにADOでレコード追加時にエラーが発生
Excel(エクセル)
-
10
ADOのCursorLocationプロパティ
Visual Basic(VBA)
-
11
VBでSQL文のUPDATE構文を使った時のエラーについて
Visual Basic(VBA)
-
12
「RunSQL」と「Execute」の違い
Access(アクセス)
-
13
ACCESSのSQLで、NULLかNULLでないかの判定
その他(データベース)
-
14
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
15
ACCESSで値を代入できないとは?
Visual Basic(VBA)
-
16
レコードセットにnullの場合
Visual Basic(VBA)
-
17
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
18
Excel VBAからAccessマクロを実行したい
Visual Basic(VBA)
-
19
On ErrorでエラーNoが0
Visual Basic(VBA)
-
20
ADOを使ったDBアクセス後のメモリ解放
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
実行時エラー 438になった時の...
-
エクセルエラー13型が一致しま...
-
日本語環境下で作成したマクロ...
-
なぜこんな初歩的なVBAのIf文で...
-
VBS実行時エラー オブジェクト...
-
【Excel VBA】マクロをボタンに...
-
Application.ActiveInspectorで...
-
ExcelVBA Range クラスの Page...
-
職場から目的地までの距離集計
-
プロシージャ名の取得
-
実行時エラー3001「引数が間違...
-
なぜエラーになるのでしょうか...
-
Access2003、2010間の非互換?
-
エクセルVBA、フリーフォームで...
-
ExcelのVBAのAutoFillの使い方...
-
Excel2019 ワークシートのコピ...
-
VBA 別シートのセルから、文字...
-
VBAのChrome操作のエラーについ...
-
【エクセル】ハイパーリンク先...
-
VBSで変数の宣言はできないので...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
実行時エラー 438になった時の...
-
エクセルエラー13型が一致しま...
-
【Excel VBA】マクロをボタンに...
-
VBAでのエラー
-
マクロについて教えてください...
-
なぜこんな初歩的なVBAのIf文で...
-
VBAがブレークモードになっ...
-
実行時エラー3001「引数が間違...
-
ExcelVBA Range クラスの Page...
-
VBS実行時エラー オブジェクト...
-
EXCEL VBAマクロ中断でデバッグ...
-
Outlook.ApplicationをCreateOb...
-
VBSで変数の宣言はできないので...
-
VBAのコードがエラーになっ...
-
実行時エラー -'-2147417848
-
ADODB.Streamを使用してUTF-8を...
-
EXCEL/VBAで、自分のPCだけエラ...
-
OLEDB.NETで接続できない
-
プロシージャ名の取得
-
VB6+SQL サーバー 2000 で 実行...
おすすめ情報