复制超出自动筛选范围的数据

我试图创build一个Excel文件,从另一个软件取得粘贴的数据,并根据上述数据生成报告。

数据以格式显示

ID, YYYY, MM, DD, HH, MM, SS, Day 

数据成对出现。 所以一个有效的条目是:

 1 2017 8 24 09 44 52 4 1 2017 8 24 10 50 00 4 

然后用户可以访问完整的原始数据转储,也可以创build报告。

如果用户想要创build一个报告:用户从combobox中select一个date,并select是否希望从选项button之前的所有数据:BEFORE,所有数据AFTER或所有数据在选定的date。

以下是BEFORE SELECTED DATEfilter代码的示例。 这将根据需要筛选我的数据,并将筛选的数据复制到报告模式。

 If OptionButton1 = True Then 'Before Selected Date With Worksheets("PasteData") .Range("A1:H1").AutoFilter Field:=4, Criteria1:="<=" & ComboBox1.Value .Range("A1:H1").AutoFilter Field:=3, Criteria1:="<=" & Mid(ComboBox2.Value, 1, 2) .Range("A1:H1").AutoFilter Field:=2, Criteria1:="=" & ComboBox3.Value .Range("A2:H" & LastRow).Copy Destination:=Sheets("Report").Range("A6") End With End If 

我遇到的麻烦是,有时数据可能会跨越两天,即

 ID| YYYY | MM | DD | HH | MM | SS | Day --|------|----|----|----|----|----|---- 1 | 2017 | 08 | 24 | 23 | 30 | 00 | 01 1 | 2017 | 08 | 25 | 02 | 00 | 00 | 02 

现在,如果我要过滤白天,并select8月24日之前的所有数据,那么我将失去这一对中的其他条目。

Obvioulsy我需要一些东西来检查date是否翻转到另一天

我想我需要的是这样的:

 If Entry1ID1 = Entry1ID2 __ ' Entry ID's Match AND Entry1Day1 <> Entry1Day2 'Entry days are different Then copy selection + 1 

编辑:我想如果我select复制数据之前,我可以写一个FOR循环,以循环范围内的每个select。 即:

 for each selection in range if selection - 1 ID = selectionID then selection -1 . select Else selection + 1 . select Next