我是一个 VBA 新手,通过修改现有的宏和反复试验来学习,所以如果我所问的似乎是丛林联盟,我深表歉意。
我组合/修改了一些宏,以根据标准将外部工作簿中的行拉到我的工作簿中。问题是我随机得到重复的行,我不知道为什么。任何人都可以看到问题是什么?我遇到的第二个问题是,除了列 AF 标准之外,我还想过滤以使 E 列中的日期落在不同工作表上两个单元格中指定的日期之间。
我一直在尝试使用这条线:
If DateValue.Sheets("Control")("B1") < ("E1:E" & B) < DateValue.Sheets("Control")("C1") Then
但我要么不正确地放置它,要么完全关闭编码......有人可以帮我解决这个问题吗?
Sub FetchComplaints()
Dim path As String
Dim FileName As String
Dim LastCell As Range
Dim Wkb As Workbook
Dim WS As Worksheet
Dim ThisWB As String
Sheets("Sheet1").Range("A2:S1000").Clear
Sheets("ComplaintsFetched").Activate
Range("A1:AP5000").Clear
ThisWB = ThisWorkbook.Name
Application.EnableEvents = False
Application.ScreenUpdating = False
path = GetFileName
Set Wkb = Workbooks.Open(FileName:=path)
For Each WS In Wkb.Worksheets
WS.Select
B = Application.CountA(Range("A:A"))
If B = 0 Then
Else
For Each cell In Range("AF1:A" & B)
If cell.Value = True Or cell.Value = "Written" Then
Anum = Application.CountA(Workbooks(ThisWB).Sheets("ComplaintsFetched").Range("A:A")) + 1
cell.EntireRow.Copy Workbooks(ThisWB).Sheets("ComplaintsFetched").Range("A" & Anum)
End If
Next cell
End If
Next WS
Wkb.Close False
Application.EnableEvents = True
Application.ScreenUpdating = True
Set Wkb = Nothing
Set LastCell = Nothing
Set LastCell = Nothing
GetFileName 是一个检索路径的函数。
感谢您的帮助,如果我遗漏了一些非常简单的东西,我们深表歉意。