0
我初学VBA和有写,做下面的代码:一个文件夹VBA:复制从CSV行转换成列在新的工作表
2-放于
1检索所有CSV文件新工作表第一行中的文件名称。
3-拷贝一切从CSV文件列标题(第一行)
4-将它们粘贴到一个栏下在新的工作表,每个文件名。
我知道我需要使用范围,但我很困惑如何使用它。
这就是我所做的获取csv文件。我与行复制到列问题:
Dim CSVPath
Dim FS
Dim file
Dim wkb As Excel.Workbook
Dim ResultsSheet As Worksheet
Dim RowPtr As Range
Dim CSVUsed As Range
Set ResultsSheet = Sheet1
'Clear the results sheet
ResultsSheet.Cells.Delete
Set FS = CreateObject("Scripting.FileSystemObject")
'The CSV files are stored in a "CSV" subfolder of the folder where
'this workbook is stored.
CSVPath = ThisWorkbook.Path & "\CSV"
If Not FS.FolderExists(CSVPath) Then
MsgBox "CSV folder does not exist."
Exit Sub
End If
For Each file In FS.GetFolder(CSVPath).Files
If Right(file.Name, 3) = "csv" Then 'Only look at files with .csv extension
Set wkb = Application.Workbooks.Open(file.Path)
Next
,也是我知道的循环应该是这样的:
FinalRow = Cells(Rows.Count, 1).End(xlUp).Row
For x = 2 To FinalRow
任何帮助表示赞赏
感谢您的回应。我虽然有一个问题。关于 arr1 = wb1.Worksheets(“WHATEVER_ITS_NAME_IS”)。范围(“A1:Z1”)。值 我的列数大于(A1:Z1)有没有什么方法可以将它设置为最后一个细胞的末端? – Navid
是的,请尝试range.resize(行,列)。 MSDN是所有Excel VBA函数,对象,方法的绝佳参考。 – johnzilla