【发布时间】:2015-06-16 03:41:45
【问题描述】:
我有 50 个 .xls 文件以用户名保存在共享驱动器上。例如:“Rahul Goswami.xls”、“Rohit Sharma.xls”等。
每个 Excel 文件包含 2 个工作表:“Case Tracker”和“Pending Tracker”。
在“案例跟踪器”工作表中,用户输入他们的日常数据/日常生产。
我希望 VBA 代码从一个单独的 Excel 工作簿中的所有 50 个 Excel 文件中提取整个“案例跟踪器”工作表,一个在另一个之下。
目前我正在将 Excel 文件中的数据复制粘贴到主工作簿到“Sheet1”。
我可以在其中输入日期,然后自动从所有 50 个文件中获取该日期的数据吗?
A 到 J 列包含下面提供的数据。此示例针对 1 个用户。
日期顾问用户 ID BP URN 阶段案例类型 先前状态 当前状态类别 10-Apr Rahul Goswami goswami 123456 98765431 1 URN New Pend abc
Sub Beachson()
Dim z As Long, e As Long, d As Long, G As Long, h As Long Dim f As String
d = 2
Cells(1, 1) = "=cell(""filename"")"
Cells(1, 2) = "=left(A1,find(""["",A1)-1)"
Cells(2, 1).Select
f = Dir(Cells(1, 2) & "*.xls")
Do While Len(f) > 0
## Heading ##
ActiveCell.Formula = f
ActiveCell.Offset(1, 0).Select
f = Dir()
Loop
z = Cells(Rows.Count, 1).End(xlUp).Row
For e = 2 To z
If Cells(e, 1) <> ActiveWorkbook.Name Then
Cells(d, 2) = Cells(e, 1)
Cells(1, 4) = "=Counta('" & Cells(1, 2) & "[" & Cells(e, 1) & "]Case Tracker'!I:I)"
For h = 10 To Cells(1, 4)
For G = 1 To 10
Cells(1, 3) = "='" & Cells(1, 2) & "[" & Cells(e, 1) & "]Case Tracker'!" & Chr(G + 64) & h
Cells(d, G + 2) = Cells(1, 3)
Next G
d = d + 1
Next h
End If
d = d + 1
Next e
MsgBox "collating is complete."
End Sub
【问题讨论】:
-
抱歉,您没有向我们提供任何证据证明您尝试开发脚本来自己完成这项工作。 StackOverflow 不是代码编写服务......我们在这里解决其他程序员在他们的编程任务中遇到的问题。绝对可以自动完成这项工作。您可以聘请并付钱给某人来完成它或自己开发脚本(在后一种情况下,如果您有特定问题,我们可能会帮助提供您的代码和不适合您的选项)。
-
Sub Beachson() Dim z As Long, e As Long, d As Long, G As Long, h As Long Dim f As String d = 2 Cells(1, 1) = "=cell( ""filename"")" Cells(1, 2) = "=left(A1,find(""["",A1)-1)" Cells(2, 1).Select f = Dir(Cells(1, 2) & "*.xls") 当 Len(f) > 0 ## Heading ## ActiveCell.Formula = f
-
ActiveCell.Offset(1, 0).Select f = Dir() Loop z = Cells(Rows.Count, 1).End(xlUp).Row For e = 2 To z If Cells( e, 1) ActiveWorkbook.Name Then Cells(d, 2) = Cells(e, 1) Cells(1, 4) = "=Counta('" & Cells(1, 2) & "[" & Cells( e, 1) & "]Case Tracker'!I:I)" For h = 10 To Cells(1, 4) For G = 1 To 10 Cells(1, 3) = "='" & Cells(1, 2 ) & "[" & Cells(e, 1) & "]Case Tracker'!" & Chr(G + 64) & h
-
Cells(d, G + 2) = Cells(1, 3) Next G d = d + 1 Next h End If d = d + 1 Next e MsgBox "整理完成。"结束子
-
我无法一次发布整个代码。请帮忙