フォルダ内の全てのエクセルデータを一つにまとめたいのですが、
下記を実行すると、添付ファイルのメッセージが出て先に進みません。
調べましたがよくわかりませんので、ご教示いただけませんでしょうか。
画像の最上部の『'プログラム0|変数設定の指定Option Explicit』が欄外に
はみだしていて直せません、こちらが原因でしょうか。
-------------------------------------------------------
'プログラム1|プログラム開始
Sub GetExcelDataInFolder()
'プログラム2|シート設定
Dim ws1 As Worksheet
Set ws1 = ThisWorkbook.Worksheets("Sheet1")
'プログラム3|FileSystemObjectの設定
Dim fs As FileSystemObject
Set fs = New FileSystemObject
'プログラム4|対象フォルダを取得
Dim myfolder As Folder
Set myfolder = fs.GetFolder(ThisWorkbook.Path)
'プログラム5|対象フォルダ内の全ファイルを処理
Dim myfile As File
For Each myfile In myfolder.Files
'プログラム6|拡張子が「xlsx」のファイルのみを処理
If fs.GetExtensionName(myfile) = "xlsx" Then
'プログラム7|フォルダ内のエクセルを開いてシートを設定
Dim wb As Workbook
Set wb = Workbooks.Open(Filename:=myfile)
Dim ws2 As Worksheet
Set ws2 = wb.Worksheets(1)
'プログラム8|開いたエクセルの最終行を取得
Dim cmax As Long
cmax = ws2.Range("A65536").End(xlUp).Row
Debug.Print myfile.Name & "のcmax=" & cmax
'プログラム9|開いたエクセルのデータを転記
Dim i As Long
For i = 2 To cmax
Dim cmax1 As Long
cmax1 = ws1.Range("A65536").End(xlUp).Row
ws1.Range("A" & cmax1 + 1 & ":E" & cmax1 + 1).Value = ws2.Range("A" & i & ":E" & i).Value
Next
'プログラム10|エクセルを閉じる
wb.Close
'プログラム11|オブジェクト解放
Set ws2 = Nothing
Set wb = Nothing
End If
Next
'プログラム12|エクセルを保存
ThisWorkbook.Save
'プログラム13|オブジェクト解放
Set myfolder = Nothing
Set fs = Nothing
'プログラム14|プログラム終了
No.1ベストアンサー
- 回答日時:
「Option Explicit」は欄外(というかほぼ一番最初)にあるのが通常の位置です。
エラーの内容は「ユーザー定義型・・・」
と出るのは、
As File??????(FileSystemObjectかな?読み取れません)
という使い方ができないのです。
通常は
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
のように、Setを使用します。
ご参考に
VBA FileSystemObject ファイル操作の基礎
https://www.tipsfound.com/vba/18001
No.2
- 回答日時:
多分
>'プログラム3|FileSystemObjectの設定
これを使用する上で参照設定と言う記載があったと思いますが、漏れてるのかな?
まぁ参照設定をした方が扱いやすいかもですけど。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA This Workbookモジュールを別ファイルにコピーする方法 1 2022/09/14 01:51
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) エクセルVBAで教えて頂きたいのですが? 2 2022/12/31 20:28
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- Visual Basic(VBA) 稀に1円合いません? Sheet1から金額と個数を貼り付ける下記コードで、金額を切り上げるコードを何 3 2022/09/05 15:11
- Visual Basic(VBA) 別シートのデータを参照して値を入れたい。 まとめデータシートのC列D列の値を商品一覧シートのコードが 7 2022/08/17 13:20
- Visual Basic(VBA) エクセルVBA(実行時エラー438)の対処法を教えてもらえないでしょうか 3 2023/04/22 13:43
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Visual Basic(VBA) Excel vbaについての質問 3 2023/04/18 16:14
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・ハマっている「お菓子」を教えて!
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
あるプログラムのコマンドライ...
-
excelのexe化について
-
読み込み中にアクセス違反が発...
-
セルフイメージを高める21日...
-
Excelで4096点以上のFFTの方法
-
main関数を先頭に置くデメリット
-
「Outlookが他のプログラムによ...
-
未使用の変数を一括検索する方法
-
VBAにてメール作成した際、一部...
-
Excelに埋め込んだVBAのプログ...
-
COBOLの連絡領域について
-
eepromについて
-
チューリングの停止性問題
-
等差数列の和を求めるプログラム
-
エクセルVBA 検索時に除外を設...
-
Vba UserFormを前面に出す方法...
-
VBAでユーザーフォームが自動的...
-
ウイルスセキュリティ メッセー...
-
CGI
-
excelVBAからC#へsendmessage
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
あるプログラムのコマンドライ...
-
Excelで4096点以上のFFTの方法
-
PICマイコンのコピー(クローン...
-
VBAにてメール作成した際、一部...
-
Excelに埋め込んだVBAのプログ...
-
自動クエリとはどういうもので...
-
「Outlookが他のプログラムによ...
-
モジュール、アプリケーション...
-
読み込み中にアクセス違反が発...
-
VBAでユーザーフォームが自動的...
-
未使用の変数を一括検索する方法
-
ドロップダウンリストの文字を...
-
UWSCで指定のフォルダを開きたい。
-
XnViewにwebpを「いつも開く」...
-
Vba UserFormを前面に出す方法...
-
写真のプログラムは、1からnま...
-
binファイルってiphone専用です...
-
TMBMSRV.exeによるCPU使用率上昇
-
画像を読み込むのと取り込むの...
-
main関数を先頭に置くデメリット
おすすめ情報
めぐみん_様
ご連絡とお調べいただき、ありがとうございます。
失念しておりました。
『>'プログラム3|FileSystemObjectの設定、これを使用する上で参照設定と言う記載があったと思いますが、漏れてるのかな?』ですが今一度確認しましたが、Microsoft Scripting Runtimeの設定方法がわかりません。おわかりでしたら教えていただけませんでしょうか。
よろしくお願いします。