VBA 检查表格列并提醒:日期小于20天
VBA 检查表格列并提醒:日期小于20天
本文介绍如何使用VBA代码检查名为'2023年汇总表'的工作表中,特定列的值是否符合以下条件:
- 列AE为'抵押'。
- 列X为'非空值'。
- 列AD为'空值'。
如果以上条件都满足,则继续检查列X中的日期值与当前日期的差值,如果小于20天则跳转到对应单元格并提示。
以下是使用VBA编写的代码:
Sub CheckColumns()
Dim ws As Worksheet
Dim lastRow As Long
Dim currentDate As Date
Dim cell As Range
' 设置工作表
Set ws = ThisWorkbook.Worksheets('2023年汇总表')
' 获取最后一行
lastRow = ws.Cells(ws.Rows.Count, "AE").End(xlUp).Row
' 获取当前日期
currentDate = Date
' 遍历每一行
For Each cell In ws.Range("AE2:AE" & lastRow)
' 检查条件
If cell.Value = '抵押' And cell.Offset(0, 22).Value <> '' And cell.Offset(0, 30).Value = '' Then
' 检查日期差
If cell.Offset(0, 22).Value - currentDate < 20 Then
' 跳转到单元格并提示
cell.Offset(0, 22).Select
MsgBox '该单元格日期小于20天!'
Exit Sub ' 如果只需要检查第一个符合条件的单元格,可以注释掉这行
End If
End If
Next cell
' 如果没有符合条件的单元格
MsgBox '没有符合条件的单元格!'
End Sub
使用方法:
- 打开Excel工作簿并按下Alt + F11进入VBA编辑器。
- 在VBA编辑器中,插入一个新的模块(Insert -> Module)。
- 将上述代码复制到模块中。
- 修改代码中的工作表名称('2023年汇总表')为你的实际工作表名称。
- 点击运行按钮(F5)或者按下Alt + F8,选择“CheckColumns”宏并运行。
注意:
- 代码中的列号(AE、X、AD)请根据实际情况调整。
- 代码中的'抵押'和'空值'等字符串请根据实际需要修改。
- 如果需要检查所有符合条件的单元格,请取消代码中
Exit Sub注释。
希望这篇文章能帮助你解决问题。如有任何疑问,请随时留言。
原文地址: https://www.cveoy.top/t/topic/qCx9 著作权归作者所有。请勿转载和采集!