Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 仅当特定单元格=today';日期_Vba_Excel - Fatal编程技术网

Vba 仅当特定单元格=today';日期

Vba 仅当特定单元格=today';日期,vba,excel,Vba,Excel,我知道vb为excel编写脚本,但似乎找不到有助于我实现目标的代码。也许这就是我使用搜索条件的方式 表1是每天将数据保存到表2中的输入表。有一个单元格保存当前日期 因此,表2只是整理并保存输入的所有内容 每天有几行保存到表2中。 我需要第二页上的一个按钮,它只选择有今天日期的行并复制内容。我只需要复制数据,这样我就可以将它粘贴到剪贴板外的另一个应用程序中 有人能帮忙吗?我正在使用office 2016 谢谢 我相信这对你自己很有用,因为你是VBA代码的新手 您很可能需要用您定义的部分来补充代码,

我知道vb为excel编写脚本,但似乎找不到有助于我实现目标的代码。也许这就是我使用搜索条件的方式

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

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

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

有人能帮忙吗?我正在使用office 2016

谢谢

我相信这对你自己很有用,因为你是VBA代码的新手

您很可能需要用您定义的部分来补充代码,例如当前日期、仅处理而不粘贴等等

我推荐谷歌搜索这些部分,因为它是广泛可用的,即VBA Excel“那么你在搜索什么”

^例如,将以dd/mm/yyyy格式显示当前日期


剩下的就交给你了,希望这能有所帮助。我会在第二张工作表中的行中循环,并隐藏与日期不匹配的行。类似于此:

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

嗨,安东尼。我建议您记录一个宏,将过滤器应用于表2;然后过滤今天的日期;然后复制所有行;然后停止宏记录器并查看记录的代码。我想这将为您提供一个很好的起点。我不能使用宏函数,因为我无法确定从一天到下一天的行数。我需要使用vb代码来确定需要复制的行数。
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