【发布时间】:2013-10-07 17:23:56
【问题描述】:
我正在尝试根据给定的日期范围从工作表中删除数据。在“Grower Reporting”表上,我有一个小数据集,L 列中有日期。其余数据在 N、M 和 O 列中。在同一个工作表中,我有两个定义日期范围的单元格,单元格“A2” =开始日期和单元格“B2”=结束日期。我正在尝试从我的数据集中删除任何不属于给定日期范围的日期和相邻数据。
感谢 ARich 和 varocarbas 帮助我走到这一步!
这是我所做的(请耐心等待,我对编码的掌握很薄弱):
Sub delete_data()
Dim startDate As Date
Dim endDate As Date
Dim r_date As Date
startDate = Sheets("Grower Reporting").Range("a2").Value
endDate = Sheets("Grower Reporting").Range("b2").Value
Set r = Sheets("Grower Reporting").Range("L:L").Find(r_date, Range("L2"), _
LookIn:=xlValues, lookat:=xlWhole, searchdirection:=xlNext)
If (r_date >= startDate And r_date <= endDate) Then
r.Offset(0, -1).Value = " "
End If
End Sub
上面的代码似乎没有做任何事情。我认为我走在正确的轨道上,但急需一些指导。
【问题讨论】:
-
有办法吗?当然。但是你试过什么?我查看了您之前的问题,此代码与那里的标记答案相同。你知道……你应该自己做一些事情。您尝试解决什么问题(获取日期、比较日期等)以及为什么无法解决?此外,就您的代码不返回任何内容而言,“返回”是什么意思也不清楚,只需修改一些单元格即可。
-
我尝试将两个日期定义为变量,但无法弄清楚代码将日期范围与“I”列中的日期进行比较。
-
您发布的代码与此问题无关(并且是其他人编写的);将其作为支持很好,但它并不能证明您的最低理解、尝试的解决方案等。写下处理日期的部分,并澄清您对要返回的数据的含义。
-
另外,对于不清楚的术语,我们深表歉意。在编程方面我有点新手。
-
只要清楚,我对术语没有任何问题。 “返回”意味着执行某些分析并将某些值(变量)发送回调用者的函数。如果您不是那个意思,只需澄清您想要的内容:“像在我的原始代码中为满足日期条件的行向单元格添加值”? -> 不确定。你的解释越详细越好。请在前面写下您尝试过的日期,并确认您想要做什么。