仅当特定单元格=今天的日期时,才复制excel表格中的所有行

时间:2016-01-21 13:31:41

标签: excel vba excel-vba

我知道vb脚本为excel而且似乎无法找到有助于做我想要的代码。也许它是我的搜索标准的措辞。

工作表1是一个输入表,每天将数据保存到工作表2中。有一个单元格保存当前日期。

因此,表2只是整理并保存输入的所有内容。

每天都有几行保存到表2中。 我需要第二张纸上的一个按钮,它只选择具有今天日期的行并复制内容。我只需要复制数据,然后我可以将其粘贴到剪贴板中另一个应用程序。

有人可以帮忙吗?我正在使用办公室2016年。

由于

2 个答案:

答案 0 :(得分:0)

Excel VBA, How to select rows based on data in a column?

我相信这对你自己有用,因为你不熟悉VBA代码。

您很可能需要使用您所需的部分,IE当前日期,仅应对而不是粘贴等来补充您的代码。

我推荐谷歌这些部分,因为它是广泛可用的,I.E。 VBA Excel"然后是您要搜索的内容"

Dim TodaysDate As Date

TodaysDate = Now
TodaysDate = Format(TodaysDate, "dd/mm/yyyy")

^例如,将以dd / mm / yyyy格式给出当天的日期

我把剩下的留给你,希望这有帮助

答案 1 :(得分:0)

我会遍历第二张表格中的行并隐藏与日期不匹配的行。所以类似的东西:

Dim today As String
Dim Rows As Integer
Dim Sheetname As String
Dim Column As Integer

Sheetname = "Sheet2" 'Name of your second sheet
Column = 1 'Column with your date

today = Now
today = Format(today, "dd/mm/yyyy")

Rows = Sheets(Sheetname).UsedRange.SpecialCells(xlCellTypeLastCell).Row

Dim i As Integer

For i = 1 To Rows Step 1
    If Sheets(Sheetname).Cells(i, Column).Value <> today Then
        Sheets(Sheetname).Rows(i).EntireRow.Hidden = True
    End If
Next i

然后你可以复制今天的行。 要再次显示所有行,只需使用

Dim Sheetname As String

Sheetname = "Sheet2" 'name of your second sheet

Sheets(Sheetname).Cells.EntireRow.Hidden = False