复制超出自动筛选范围的数据
我试图创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