【发布时间】:2017-09-16 16:31:44
【问题描述】:
我想知道是否有人可以提供帮助。我创建了一个记录器,其中多个用户进入 excel,用户表单将记录所有详细信息。每个用户都有一个单独的文件,然后一个主工作表将在他们的 Excel 工作表中拉循环以获取数据并将其完全拉出。
我们现在有了一个新系统,可以提取文本文件(不幸的是只有 txt 文件)。
我现在已将所有用户设置为将他们的个人数据导出为 txt 文件。但是,我现在遇到了主表循环遍历数据并在下面添加下一个用户的问题。
我的旧代码是:
Sub Theloopofloops()
Dim wbk As Workbook
Dim Filename As String
Dim path As String
Dim rCell As Range
Dim wsO As Worksheet
path = "L:\MK\Logger\"
Filename = Dir(path & "*.xlsm")
Set wsO = ThisWorkbook.Sheets("Master")
Do While Len(Filename) > 0
DoEvents
Set wbk = Workbooks.Open(path & Filename, True, True)
For Each rCell In wbk.Worksheets("Calls").Range("A2:A2000").Cells
If rCell <> "" And rCell.Value <> vbNullString And rCell.Value <> 0 Then
wsO.Cells(wsO.Rows.Count, 1).End(xlUp).Offset(1, 0).Resize(, 16).Value = rCell.Resize(, 16).Value
End If
Next rCell
wbk.Close False
Filename = Dir
Loop
显然这是在工作簿中循环。 任何帮助将不胜感激。
谢谢,
【问题讨论】:
-
查看 FSO 的 TextStream 功能。它说的是 VBScript,但它也与 VBA 有关msdn.microsoft.com/en-us/library/312a5kbt(v=vs.84).aspx
-
@Comintern 感谢您的帮助,我发现它很有帮助,但是我希望了解如何在同一目录中循环访问不同的文本文件以添加到最后一次导入的下方。如果这有意义?
-
您已经对该部分进行了编码。链接答案中的代码进入您的
Dir循环。 -
@Comintern 抱歉,我知道这是漫长的一天,所以我可能在这里遗漏了一些简单的东西。我正在那里输入信息,它实际上根本不起作用。我正在介入,它根本没有发现任何错误,但只导入了第一个 txt 文件并且不循环遍历目录
标签: vba excel loops text bigdata