Note: The other languages of the website are Google-translated. Back to English

如何根据Excel中的日期复制行并将其粘贴到另一个工作表? 

假设我有一系列数据,现在,我想根据特定日期复制整个行,然后将它们粘贴到另一张纸上。 您有什么好主意可以在Excel中处理此工作吗?

根据今天的日期复制行并粘贴到另一张纸上

如果日期大于今天,则复制行并将其粘贴到另一张纸上


根据今天的日期复制行并粘贴到另一张纸上

如果您需要复制日期为今天的行,请应用以下VBA代码:

1。 按住 ALT + F11 键打开 Microsoft Visual Basic应用程序 窗口。

2。 点击 插页 > 模块,然后将以下代码粘贴到“模块窗口”中。

VBA代码:根据今天的日期复制和粘贴行:

Sub CopyRow()
'Updateby Extendoffice
    Dim xRgS As Range, xRgD As Range, xCell As Range
    Dim I As Long, xCol As Long, J As Long
    Dim xVal As Variant
    On Error Resume Next
    Set xRgS = Application.InputBox("Please select the date column:", "KuTools For Excel", Selection.Address, , , , , 8)
    If xRgS Is Nothing Then Exit Sub
    Set xRgD = Application.InputBox("Please select a destination cell:", "KuTools For Excel", , , , , , 8)
    If xRgD Is Nothing Then Exit Sub
    xCol = xRgS.Rows.Count
    Set xRgS = xRgS(1)
    Application.CutCopyMode = False
    J = 0
    For I = 1 To xCol
        Set xCell = xRgS.Offset(I - 1, 0)
        xVal = xCell.Value
        If TypeName(xVal) = "Date" And (xVal <> "") And (xVal = Date) Then
            xCell.EntireRow.Copy xRgD.Offset(J, 0)
            J = J + 1
        End If
    Next
    Application.CutCopyMode = True
End Sub

3。 粘贴以上代码后,请按 F5 键运行此代码,然后会弹出一个提示框,提醒您选择要复制行的日期列,请参见屏幕截图:

4。 然后点击 OK 按钮,在另一个提示框中,在另一个工作表中选择要输出结果的单元格,请参见屏幕截图:

5。 然后点击 OK 按钮,现在,日期为今天的行立即粘贴到新工作表中,请参见屏幕截图:


如果日期大于今天,则复制行并将其粘贴到另一张纸上

要复制并粘贴日期大于或等于今天的行,例如,如果日期等于或大于今天5天,则将这些行复制并粘贴到另一张纸上。

以下VBA代码可能会对您有所帮助:

1。 按住 ALT + F11 键打开 Microsoft Visual Basic应用程序 窗口。

2。 点击 插页 > 模块,然后将以下代码粘贴到“模块窗口”中。

VBA代码:如果日期大于今天,则复制并粘贴行:

Sub CopyRow()
'Updateby Extentoffice
    Dim xRgS As Range, xRgD As Range, xCell As Range
    Dim I As Long, xCol As Long, J As Long
    Dim xVal As Variant
    On Error Resume Next
    Set xRgS = Application.InputBox("Please select the date column:", "KuTools For Excel", Selection.Address, , , , , 8)
    If xRgS Is Nothing Then Exit Sub
    Set xRgD = Application.InputBox("Please select a destination cell:", "KuTools For Excel", , , , , , 8)
    If xRgD Is Nothing Then Exit Sub
    xCol = xRgS.Rows.Count
    Set xRgS = xRgS(1)
    Application.CutCopyMode = False
    J = 0
    For I = 1 To xCol
        Set xCell = xRgS.Offset(I - 1, 0)
        xVal = xCell.Value
        If TypeName(xVal) = "Date" And (xVal <> "") And (xVal >= Date And (xVal < Date + 5)) Then
            xCell.EntireRow.Copy xRgD.Offset(J, 0)
            J = J + 1
        End If
    Next
    Application.CutCopyMode = True
End Sub

备注:在上面的代码中,您可以更改条件,例如小于今天或需要的天数。 如果TypeName(xVal)=“ Date”和(xVal <>“”)和(xVal> =日期和(xVal <日期+ 5))然后 脚本代码。

3。 然后按 F5 键以运行此代码,请在提示框中,选择要使用的数据列,请参见屏幕截图:

4。 然后点击 OK 按钮,在另一个提示框中,在另一个工作表中选择要输出结果的单元格,请参见屏幕截图:

5。 点击 OK 按钮,现在,日期等于或大于5天的行已被复制并粘贴到新表中,如以下屏幕截图所示:


最佳办公效率工具

Kutools for Excel解决了您的大多数问题,并使您的生产率提高了80%

  • 重用: 快速插入 复杂的公式,图表 以及您以前使用过的任何东西; 加密单元 带密码 创建邮件列表 并发送电子邮件...
  • 超级公式栏 (轻松编辑多行文本和公式); 阅读版式 (轻松读取和编辑大量单元格); 粘贴到过滤范围...
  • 合并单元格/行/列 不会丢失数据; 拆分单元格内容; 合并重复的行/列...防止细胞重复; 比较范围...
  • 选择重复或唯一 行; 选择空白行 (所有单元格都是空的); 超级查找和模糊查找 在许多工作簿中; 随机选择...
  • 确切的副本 多个单元格,无需更改公式参考; 自动创建参考 到多张纸; 插入项目符号,复选框等...
  • 提取文字,添加文本,按位置删除, 删除空间; 创建和打印分页小计; 在单元格内容和注释之间转换...
  • 超级滤镜 (将过滤方案保存并应用于其他工作表); 高级排序 按月/周/日,频率及更多; 特殊过滤器 用粗体,斜体...
  • 结合工作簿和工作表; 根据关键列合并表; 将数据分割成多个工作表; 批量转换xls,xlsx和PDF...
  • 超过300种强大功能. 支持 Office / Excel 2007-2021 和 365。支持所有语言。 在您的企业或组织中轻松部署。 完整功能 30 天免费试用。 60 天退款保证。
kte选项卡201905

Office选项卡为Office带来了选项卡式界面,使您的工作更加轻松

  • 在Word,Excel,PowerPoint中启用选项卡式编辑和阅读,发布者,Access,Visio和Project。
  • 在同一窗口的新选项卡中而不是在新窗口中打开并创建多个文档。
  • 每天将您的工作效率提高50%,并减少数百次鼠标单击!
officetab底部
按评论排序
注释 (3)
还没有评分。 成为第一位评论!
该评论由网站上的主持人最小化
如果日期始终在每个工作簿的同一列中,是否可以对整个工作簿执行此操作? 如果是这样,VBA 代码会是什么,或者我会改变哪一点?
该评论由网站上的主持人最小化
你得到了这方面的回复吗?
该评论由网站上的主持人最小化
同样在这里。 真的很想得到答案!
非常感谢 EXTENDOFFICe :D
这里还没有评论
留下你的意见
以访客身份发帖
×
评价此帖子:
0   产品特性
建议地点

关注我们

版权所有 © 2009 - extendoffice.com。 | 版权所有。 供电 ExtendOffice。 | 网站地图
Microsoft和Office徽标是Microsoft Corporation在美国和/或其他国家的商标或注册商标。
受Sectigo SSL保护