我发现了一些问题,我的代码:VBA的Excel结合2文件夹中的文本文件
此代码将插入精细的数据,如果我的文件夹名称有不同的名称(例如1234与1235),每个文件夹有很多的文本文件。都导入到具有正确文件夹名称的单独工作表,并从列a开始。问题是,如果文件夹名称是相同的(1234和1234),它将导入到相同的工作表(1234),但单独的列(列b中的第1个文件夹和列a中的第2个文件夹),我希望它从最后一行继续在列a。
我在想:我必须在这个子之后存储MyCount值吗?
Sub InsertData(ByVal path As String)
Dim filename As Variant
Sheet = ActiveSheet.Name
filename = path & Sheet & "\*.txt"
If (filename = False) Then
Exit Sub
End If
Dim StrFile As String
StrFile = Dir(filename)
Dim MyCount As Integer
Dim A As String
A = 1
MyCount = Application.CountA(Range("A:A"))
Do While Len(StrFile) > 0
Dim ws As Excel.Worksheet
Set ws = Excel.ActiveSheet
Application.DisplayAlerts = False
Application.DisplayAlerts = True
Dim File As Variant
File = path & Sheet & "\" & StrFile
With ws.QueryTables.Add("TEXT;" & File, ws.Cells(A, 1))
.FieldNames = True
.AdjustColumnWidth = True
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileCommaDelimiter = True
.TextFileColumnDataTypes = columnFormats
.TextFileColumnDataTypes = Array(9, 1, 1, 9)
.Refresh
End With
StrFile = Dir
MyCount = Application.CountA(Range("A:A"))
A = MyCount + 1
Loop
End Sub
我想你错过了一些代码。 StrFile在哪里定义? – Joe
StrFile在做之前,我试图只复制重要部分,但我现在要编辑它:) – Aldin