質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
マクロ

定義された処理手続きに応じて、どのような一連の処理を行うのかを特定させるルールをマクロと呼びます。

Q&A

解決済

1回答

672閲覧

ひとつのフォルダ内に集めた複数のエクセルファイルの内容を、自動で転記したい場合のエラー対処法について

shimuaya

総合スコア1

マクロ

定義された処理手続きに応じて、どのような一連の処理を行うのかを特定させるルールをマクロと呼びます。

0グッド

0クリップ

投稿2023/04/06 06:31

編集2023/04/06 06:36

実現したいこと

・ひとつのフォルダ内に集めた複数のエクセルファイルの内容を、自動で転記したい。

前提

既に別のフォルダ内で問題なく動作確認ができている転記マクロを、別のフォルダに移動して起動させたところ、
以下のエラーメッセージが発生しました。

発生している問題・エラーメッセージ

実行すると、以下のエラーメッセージが出現します。 「実行時エラー'52’: ファイル名又は番号が不正です。」 また、デバッグしたところ 「 file = Dir(folder & "\*.xlsx")」のコードに問題があるようでした。

該当のソースコード

Sub tenki() Dim folder As String Dim file As String Dim book As Workbook Dim i As Integer i = 2 With Application.FileDialog(msoFileDialogFolderPicker) If .Show = True Then folder = .SelectedItems(1) End If End With file = Dir(folder & "\*.xlsx") Do While file <> "" Set book = Workbooks.Open(folder & "\" & file) ThisWorkbook.Worksheets("Sheet1").Range("A" & CStr(i)).Value = book.Worksheets("シート名").Range("E21").Value ThisWorkbook.Worksheets("Sheet1").Range("B" & CStr(i)).Value = book.Worksheets("シート名").Range("I23").Value ThisWorkbook.Worksheets("Sheet1").Range("C" & CStr(i)).Value = book.Worksheets("シート名").Range("M23").Value file = Dir() i = i + 1 book.Close Loop End Sub

補足情報

見様見真似の初心者でして、初歩的な部分からわかっていないのかもしれません。
ご教示いただけますと幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

bebebe_

2023/04/06 07:33 編集

可能性の一つとしてファイルパスに認識できない文字が使われている場合があります。
otn

2023/04/06 08:34

> 「 file = Dir(folder & "\*.xlsx")」のコードに問題があるようでした。 何を見てそう判断しましたか?
shimuaya

2023/04/10 08:37

ファイルパスですね。確認してみたいと思います。 >> 「 file = Dir(folder & "\*.xlsx")」のコードに問題があるようでした。 >何を見てそう判断しましたか? エラー後、デバックしますか?のポップアップに「はい」と回答したところ、該当箇所がハイライトされたためでございます。(伝わりましたでしょうか?)
guest

回答1

0

自己解決

ご指摘いただいた通り、一部のフォルダパス上に「‗」が使われていることを発見しました。こちらを「_」に修正したところ解決いたしました。
アドバイスくださった方ありがとうございました。

投稿2023/04/11 00:11

shimuaya

総合スコア1

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問