excel - 当行在日期范围之间时运行代码
问题描述
我想运行一个代码,根据年份(例如 01/01/2018 - 31/1/2018)将数据从一张表传输到另一张表。
该工作表包含 2 列日期,start_date 和 end_date 存储为日期,所以我做了一个 If 语句,但它似乎没有“理解”我之前存储的日期值。
'Dates columns
Dim fechaIniTarget As Variant
Dim fechaFinTarget As Variant
'Ini = start / Fin = end
Set fechaIniTarget = Range("D2")
Set fechaFinTarget = Range("E2")
If fechaIniTarget.Value = "01/01/2018" And fechaFinTarget.Value = "31/12/2018" Then
' function
MsgBox "PROCESO COMPLETO"
End If
我尝试将日期解析为整数,但它仍然不起作用。
解决方案
您将日期fechaIniTarget.Value
与字符串进行比较"01/01/2018"
。使用具有DateSerial 函数的真实日期来比较日期和日期。
If fechaIniTarget.Value = DateSerial(2018, 1, 1) And fechaFinTarget.Value = DateSerial(2018, 12, 31) Then
另请注意,您使用了 2 次,fechaIniTarget
但我想第二次应该是fechaFinTarget
.
Variant
如果没有必要也不要使用。而是在此处声明您的变量As Range
:
Dim fechaIniTarget As Range
Dim fechaFinTarget As Range
推荐阅读
- c# - 基于listitems在lisbox中将按钮属性设置为不可见
- java - 需要帮助根据另一个参数为一个参数添加双精度
- android - Android Studio NativeActivity 未定义对“输入队列 hasEvents”的引用
- python - python re.match() 不返回预期结果
- rest - 添加 include_docs=true 时 CouchDB seq 编号发生变化
- c# - 如何显示按产品类型和月份分组的产品计数?
- python-3.x - ystockquote 上的 HTTP 错误
- angular - Angular - 无法绑定到“属性”,因为它不是“a”的已知属性
- php - 从端点查询循环对象
- mysql - 如何在 MySQL 的 JSON 路径中使用 CONCAT?