【问题标题】:select, copy and paste range of rows based on a date value in a cell in a sorted by date list根据日期排序列表中单元格中的日期值选择、复制和粘贴行范围
【发布时间】:2011-07-20 17:38:58
【问题描述】:

我需要一些有关 Excel 中的 VBA 的帮助来查找特定的单元格值(即今天的日期),然后根据该条件选择、复制并粘贴一系列行到另一个工作表中,基于它们在过去或未来。我的工作表按日期按 ASC 排序,并阅读了许多与此问题类似的帖子,但我没有自己解决,所以不知道我的问题是缺乏处理日期的专业知识,还是我的所有线程read 的要求略有不同。

源工作表的示例如下所示;

givenName   RegistrationStartDate
Kirstie     1/07/2010
Momena      12/01/2011
Seyedkazem  18/01/2011
Christie    3/02/2011
Jakub       8/02/2011
Steven      11/07/2011
Patrina     13/07/2011
Gregory     14/07/2011
Fatima      15/07/2011
Thomas      18/07/2011
Ala         **19/07/2011**
Anne        31/07/2011
Umair       1/08/2011
Laura       2/08/2011

我需要 VBA 方面的帮助来查找今天的日期 2011 年 7 月 19 日并将其粘贴到 “过去” 工作表中;

givenName   RegistrationStartDate
Kirstie     1/07/2010
Momena      12/01/2011
Seyedkazem  18/01/2011
Christie    3/02/2011
Jakub       8/02/2011
Steven      11/07/2011
Patrina     13/07/2011
Gregory     14/07/2011
Fatima      15/07/2011
Thomas      18/07/2011

'未来'工作表

givenName   RegistrationStartDate
Anne        31/07/2011
Umair       1/08/2011
Laura       2/08/2011

我想可能让我感到悲伤的是,我特别不需要任何包含今天日期的行。一旦我解决了这个问题,我将为“现在是什么日期”标准添加逻辑(即今天日期之前和之后的 28 天)并基于此复制/粘贴行。我想如果有好心的大师可以帮助我解决上述问题,我应该会没事的。

最好的问候

拉里

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    所以要回答您的问题,获取当前日期的函数(即希望相同的系统日期),您使用 Date 函数。

    现在您处理他的列表并将每个日期与系统日期进行比较;

    • 日期
    • 日期 > sysdate 是未来
    • dates = sysdate 被忽略

    如果表中的日期包含时间信息,则必须使用Int(yourtabledate) 来摆脱时间,因为02.08.2011 08:12 > 02.08.2011(带有隐式时间00:00)因此会转到您不想要的未来.

    其他...如果您不知道如何在 VBA 中的表格中形成循环,请发布一个具体问题。

    干杯 迈克

    【讨论】:

      猜你喜欢
      • 2023-02-14
      • 1970-01-01
      • 2016-11-18
      • 2013-12-11
      • 1970-01-01
      • 2017-01-11
      • 1970-01-01
      • 2017-12-30
      • 1970-01-01
      相关资源
      最近更新 更多