VBA-按自定义日期格式筛选



我正在编写一个宏,根据特定的日期范围过滤下载的数据。问题是,下载数据中包含日期的单元格使用的格式为mm/dd/yyyy,Excel将其识别为文本。因此,我编写的任何程序都假设它过滤的是文本而不是日期,这会导致许多问题。

有没有办法让Excel将这种格式识别为日期?我尝试使用自定义数字格式定义日期单元格,但没有成功。如有任何帮助,我们将不胜感激。

请尝试下一个代码。它将转换Date:中讨论的列

Sub convertTextToDate()
Dim sh As Worksheet, lastR As Long, col As String, arr, arrSp, arrD, i As Long

Set sh = ActiveSheet
col = "A" 'column where the string to be converted in date exists
lastR = sh.cells(sh.rows.count, col).End(xlUp).row
arr = sh.Range(col & "2:" & col & lastR).value
ReDim arrD(1 To UBound(arr), 1 To 1)
For i = 1 To UBound(arr)
arrSp = Split(arr(i, 1), "/")
arrD(i, 1) = DateSerial(CLng(arrSp(2)), CLng(arrSp(1)), CLng(arrSp(0)))
Next i
With sh.Range(col & "2:" & col & lastR)
.value = arrD
.NumberFormat = "dd/mm/yyyy"
End With
End Sub

如果你需要一个不同的格式,你应该改变";dd/mm/yyyy";用你想要的任何东西"mm.dd.yy";,例如。。。

相关内容

  • 没有找到相关文章

最新更新