我有一个代码,以过滤数据之间2日期此代码每次尝试运行给我一个消息运行时错误13类型不匹配
此代码在工作表中,而不是模块中
Sub BetweenDates() '(Filter data between 2 dates )
Dim sDate As Long
Dim EDate As Long
sDate = Range("B4").Value
EDate = Range("D4").Value
Range("c7:c80").AutoFilter 3, ">=" & sDate, xlAnd, "<=" & EDate
End Sub
1条答案
按热度按时间vhmi4jdf1#
如果范围B4或D4不是日期,我可以重现此错误。
你可能在这些单元格中有文本或其他内容。
在单元格B4和D4中,确保数字格式为“常规”或“日期”,然后再次输入日期。
编辑:
使用文本框会使它变得更复杂,所以考虑一下是否可以使用单元格。但是如果你真的需要使用文本框:
而不是
您将需要用途:
您需要将“TextBox 1”,“TextBox 2”替换为您的文本框名称。
如果您不知道文本框的名称,可以使用以下命令:
请记住,只有当用户在文本框中输入完整的日期时,上述方法才有效。如果他们输入“1-Jul-23”,它会起作用,但如果他们输入“1-Jul”,它将不起作用。
只有当用户在运行宏时激活了工作表时,上述操作才有效。