マクロ超初心者です。
フォルダ内のすべての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も見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCEL VBA 指定したファイルが...
-
フォルダ内のexcelファイルを順...
-
エクセルマクロで不特定なファ...
-
VBAでワークブックの名前を変数...
-
VBA EXCELファイル選択⇒指定セ...
-
エクセル(マクロ)のファイル...
-
ファイルを開かずにマクロを実行
-
エクセルのxls形式からxlsx形式...
-
エクセルのシートの数を数えた...
-
<ACCESS VBA -> EXCEL>getObjec...
-
データ参照先が別ファイルの場...
-
EXCELマクロを無効にして開く方法
-
ACCESS VBAでファイルを開くダ...
-
Accessのaccdbファイルを起動で...
-
エクセルマクロ 異なるファイ...
-
ファイル名を変更するマクロ
-
LTSpiceにLMV358-Nのモデルを入...
-
word2007ファイル起動時のSQLに...
-
エクセル 複数ファイルの一括...
-
Excel VBA でファイルが開かれ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCEL VBA 指定したファイルが...
-
エクセルマクロで不特定なファ...
-
VBAでワークブックの名前を変数...
-
エクセル 複数ファイルの一括...
-
フォルダ内のexcelファイルを順...
-
エクセルのxls形式からxlsx形式...
-
【Excel VBA】ファイル名が一...
-
エクセル(マクロ)のファイル...
-
vlookup関数の引数を変数で指定...
-
ファイルを開かずにマクロを実行
-
エクセルのシートの数を数えた...
-
Accessのaccdbファイルを起動で...
-
エクセルマクロ 異なるファイ...
-
vba初心者です。 質問です。 毎...
-
ファイルの保存場所を変えたら...
-
Excel VBA でファイルが開かれ...
-
accessフォルダを移動したらフ...
-
リンク切れチェックを行うマクロ
-
フォルダ内のブック全部にパス...
-
ACCESS VBAでファイルを開くダ...
おすすめ情報