Excel 是否有方法检索介于两个日期之间的值?
我试图建立一个VBA代码,其中我有2个日期被用作日期范围。使用此日期范围,我试图将其与表中每一行的日期进行比较。如果表日期在日期范围内,我希望检索表中的特定值 例如: 日期范围: 2021年1月2日至2021年1月7日 颜色在A列,日期在B列 红色-2021年8月3日 橙色-2021年1月9日 对于这个例子,我需要它返回“Red”是的,有 如果您尝试,请记住首先在代码的配置部分设置正确的值Excel 是否有方法检索介于两个日期之间的值?,excel,vba,Excel,Vba,我试图建立一个VBA代码,其中我有2个日期被用作日期范围。使用此日期范围,我试图将其与表中每一行的日期进行比较。如果表日期在日期范围内,我希望检索表中的特定值 例如: 日期范围: 2021年1月2日至2021年1月7日 颜色在A列,日期在B列 红色-2021年8月3日 橙色-2021年1月9日 对于这个例子,我需要它返回“Red”是的,有 如果您尝试,请记住首先在代码的配置部分设置正确的值 Sub RetrieveValue() Dim start_date, end_date As Date
Sub RetrieveValue()
Dim start_date, end_date As Date
Dim dates_col, db_start_row, db_end_row As Integer
Dim counter, values_col, retrieve_values_col As Integer
'CONFIG THIS BEFORE YOU RUN THE MACRO
'--------------------------
retrieve_values_col = 4 'column number where you want to retrieve the values
values_col = 2 'column where all the values are
dates_col = 3 'in what column are the dates?
db_start_row = 3 'in what row does the data start?
start_date = Date - 4 'set the date interval
end_date = Date + 3 'DATE is a function that returns todays date
'--------------------------
db_end_row = Cells(Rows.Count, dates_col).End(xlUp).Row
For counter = db_start_row To db_end_row
If Cells(counter, dates_col) >= _
start_date And Cells(counter, dates_col) <= end_date Then
Cells(counter, retrieve_values_col) = Cells(counter, values_col)
End If
Next counter
End Sub
子检索值()
Dim开始日期,结束日期为日期
Dim dates\u col、db\u start\u行、db\u end\u行为整数
Dim计数器,值\u列,检索值\u列为整数
'请在运行宏之前配置此选项
'--------------------------
检索\u值\u col=4'要检索值的列号
值\u col=2'列,其中所有值均为
日期\u col=3'在哪一列是日期?
db_start_row=3'数据从哪一行开始?
开始日期=日期-4'设置日期间隔
end_date=date+3'date是一个返回今天日期的函数
'--------------------------
db\u end\u row=单元格(Rows.Count,dates\u col).end(xlUp).row
对于计数器=db\U开始\u行到db\u结束\u行
如果单元格(计数器、日期列)>=_
开始日期和单元格(计数器、日期列)共享到目前为止的代码将是一个好主意。在您的情况下,这可能有助于我们了解您是如何获得这两个日期的,以及您计划如何处理结果的,即可能有多个结果,那么您将如何存储这些结果,您将如何处理它们,或者您只是试图找到第一个结果。。。