excel - Vlookup 单元格包含日期格式、文本和一般格式的日期
问题描述
我正在查找包含日期的单元格,其中一些为日期格式,另一些为文本格式,另一些为一般格式。我正在尝试vlookup
显示单元格的值。
到目前为止,如果单元格的格式为日期,则返回一个数字,如果单元格的格式为文本,则正确返回值,如果单元格的值为日期,则返回数字,如果我手动将其变为日期格式,它会打印日期,mm/dd/yyyy
而不是打印日期,dd/mm/yyyy
因为它在我的工作表中vlookup
。是否有代码可以“截图”该值,并且vlookup
它与显示的完全相同(就好像它是一个文本一样)。
这是我尝试过的。它运行但仍然没有解决任何问题。
新代码
lastrow2 = ws3.Range("F" & Rows.Count).End(xlUp).Row
Dim cell As Range
Dim CellText As String
For Each cell In ws3.Range("I2:I" & lastrow2)
If cell.Text <> cell.Value And Len(cell.Value) <= 255 Then
CellText = cell.Text
cell.NumberFormat = "@"
cell.Value = CellText
End If
Next cell
编辑
输入数据示例(我提供了两个截图来查看输入日期如何具有不同的格式
解决方案
这个简短的 nacro 将在I:J列中查找可以解释为日期的数据,并将其转换为格式为"dd/mm/yyyy"的真实日期:
Sub DateFixer()
Dim ws3 As Worksheet, r As Range, d As Date
Set ws3 = ActiveSheet
For Each r In ws3.Range("I:J").Cells.SpecialCells(2)
arr = Split(r.Text, "/")
If UBound(arr) = 2 Then
d = DateSerial(arr(2), arr(1), arr(0))
r.Clear
r.NumberFormat = "dd/mm/yyyy"
r.Value = d
End If
Next r
End Sub
推荐阅读
- python - 熊猫:具有重复索引的连接
- javascript - 创建从 postMessage 发送和处理消息的接口的最佳“反应”方式是什么?
- r - Shiny Dashboard 仅在其自身上运行,而不是作为应用程序运行
- r - 日期在 R ggplot 的轴上没有正确排序
- jenkins - Jenkins UI 很慢,每次点击,我都会得到一些日志
- ios - 如何让 SwiftUI 视图在其列表中显示不同的 @Published 变量?
- javascript - 在另一个选项卡 vue 中打开链接
- docker - docker-compose 连接两个应用程序
- r - 使用基于行和列的另一个表中的值填充表
- javascript - Bhushan Kawadkar 回答的后续问题 - 请解释