
下記のマクロでは、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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
「実行時エラー3001」のポップが出てしまう
Visual Basic(VBA)
-
ADODB.Streamを使用してUTF-8を出力
Visual Basic(VBA)
-
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
-
4
ADOのCursorLocationプロパティ
Visual Basic(VBA)
-
5
【AccessVBA】レコードセットOpen時の引数について
Access(アクセス)
-
6
ACCESS ADOでupdateが効かない
その他(データベース)
-
7
ExcelでAccessのテーブルにADOでレコード追加時にエラーが発生
Excel(エクセル)
-
8
ACCESSでVBAから選択クエリの抽出条件を指定したい
Access(アクセス)
-
9
VBAでアクセスDBからデータの取得について
Visual Basic(VBA)
-
10
Access VBAから使用したExcelプロセスを閉じる方法について
Visual Basic(VBA)
-
11
MS Accessでフォームの「開く時」と「読込み時」のイベントの違い
Access(アクセス)
-
12
アクセスVBAのMe!と[ ]
Access(アクセス)
-
13
Access サブフォームでの選択行の取得
その他(データベース)
-
14
【ACCESS】フォーム名/コントロール名を文字列型変数で指定するには
Access(アクセス)
-
15
Access 複数フォームを開き、画面の最上面にしたいフォームをコント
その他(データベース)
-
16
Accessのコンボボックスでリストが選択できない
Word(ワード)
-
17
Accessでレコードを別テーブルへコピーするには
Access(アクセス)
-
18
実行時エラー -2147217900 ADODBでレコードセットオープン時エラー
Access(アクセス)
-
19
AccessのDAOでフィールド名を配列に格納して・・・
Visual Basic(VBA)
-
20
ACCESSでクエリを作成したら「式が複雑すぎます。」の表記が…
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
実行時エラー 438になった時の...
-
VBAがブレークモードになっ...
-
【Excel VBA】マクロをボタンに...
-
実行時エラー -'-2147417848
-
「アプリケーション定義または...
-
なぜエラーになるのでしょうか...
-
VBAでのエラー
-
【マクロ】エラー【#DIV/0!】が...
-
BorderクラスのLinestyleプロパ...
-
VB6+SQL サーバー 2000 で 実行...
-
VBで構造体を使うさ際の64k...
-
Exce2007でBorder クラスの Lin...
-
Excel2019 ワークシートのコピ...
-
エクセルVBA、フリーフォームで...
-
VBAで入力規則の設定がうまくい...
-
【VBA-AC2000】カレントプロシ...
-
ExcelVBA ファイルクローズ時...
-
VBSの例外処理について
-
エクセルエラー13型が一致しま...
-
Access マクロでのテーブル削除
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
実行時エラー 438になった時の...
-
VBAがブレークモードになっ...
-
実行時エラー -'-2147417848
-
【マクロ】エラー【#DIV/0!】が...
-
なぜこんな初歩的なVBAのIf文で...
-
マクロについて教えてください...
-
VBAでのエラー
-
ExcelVBA Range クラスの Page...
-
実行時エラー48発生時のDLL特定...
-
実行時エラー3001「引数が間違...
-
VBAで、定数式が必要ですのエラ...
-
Outlook.ApplicationをCreateOb...
-
あとこれさえ出来ればよいので...
-
VB6+SQL サーバー 2000 で 実行...
-
VBS実行時エラー オブジェクト...
-
EXCEL/VBAで、自分のPCだけエラ...
-
EXCEL VBAマクロ中断でデバッグ...
-
VBAのエラー発生場所をメッセー...
-
なぜエラーになるのでしょうか...
-
Invalid procedure call or arg...
おすすめ情報