我發現了一些問題,我的代碼: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