我无法按excel列(AA)中的当前日期进行筛选
我无法根据当前日期筛选列(AA),列AA包含日期,其数据类型也包含日期 请帮帮我 [我正在观看AA专栏的截图][1] 亚宏观经济3() ' '宏3宏 " " 将计数设置为整数 计数=0 日期 dDate=格式(日期,“dd/mm/yyyy”) MsgBox(dDate) 作为整数的Dim j Dim MyArr(16)作为字符串我无法按excel列(AA)中的当前日期进行筛选,excel,vba,Excel,Vba,我无法根据当前日期筛选列(AA),列AA包含日期,其数据类型也包含日期 请帮帮我 [我正在观看AA专栏的截图][1] 亚宏观经济3() ' '宏3宏 " " 将计数设置为整数 计数=0 日期 dDate=格式(日期,“dd/mm/yyyy”) MsgBox(dDate) 作为整数的Dim j Dim MyArr(16)作为字符串 Dim arrTemp() As String Dim Coll As New Collection 'Get First and Last Array Positi
Dim arrTemp() As String
Dim Coll As New Collection
'Get First and Last Array Positions
nFirst = LBound(MyArr)
nLast = UBound(MyArr)
ReDim arrTemp(nFirst To nLast)
'Convert Array to String
For i = nFirst To nLast
arrTemp(i) = CStr(MyArr(i))
Next i
'Populate Temporary Collection
On Error Resume Next
For i = nFirst To nLast
Coll.Add arrTemp(i), arrTemp(i)
Next i
Err.Clear
On Error GoTo 0
'Resize Array
nLast = Coll.count + nFirst - 1
ReDim arrTemp(nFirst To nLast)
'Populate Array
For i = nFirst To nLast
arrTemp(i) = Coll(i - nFirst + 1)
Next i
For i = 1 To nLast
MsgBox (arrTemp(i))
Selection.AutoFilter
MsgBox (Cells(2, 27).Value)
ActiveSheet.Range("$A$1:$AN$16").AutoFilter Field:=27, Operator:= _
xlFilterValues, Criteria2:=Array(1, dDate)
ActiveSheet.Range("$A$1:$AN$16").AutoFilter Field:=29, Criteria1:= _
arrTemp(i)
Selection.Copy
Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Copy
Sheets.Add After:=ActiveSheet
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Columns("B:N").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlToLeft
Columns("C:N").Select
Selection.Delete Shift:=xlToLeft
Columns("C:E").Select
Range("E1").Activate
Selection.Delete Shift:=xlToLeft
Columns("E:P").Select
Selection.Delete Shift:=xlToLeft
Range("A1:C1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.ClearContents
count = count + 1
Next
对于j=2到16
MyArr(j)=单元格(j,29)。数值
下一个
第一个一样长,最后一样长,我一样长
将项目设置为字符串
Dim arrTemp() As String
Dim Coll As New Collection
'Get First and Last Array Positions
nFirst = LBound(MyArr)
nLast = UBound(MyArr)
ReDim arrTemp(nFirst To nLast)
'Convert Array to String
For i = nFirst To nLast
arrTemp(i) = CStr(MyArr(i))
Next i
'Populate Temporary Collection
On Error Resume Next
For i = nFirst To nLast
Coll.Add arrTemp(i), arrTemp(i)
Next i
Err.Clear
On Error GoTo 0
'Resize Array
nLast = Coll.count + nFirst - 1
ReDim arrTemp(nFirst To nLast)
'Populate Array
For i = nFirst To nLast
arrTemp(i) = Coll(i - nFirst + 1)
Next i
For i = 1 To nLast
MsgBox (arrTemp(i))
Selection.AutoFilter
MsgBox (Cells(2, 27).Value)
ActiveSheet.Range("$A$1:$AN$16").AutoFilter Field:=27, Operator:= _
xlFilterValues, Criteria2:=Array(1, dDate)
ActiveSheet.Range("$A$1:$AN$16").AutoFilter Field:=29, Criteria1:= _
arrTemp(i)
Selection.Copy
Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Copy
Sheets.Add After:=ActiveSheet
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Columns("B:N").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlToLeft
Columns("C:N").Select
Selection.Delete Shift:=xlToLeft
Columns("C:E").Select
Range("E1").Activate
Selection.Delete Shift:=xlToLeft
Columns("E:P").Select
Selection.Delete Shift:=xlToLeft
Range("A1:C1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.ClearContents
count = count + 1
Next
端接头
[1]: https://i.stack.imgur.com/wX8zt.png
这:
dDate=Format(日期,“dd/mm/yyyy”)
毫无意义。应该是:dDate=Date
。日期值没有格式。这些代码到底是用来做什么的?看起来您所做的不仅仅是从列中筛选日期。请编辑您的问题,以显示导致问题的代码段,以及演示问题的数据示例。阅读有关的帮助主题可能会有所帮助。