使用正确的日期搜索正确的数据并在excel vba中打印

时间:2013-06-26 05:30:48

标签: excel-vba vba excel

这是一个问题。

ID        Name         Price         Date
1         Nike         USD3          23/5/2013
2         Polo         USD13         23/5/2013
3         Nike         USD2          4/6/2013
4         Nike         USD50         23/5/2013
5         Adidas       USD30         5/6/2013 

以上数据保存在Excel中。如何获取日期为2013年2月23日的Nike详细信息并将其显示在excel中的新工作表中。谢谢你们的帮助。

1 个答案:

答案 0 :(得分:0)

您可以使用自动过滤器按日期列过滤它,然后将这些记录复制到目标表。

也许是这样的:

Dim xSheet1 As Worksheet
Dim xSheet2 As Worksheet
Dim iLastRow As Integer

Set xSheet1 = Sheets("sheet1")
Set xSheet2 = Sheets("Sheet2")

iLastRow = xSheet1.Range("A" & xSheet1.Rows.Count).End(xlUp).Row

xSheet2.Cells.Clear
Range("F1").Value = "check"
Range("F2:F" & iLastRow).Formula = "=IF(AND(B:B=""Nike"",TEXT(D:D,""DD/MM/YYYY"")=""23/05/2013""),1,0)"

Range("F1").AutoFilter Field:=1, Criteria1:="1"

Range("A2:D" & iLastRow).Copy

xSheet2.Range("A2").PasteSpecial Paste:=xlPasteAll, SkipBlanks:=True

With xSheet1
    .Range("F1").AutoFilter
    .Range("F1:F" & Range("A1").End(xlDown).Row).Clear
End With