这段VBA代码用于检查一个名为"2023年汇总"的工作表中的数据。它会循环检查每一行,如果满足一定条件,则会比较该行的日期和当前日期,如果日期小于当前日期减去20天,则会弹出一个提示信息。

具体的代码解释如下:

  1. 首先声明所需的变量:工作表(ws)、最后一行的行数(lastRow)、当前日期(currentDate)、检查日期(checkDate)和循环计数器(i)。

  2. 然后,使用Set语句将工作表赋给变量ws。

  3. 使用ws.Cells(ws.Rows.Count, "X").End(xlUp).Row语句获取最后一行的行数。这里假设"X"列中没有空白行,否则需要根据实际情况进行调整。

  4. 使用Date函数获取当前日期,并将其赋给变量currentDate。

  5. 接下来,使用For循环从第2行到最后一行,逐行检查数据。

  6. 在循环内部,首先检查条件是否满足,如果满足则执行下面的操作。

  7. 使用ws.Cells(i, "AE").Value检查第i行"AE"列的值是否为"抵押",使用Not IsEmpty(ws.Cells(i, "X").Value)检查第i行"X"列的值是否为空,使用ws.Cells(i, "AD").Value检查第i行"AD"列的值是否为空。

  8. 如果以上条件都满足,则获取第i行"X"列的日期值,并将其赋给变量checkDate。

  9. 使用If语句将检查日期(checkDate)与当前日期减去20天(currentDate - 20)进行比较。

  10. 如果检查日期小于当前日期减去20天,则使用ws.Cells(i, "X").Select语句将焦点设置到该单元格。

  11. 最后,使用MsgBox函数弹出一个提示信息,显示"日期小于20天"。

  12. 循环继续,直到检查完所有的行。

请注意,这只是一个示例代码,你需要根据实际需求进行调整。例如,你可能需要更改工作表的名称、列的位置,或者调整日期的比较条件等

vbaSub CheckDates Dim ws As Worksheet Dim lastRow As Long Dim currentDate As Date Dim checkDate As Date Dim i As Long 设置工作表 Set ws = ThisWorkbookWorksheets2023年汇总 获取最

原文地址: http://www.cveoy.top/t/topic/iWzN 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录