- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルVBA 実行時エラー‘13’型が一致しまん)
エクセルVBA 実行時エラー‘13’型が一致しまん
このQ&Aのポイント
- エクセルVBAの実行時エラー‘13’型が一致しません。
- エクセルVBAで変数を設定しようとすると、実行時エラーになります。
- 変数の宣言やデータ型の設定に問題があるようです。回避策が必要です。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>試しに Dim HIDUKE As String にすると、 >MMM = Mid(HIDUKE, 3, 3) の所で『実行時エラー‘13’型が一致しません。』 >となってしまいます。 ファイル名の文字列がDate型のわけはありませんからString型にします。それで正しいです。それでエラーになることはないはずです。単にあなたが「Stringにした」と思い込んでいるだけで、実際にはやっていないだけでしょう。 31MAR.xlsというファイル名で、以下のコードででエラーなく動くことを確認しました。もしもそれでもStringにしてもエラーが出るというのならエラーが出た際のコードを貼りましょう。もしくはファイル名が間違っているのかもしれませんが、とにかく正しく書けば必ず動きます。 Dim HIDUKE As String HIDUKE = Left(ThisWorkbook.Name, 5) MMM = Mid(HIDUKE, 3, 3) DD = Left(HIDUKE, 2) Set NYURYOKU = Workbooks(DD & MMM & ".xls").Worksheets("入力")
その他の回答 (1)
- 山田 太郎(@f_a_007)
- ベストアンサー率20% (955/4574)
回答No.2
>実行時エラー‘9’インデックスが有効範囲にありません。 Workbooks(DD & MMM & ".xls").Worksheets("入力") に該当するシートが存在しないってことです。あるいは、存在しないと誤認しているかです。 【回避策】前者であれば、実際に存在する名前を指定すれば回避できます。 後者であれば http://excelshogikan.com/tips/tips043.html
お礼
無事に動きました。 丁寧なご説明、ありがとうございました。助かりました。