拉重复行/标准不起作用?

时间:2013-02-14 20:06:51

标签: excel vba excel-vba

我是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是一个检索路径的函数。

感谢您的帮助,对不起,如果我遗漏了一些非常简单的事情。

1 个答案:

答案 0 :(得分:1)

尝试使用以下语法:

If Sheets("Control").Range("B1").Value < Sheets("Control").Range("C" & B).Value ...

应使用And组合多个条件。