VBA 宏代码:检查 Sheet1 表格中列 AE、AD 和 X 并进行条件跳转和提示
VBA 宏代码:检查 Sheet1 表格中列 AE、AD 和 X 并进行条件跳转和提示
本代码用于检查 Sheet1 表格中的列 AE、AD 和 X 是否满足特定条件,并根据条件进行单元格跳转和提示。代码会比较 X 列日期与当前日期,若小于 20 天则跳转至该单元格并显示提示信息。
代码:
Sub CheckColumns()
Dim ws As Worksheet
Dim lastRow As Long
Dim currentDate As Date
Dim i As Long
Set ws = ThisWorkbook.Sheets('Sheet1') ' 设置要检查的表格
lastRow = ws.Cells(ws.Rows.Count, 'AE').End(xlUp).Row ' 获取 AE 列的最后一行
currentDate = Date ' 获取当前日期
For i = 2 To lastRow ' 从第2行开始,因为第1行是表头
If ws.Cells(i, 'AE').Value = '抵押' And ws.Cells(i, 'X').Value <> '' And ws.Cells(i, 'AD').Value = '' Then
If ws.Cells(i, 'X').Value - currentDate < 20 Then ' 检查 X 列的日期与当前日期比较
ws.Cells(i, 'X').Select ' 跳转到此单元格
MsgBox '日期小于20天' ' 提示信息
End If
End If
Next i
End Sub
使用方法:
- 打开 Excel 文件。
- 按
Alt + F11进入 VBA 编辑器。 - 在 VBA 编辑器中插入一个模块(
Insert > Module)。 - 将上述代码复制到模块中。
- 在 VBA 编辑器中运行
CheckColumns宏。
代码说明:
Set ws = ThisWorkbook.Sheets('Sheet1'):设置要检查的表格为 Sheet1。lastRow = ws.Cells(ws.Rows.Count, 'AE').End(xlUp).Row:获取 AE 列的最后一行。currentDate = Date:获取当前日期。For i = 2 To lastRow:循环遍历 AE 列的每一行,从第 2 行开始,因为第 1 行是表头。If ws.Cells(i, 'AE').Value = '抵押' And ws.Cells(i, 'X').Value <> '' And ws.Cells(i, 'AD').Value = '' Then:检查当前行是否满足以下条件:- AE 列的值为 '抵押'。
- X 列的值不为空。
- AD 列的值为空。
If ws.Cells(i, 'X').Value - currentDate < 20 Then:如果满足上述条件,则检查 X 列的日期与当前日期比较,若小于 20 天,则执行以下操作:ws.Cells(i, 'X').Select:跳转到 X 列的当前单元格。MsgBox '日期小于20天':显示提示信息。
注意:
- 确保 X 列的日期格式为日期格式。
- 代码中的 '抵押'、'日期小于20天' 可以根据您的实际情况进行修改。
原文地址: https://www.cveoy.top/t/topic/qCxj 著作权归作者所有。请勿转载和采集!