Так что я пытаюсь по существу фильтровать мой набор данных определенным образом. Возможно, есть лучший способ сделать это, и я могу чрезмерно усложнять вещи, поэтому, если это так, не стесняйтесь звонить в любые идеи. Итак, по сути, я фильтрую свой набор данных. Однако на основе этого фильтра я возьму только некоторые конкретные данные, основанные на критериях. Поэтому я буду скрывать данные, которые не соответствуют этим критериям, что показано здесь:
If Sheet1.Cells(i, 11) = StandardW And Sheet1.Cells(i, 32) > Date1 Then
Rows("i:i").Select
Selection.EntireRow.Hidden = True
Затем я скопирую первый столбец моего набора данных и вставлю его в другое место, чтобы потом использовать. Однако по какой-то причине я продолжаю получать сообщение об ошибке переполнения во время выполнения 6. Не уверен почему. Есть идеи? Как упомянуто выше, возможно, есть более простой способ упорядочить мои данные, о котором я не думал. Если это так, не стесняйтесь скинуться.
Спасибо!
Sub CopyingCodesCALG()
Dim Standard As Date
Dim i As Integer
Dim lastrow As Long
lastrow = ActiveSheet.Cells(Rows.count, "B").End(xlUp).Row
Standard = Date - 3
StandardW = Date - 2
Date1 = Date - 1
'this utilizes Activesheets, may have to find a workaround for this depending on the data. Maybe add it to the MF and use thisworkbook?
Rows("1:1").Select
Selection.AutoFilter
ActiveSheet.UsedRange.AutoFilter Field:=3, Criteria1:= _
"Livraison"
ActiveSheet.UsedRange.AutoFilter Field:=11, Operator:= _
xlFilterValues, Criteria2:=Array(2, Standard, 2, StandardW)
ActiveSheet.UsedRange.AutoFilter Field:=25, Criteria1:= _
"=Return to warehouse", Operator:=xlOr, Criteria2:="="
ActiveSheet.UsedRange.AutoFilter Field:=17, Criteria1:=Array( _
"Data received", "Data received - shipment not received", "Loaded", "Loading", _
"Optimized", "Received", "="), Operator:=xlFilterValues
ActiveSheet.UsedRange.AutoFilter Field:=34, Criteria1:="="
ActiveSheet.UsedRange.AutoFilter Field:=2, Criteria1:= _
"INTLCM-CALG"
i = 2
For i = 2 To lastrow
If Sheet1.Cells(i, 11) = StandardW And Sheet1.Cells(i, 32) > Date1 Then
Rows("i:i").Select
Selection.EntireRow.Hidden = True
End If
Next i
ActiveSheet.AutoFilter.Range.Offset(1).SpecialCells(xlCellTypeVisible).Cells(1, 1).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
End Sub