excel - 循环关闭 csv 文件
问题描述
我想从同一个文件夹中打开许多 csv 文件,将数据复制到“collectdatahere.xlsm”,然后关闭 csv 文件并打开下一个。
Subscript out of range
即使我以相同的方式打开文件,我也会收到错误消息:
Sub osszefuz()
Dim Folder As String
Dim File As String
Dim wbname As String
Sheets("Munka1").Range("A2").Select
Folder = "Z:\project\path"
File = Dir(Folder & "\*.csv")
Do While File <> ""
Workbooks.Open Filename:=Folder & "\" & File, Local:=True
wbname = Folder & "\" & File
Range("A2", Range("E2").End(xlDown)).SpecialCells(xlCellTypeVisible).Copy
Workbooks("collectdatahere.xlsm").Activate
Selection.PasteSpecial Paste:=xlValues
Range("A1").End(xlDown).Offset(1, 0).Select
**Workbooks(wbname).Close savechanges:=False**
File = Dir
Loop
End Sub
解决方案
你不需要SELECT
;试试这段代码,看看它是否符合你的要求:
Sub CopyAllCSV()
Dim sFile As String
Dim wsPaste As Worksheet
Const sFolder As String = "Z:\project\path"
Set wsPaste = ThisWorkbook.Worksheets("Munka1")
sFile = Dir(sFolder & "\*.csv")
Do While sFile <> ""
With Workbooks.Open(Filename:=sFolder & "\" & sFile, Local:=True)
With .Worksheets(1)
.Range("A2", .Cells(Rows.Count, "E").End(xlUp)).SpecialCells(xlCellTypeVisible).Copy
End With
wsPaste.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlValues
.Close savechanges:=False
End With
sFile = Dir
Loop
End Sub
推荐阅读
- pandas - Pandas 在 x 轴上绘制数据列
- ios - 在 Xcode12 和 SwiftUI 中,如何在 Firebase Google Auth 之后导航到下一个屏幕?
- mysql - 带有子查询的 MySQL 左连接产生不同排序的不同结果
- sql-server - AZRE SQL / SQL 服务器通过 T-SQL 写回 Azure 存储
- rust - 高效获取 Vec> 来自 Ref<'a, BTreeSet
> - flutter - StreamBuilder 仅显示第二个 MergeStream 元素的结果
- python - 需要帮助重新调整 NASDAQ IPO API 无法在 Python 中运行
- c# - 为什么我的 C# 在 SharePoint 上找不到任何列表?
- user-interface - 如何在 Fyne 中将窗口大小调整为对话框大小
- android - 回收站视图未在 Fragment (Android) 上显示项目