为什么不是所有记录都从数据中返回

时间:2019-08-08 21:04:51

标签: excel vba

请保持谦虚,这是我从头开始的第一个代码,我只是在此定制了被盗的代码。该代码的目标是检索表中满足三个条件的所有记录,并将其粘贴到特定位置。这将用于使用我的下一个代码进行计算。我知道如果没有匹配的记录,我需要添加消息。我想先让这部分工作。

Sub ListRecords()  

' Declare Variables  
' Clear old results  
' Find records that match criteria  

Dim Part As String  
Dim Hold As String  
Dim Cut As Integer  
Dim LRow As Integer  
Dim i As Integer  

Sheets("Multi Cut Lengths").Range("F21:H71").ClearContents  
Part = Sheets("Multi Cut Lengths").Range("A2").Value  
Hold = Sheets("Multi Cut Lengths").Range("A1000").Value  
Cut = Sheets("Multi Cut Lengths").Range("B3").Value  

Worksheets("FG Inv").Activate  
    LRow = Cells(Rows.count, 1).End(xlUp).Row  

For i = 2 To LRow  
If Cells(i, 1) = Part And Cells(i, 3) > Cut And Cells(i, 4) = Cut Then  
    Range(Cells(i, 1), Cells(i, 3)).Copy  

    Worksheets("Multi Cut Lengths").Activate  
    Sheets("Multi cut lengths").Range("F35").End(xlUp).Offset(1, 0).PasteSpecial xlPasteValuesAndNumberFormats  

    End If  
Next i  
End Sub  

根据我定义的标准,它应该返回20多个记录。 (通过过滤确认)。我只看到第一张记录。

1 个答案:

答案 0 :(得分:0)

这部分代码:

 Sheets("Multi cut lengths").Range("F35").End(xlUp).Offset(1, 0).PasteSpecial xlPasteValuesAndNumberFormats

从本质上讲,它“告诉”宏进入单元格F35并一直向上移动(停在第一个空单元格或工作表的顶部(行1)。

也许这是问题所在?指定的输出范围错误?