マクロ超初心者です。
フォルダ内のすべてのcvsファイル(500程度)の5列目(500行程度)を新規ファイルの1列目から順にコピーしていきたいのです。
ちなみに元のcvsファイルのシート数は一つだけでシート名には全てファイル名が付いています。
(つまり全てのファイルのシート名が異なる)
見よう見真似で似たようなマクロから意味もわからないまま
つぎはぎして下記作りましたが
やっぱり動きません。
どなたか詳しい方どうかよろしくお願いします。
Sub Sample()
Const FolderPath As String = "C:\data"
Dim objFSO As Object
Dim objBook As Object
Dim lngRow As Long
Application.ScreenUpdating = False
Set objFSO = CreateObject("Scripting.FileSystemObject")
For Each objBook In objFSO.GetFolder(FolderPath).Files
lngcolumn = ThisWorkbook.Sheets("sheet1").Range("A" & Columns.Count).End(xlToRight).Column + 1
Workbooks.Open objBook.Path
With ActiveWorkbook
.Worksheets(1).Column("5").Copy ThisWorkbook.Sheets("sheet1").End(xlToRight).Offset(0, 1)
.Close
End With
Next
Set objFSO = Nothing
Application.ScreenUpdating = True
End Sub
No.2ベストアンサー
- 回答日時:
私なら、こんな感じで作ります。
Sub test()
Const FolderPath As String = "C:\data"
Dim Filename As String
Dim Sh0 As Worksheet, Sh As Worksheet
Dim c As Long
Set Sh0 = ActiveSheet
Filename = Dir(FolderPath & "\*.csv")
Do Until Filename = ""
c = c + 1
Set Sh = Workbooks.Open(FolderPath & "\" & Filename).Sheets(1)
Sh.Columns(5).Copy Sh0.Columns(c)
Application.DisplayAlerts = False
Sh.Parent.Close
Application.DisplayAlerts = True
Filename = Dir()
Loop
End Sub
完璧に動作しました。どうもありがとうございます。
半日がかりの仕事がトイレに行ってる間に済んでしまい、猛烈に感動しています。
ただ、当方のスキルがなさ過ぎ、内容を理解したとまでは到底言えませんので
時間をかけてじっくり解読してみたいと思います。
半ば心折れ掛けておりましたが、マクロ習得のモチベーションも
一気にMAXに上がりました。
重ね重ねありがとうございました。
ちなみに今さらですが
下から7行目くらいののコードで「実行時エラー438、オブジェクトはこのプロパティまたはメソッドをサポートしていません」と出てました。どうも失礼しました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Visual Basic(VBA) あるフォルダーのファイルを違う親フォルダーのサブフォルダーに移したい 11 2023/02/15 19:00
- Visual Basic(VBA) フォルダの場所を可変にしたいです(マクロ) 4 2023/05/11 10:00
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
このQ&Aを見た人はこんなQ&Aも見ています
-
「環境が人を育てる」って本当?環境によって人格や生き方は本当に変わるのか
環境が人生に与える影響は実際どれほどのものなのか、専門家の田宮由美さんに伺った。
-
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
ブック.csvを開かずに他のブック.xlsに貼付け
Visual Basic(VBA)
-
エクセルVBAが途中で止まります
Visual Basic(VBA)
-
-
4
【Excel VBA】CSV取込時、数字の先頭の0を消えないようにするには?
Excel(エクセル)
-
5
【VBA】複数CSVの特定範囲を1つのワークシートにコピー/ペーストするコードの修正
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCEL VBA 指定したファイルが...
-
エクセルマクロで不特定なファ...
-
VBAでワークブックの名前を変数...
-
vba初心者です。 質問です。 毎...
-
VBAでフォルダ内の全てのcsv...
-
ファイルを開かずにマクロを実行
-
エクセルのシートの数を数えた...
-
Excelマクロで指定したファイル...
-
ファイル名を変更するマクロ
-
エクセル(マクロ)のファイル...
-
ACCESSのマクロを自動で実行さ...
-
エクセルマクロ 異なるファイ...
-
フォルダ内のexcelファイルを順...
-
VBA ふたつの同じ様式シートの...
-
EXCELが終了できません
-
ファイルの保存場所を変えたら...
-
vlookup関数の引数を変数で指定...
-
Excel VBA でファイルが開かれ...
-
エクセル 複数ファイルの一括...
-
エクセルのxls形式からxlsx形式...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCEL VBA 指定したファイルが...
-
【マクロ】名前を保存する際に...
-
VBAでワークブックの名前を変数...
-
エクセルマクロで不特定なファ...
-
【マクロ】読取専用のファイル...
-
エクセルのxls形式からxlsx形式...
-
エクセルのシートの数を数えた...
-
フォルダ内のexcelファイルを順...
-
エクセル(マクロ)のファイル...
-
vlookup関数の引数を変数で指定...
-
エクセル 複数ファイルの一括...
-
ファイルを開かずにマクロを実行
-
フォルダ内のブック全部にパス...
-
【Excel VBA】ファイル名が一...
-
ファイルの保存場所を変えたら...
-
vba初心者です。 質問です。 毎...
-
Accessのaccdbファイルを起動で...
-
リンク切れチェックを行うマクロ
-
Excel VBA でファイルが開かれ...
-
エクセルマクロ 異なるファイ...
おすすめ情報