Vba Vlookup with date returns 类型不匹配错误
Vba Vlookup with date returns a type mismatch error
我试图在 VBA 中使用 Vlookup 函数查找值,但我在 msgbox 行中收到类型不匹配错误。
明天lookup_value
这是代码
Sub FINDDATA()
Dim Giov As Date
Dim ImpPag As Variant
Giov = Format(Date + 1, "Short Date")
ImpPag = Application.VLookup(Giov, Range("A5:B9"), 2, False)
MsgBox ImpPag
End Sub
这是数组
date value
05-mar-15 €1.000,00
12-mar-15 €2.000,00
19-mar-15 €3.000,00
26-mar-15 €4.000,00
我能帮忙吗?谢谢
试试这个。声明一个字符串和格式,让您拥有“02-mar-15”格式。在您当前的代码中,在您为 GIOV 赋值的行下方键入 "Debug.Print Giov"。您会立即看到 window GIOV = "5/15/2015" 或该样式的日期。
Sub FINDDATA()
Dim Giov As String
Dim ImpPag As Variant
Giov = Format(Date + 1, "dd-mmm-yy")
ImpPag = Application.VLookup(Giov, Range("A5:B9"), 2, False)
MsgBox ImpPag
End Sub
在Excel中,日期通常存储为数字,在格式化时仅显示为字符串。您可以通过更改电子表格中日期单元格的数字格式来检查这一点。
在这种情况下,您要查找的日期 (05/03/2015) 实际上存储为 42068。如果您将 Giov 声明为 Long 数据类型,您可以将当前日期 + 1 传递到查找中。我添加了一个消息框,这样您就可以在查找之前将存储的日期视为长整型:
Sub FINDDATA()
Dim Giov As Long
Dim ImpPag As Variant
Giov = Date + 1
MsgBox Giov
ImpPag = Application.VLookup(Giov, Range("A5:B9"), 2, False)
MsgBox ImpPag
End Sub
我试图在 VBA 中使用 Vlookup 函数查找值,但我在 msgbox 行中收到类型不匹配错误。
明天lookup_value
这是代码
Sub FINDDATA()
Dim Giov As Date
Dim ImpPag As Variant
Giov = Format(Date + 1, "Short Date")
ImpPag = Application.VLookup(Giov, Range("A5:B9"), 2, False)
MsgBox ImpPag
End Sub
这是数组
date value
05-mar-15 €1.000,00
12-mar-15 €2.000,00
19-mar-15 €3.000,00
26-mar-15 €4.000,00
我能帮忙吗?谢谢
试试这个。声明一个字符串和格式,让您拥有“02-mar-15”格式。在您当前的代码中,在您为 GIOV 赋值的行下方键入 "Debug.Print Giov"。您会立即看到 window GIOV = "5/15/2015" 或该样式的日期。
Sub FINDDATA()
Dim Giov As String
Dim ImpPag As Variant
Giov = Format(Date + 1, "dd-mmm-yy")
ImpPag = Application.VLookup(Giov, Range("A5:B9"), 2, False)
MsgBox ImpPag
End Sub
在Excel中,日期通常存储为数字,在格式化时仅显示为字符串。您可以通过更改电子表格中日期单元格的数字格式来检查这一点。
在这种情况下,您要查找的日期 (05/03/2015) 实际上存储为 42068。如果您将 Giov 声明为 Long 数据类型,您可以将当前日期 + 1 传递到查找中。我添加了一个消息框,这样您就可以在查找之前将存储的日期视为长整型:
Sub FINDDATA()
Dim Giov As Long
Dim ImpPag As Variant
Giov = Date + 1
MsgBox Giov
ImpPag = Application.VLookup(Giov, Range("A5:B9"), 2, False)
MsgBox ImpPag
End Sub