- 締切済み
【VBA】実行中に「型が一致しません」というエラー
【VBA】実行中に「型が一致しません」というエラーが発生します。 http://d.hatena.ne.jp/language_and_engineering/20090710/p1 上記URLの中の『もっと楽にコーディングしたい』項のコードを実行すると、 getElementByIdの引数のところで、 「型が一致しません」 というエラーが発生します。 原因がわからないのでわかる方居らっしゃったらお答えいただければと思います。 環境は以下のとおりです。 Window 7 IE 9 Excel 2003 おそらく上記環境が原因かと思うのですが…
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- lang_and_engine
- ベストアンサー率0% (0/0)
関連するQ&A
- 実行時エラー’13’ 型が一致しません VBA
セルに以下の文字列が入っています。 A1=10(451 A2=452 そしてVBAにて、以下のプログラムを実行すると、「実行時エラー’13’ 型が一致しません」というエラーになってしまいました。 原因はA1に「( 」があるので文字列だからだと思うのですが、「IF 条件文」が成立しないことは満たすのでElse以下を実行されるのを期待していたのですが。 アドバイスをお願いします。 また、そもそも変数を宣言してないので「型が一致しない」というエラーの意味がわからないのですが。 If Cells(1, 1) - Cells(2, 1) = 1 Then Cells(3, 1) = 1 Else Cells(3, 1)="c" End If
- ベストアンサー
- Excel(エクセル)
- 実行時エラー 13 型が一致しませんと出るのですが
アクロバット5.0を入れてしばらくしてから、 MS-WORDを終了するとき必ず 実行時エラー 13 型が一致しません と出るようになってしまいました。 アプリケーションの自動修復をやってみましたが 効果ありません。 どうすれば直るでしょうか? 環境は MS-WORD2000 Windows2000Proです。
- 締切済み
- オフィス系ソフト
- Excel VBA で「型が一致しませんエラー
Excel VBA で「型が一致しません」というエラーが発生します。 -------------------------------------------------------------------------------- Dim katacode as String katacode = "(1001,1002,1005,1010,1015,1020,1030,1035,1036,1040,…(省略)…,1150)" With ActiveSheet.QueryTables.Add(Connection:= _ pubfncgetConnectString,Destination:=Range("A1")) .CommandText = Array(_ "SELECT ~ FROM ~ WHERE コード IN katacode -------------------------------------------------------------------------------- 「katacode」の値が、文字列の長さが155までは上手く動くのですが それ以上に追加すると「型が一致しません」というエラーが発生します。 原因がわかりましたら教えていただけないでしょうか。よろしくお願い致します。
- 締切済み
- オフィス系ソフト
- 「実行時エラー13 型が一致しません。」
DSum("[金額]", "明細", "[取引日] Between #2015/08/01# And #2015/08/01#" And "対象外=0") アクセスVBA上でDSum関数を使っているのですが、 このコードを実行すると 「実行時エラー13 型が一致しません。」 になります。 DSum("[金額]", "明細", "[取引日] Between #2015/08/01# And #2015/08/01#") だけなら問題なく動くので、明らかに"対象外=0"が原因だと思います。 対象外フィールドは Yes/No型なので数値の0を条件にしてみました。 日付と数値の複合の検索条件は無理なのでしょうか?
- ベストアンサー
- その他MS Office製品
- VBA 型が一致しません の行からデバッグするには
今晩は、質問させていただきます。どうぞよろしくお願いいたします。 環境:Win7 Excel2010 OfficeSP2 でございます。 VBA実行中にエラーが起こると大抵の場合はメッセージボックスが表示されて、そこにある「デバッグ」ボタンを押すとエラーが生じている行が黄色くなり、デバッグモードに入ると思います。(添付図の左側) が、私の環境で起こります「実行時エラー13 型が一致しません」は いつも、何故か「OK」ボタンしかございません。(添付図の右側) 長い時間計算を回した後にこのエラーで止まられると、 ・Debug.Printなど対処を施す ・長時間、エラーが出る時まで計算を回す を何度も繰り返してエラー原因を特定せねばなりませんため、非常に非効率で悩んでおります。 「デバッグ」ボタンが付いたエラーメッセージボックスが出されるようにするには、何か方法があるのでございましょうか? もしお詳しい方がいらっしゃいましたら,どうぞよろしくお願いいたします。
- ベストアンサー
- Excel(エクセル)
- エクセルVBA 実行時エラー‘13’型が一致しまん
VBAは初級レベルです。説明が分かりづらかったらすみません。 Windows7/Excel2002を使っています。 エクセルVBAで、変数MMMと変数DDに処理する日付を入れたいのですが、 実行時エラーになってしまい、うまく変数が設定できません。 例えば、31MAR.xls というエクセルファイルがあります。 (ファイルは、デイリーベースで存在します。) このファイル名の月と日にちを変数に入れます。 DD = 日にち (例えば、31日なら“31”) MMM = アルファベット3文字 (3月なら“MAR”) そして、入力する為のワークシートを Set NYURYOKU = Workbooks(DD & MMM & ".xls").Worksheets("入力") としたのですが、 『実行時エラー‘9’インデックスが有効範囲にありません。』 となってしまいます。 このとき、 DDの値は、0: MMMの値は、00: になっています。 --------------------------- Dim HIDUKE As Date HIDUKE = Left(ThisWorkbook.Name, 5) MMM = Mid(HIDUKE, 3, 3) DD = Left(HIDUKE, 2) Set NYURYOKU = Workbooks(DD & MMM & ".xls").Worksheets("入力") --------------------------- 変数宣言で、Dim HIDUKE As Date にすると、 HIDUKE = Left(ThisWorkbook.Name, 5) の所で『実行時エラー‘13’型が一致しません。』 となってしまい、 試しに Dim HIDUKE As String にすると、 MMM = Mid(HIDUKE, 3, 3) の所で『実行時エラー‘13’型が一致しません。』 となってしまいます。 変数宣言をしないと、 Set NYURYOKU = Workbooks(DD & MMM & ".xls").Worksheets("入力")の所で 『実行時エラー‘9’インデックスが有効範囲にありません。』 となってしまいます。 どなたか回避策を教えてください。 どうぞよろしくお願いします。
- 締切済み
- SE・インフラ・Webエンジニア
- エクセルVBA 実行時エラー‘13’型が一致しまん
VBAは初級レベルです。説明が分かりづらかったらすみません。 Windows7/Excel2002を使っています。 エクセルVBAで、変数MMMと変数DDに処理する日付を入れたいのですが、 実行時エラーになってしまい、うまく変数が設定できません。 例えば、31MAR.xls というエクセルファイルがあります。 (ファイルは、デイリーベースで存在します。) このファイル名の月と日にちを変数に入れます。 DD = 日にち (例えば、31日なら“31”) MMM = アルファベット3文字 (3月なら“MAR”) そして、入力する為のワークシートを Set NYURYOKU = Workbooks(DD & MMM & ".xls").Worksheets("入力") としたのですが、 『実行時エラー‘9’インデックスが有効範囲にありません。』 となってしまいます。 このとき、 DDの値は、0: MMMの値は、00: になっています。 --------------------------- Dim HIDUKE As Date HIDUKE = Left(ThisWorkbook.Name, 5) MMM = Mid(HIDUKE, 3, 3) DD = Left(HIDUKE, 2) Set NYURYOKU = Workbooks(DD & MMM & ".xls").Worksheets("入力") --------------------------- 変数宣言で、Dim HIDUKE As Date にすると、 HIDUKE = Left(ThisWorkbook.Name, 5) の所で『実行時エラー‘13’型が一致しません。』 となってしまい、 試しに Dim HIDUKE As String にすると、 MMM = Mid(HIDUKE, 3, 3) の所で『実行時エラー‘13’型が一致しません。』 となってしまいます。 変数宣言をしないと、 Set NYURYOKU = Workbooks(DD & MMM & ".xls").Worksheets("入力")の所で 『実行時エラー‘9’インデックスが有効範囲にありません。』 となってしまいます。 どなたか回避策を教えてください。 どうぞよろしくお願いします。
- ベストアンサー
- その他(プログラミング・開発)
- 実行時エラー'13' :型が一致しません。
Windows XPで、Access 2002を使用しています。 テーブル1のフィールド1の値を、ハイフン区切りで分割をしたいと思い、split関数を使用して、 下記、VBAを実行しましたが、「実行時エラー'13' :型が一致しません。」と言うエラーが 発生して、先に進む事ができません。 ツール→参照設定で、Microsoft DAO 3.6 Object Libraryにチェックを入れたり外したりしましたが、 全く改善されず、同じエラーが発生します。 DAO.を付けると解決するとの事で、 Dim dbs As DAO.Database Dim rs As DAO.Connection としましても、同じエラーが出ます。 デバッグしますと、 Set rs = dbs.OpenRecordset("select フィールド1 from テーブル1") の所で発生しているようです。 Private Sub コマンド0_Click() Dim dbs As DAO.Database Dim rs As DAO.Connection Set dbs = CurrentDb Set rs = dbs.OpenRecordset("select フィールド1 from テーブル1") Dim Vartemp As Variant Vartemp = Split(rs, "-") Debug.Print Vartemp(0) Debug.Print Vartemp(1) Debug.Print Vartemp(2) Debug.Print Vartemp(3) End Sub 以上、初心者で、行き詰ってしまっておりますので、どうか宜しくお願いします。
- ベストアンサー
- Visual Basic
- ACCESS2000VBAでエラー「型が一致しません」
ACCESS2000で、フォーム上にボタンを作り、そのボタンをクリック時に 以下のイベント プロシージャを実行させています。 Dim dbs As Database Dim rst As Recordset Set dbs = CurrentDb Set rst = dbs.OpenRecordset("採番_相談者") Dim Number rst.MoveFirst Number = rst!相談者番号 Number = Number + 1 Me.相談者NO = Number '相談者NOはフォーム上のテキストボックスです。 で上記 Set rst = dbs.OpenRecordset("採番_相談者") の所で、「実行時エラー 13 型が一致しません」とエラーになります。 テーブル:採番_相談者は、オートナンバー型のIDフィールドと相談者番号という7桁のテキスト型で ”1000001”が入っています。(ちなみに、数値型に変えても同じエラーでした。) 詳しい方教えてください。お願いします。
- ベストアンサー
- Visual Basic
- エクセルVBA「型が一致しません。」
エクセルVBA「型が一致しません。」 ユーザーフォームの実行時に上記エラーが出ます。おそらく関係ありそうなコードが以下です。 ちなみにTextBoxはスピンボタンと併用して使用しています(そちらのコーディングには問題なし) Private Sub TextBox1_Change() Me.TextBox3.Value = Me.TextBox1.Value * Me.TextBox2.Value End Sub Private Sub TextBox2_Change() Me.Textbox3.Value = Me.TextBox1.Value * Me.TextBox2.Value End Sub Private Sub UserForm_Initialize() Me.TextBox3.Value = Me.TextBox1.Value * Me.TextBox2.Value 立て続けに質問してしまい申し訳ないですが何せ急いでいるもので・・・お願い致します
- ベストアンサー
- オフィス系ソフト
お礼
遅くなってしまい申し訳ないです。 返答頂きありがとうございます。 まだエラーが出るので、下記のコードを診断いただければ幸いです。 Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Sub IE操作改() Dim ie As Object Set ie = new_ie("http://www.google.co.jp") ' 検索キーワードを入力 type_val ie, "gbqfq", "ホゲラッチョ" ' 検索ボタンクリック submit_click ie, "gbqfba" ' 1件目のサイトのタイトルを表示 MsgBox domselec(ie, Array( _ "id", "res", _ "tag", "li", 0, _ "tag", "h3", 0 _ )).innerText ' 終了 ie.Quit Set ie = Nothing End Sub ' IEがビジー状態の間待ちます Sub waitIE(ie) Do While ie.Busy = True Or ie.readystate <> 4 DoEvents Loop Sleep 100 End Sub ' 新規IE作成 Function new_ie(home_url) Dim ie As Object Set ie = CreateObject("InternetExplorer.Application") ' 初期ページを開く goto_url ie, home_url ie.Visible = True Set new_ie = ie End Function ' URL移動 Sub goto_url(ie, url) ie.Navigate url waitIE ie End Sub ' $ Function gid(ie, dom_id) ' 注:IEのgetElementByIdはnameも参照する Set gid = ie.Document.getElementById("p") End Function ' getElementsByTagName Function gtn(parent, tag_name) Set gtn = parent.getElementsByTagName(tag_name) End Function ' 入力します Sub type_val(ie, dom_id, val) gid(ie, dom_id).Value = val Sleep 100 End Sub ' 送信ボタンやリンクをクリック Sub submit_click(ie, dom_id) gid(ie, dom_id).Click waitIE ie End Sub ' 簡易DOMセレクタ Function domselec(ie, arr) Dim parent_obj As Object Dim child_obj As Object Set parent_obj = ie.Document ' 条件配列内で階層を深めていく cur = 0 continue_flag = True Do While continue_flag = True ' 適用メソッドの種類を判定 If arr(cur) = "id" Then ' getElementById dom_id = arr(cur + 1) Set child_obj = parent_obj.getElementById(dom_id) ' 条件配列内のカーソルを進める cur = cur + 2 ElseIf arr(cur) = "tag" Then ' getElementsByTagName tag_name = arr(cur + 1) index_num = arr(cur + 2) Set child_obj = parent_obj.getElementsByTagName(tag_name)(index_num) ' 条件配列内のカーソルを進める cur = cur + 3 End If ' 取得したオブジェクトを次の階層の親オブジェクトとする Set parent_obj = child_obj ' 条件配列の終端まで来たか If cur > UBound(arr) Then continue_flag = False End If Loop Set domselec = parent_obj End Function