2016-01-21 56 views
0

我知道vb腳本爲excel,而且似乎無法找到有助於按需操作的代碼。也許它如何用我的搜索標準來表達。只有在特定單元格=今天的日期時才複製excel表格中的所有行

表1是每天將數據保存到工作表2中的輸入表。有一個單元格保存當前日期。

因此,表2只是整理和保存輸入的所有內容。

每天都有幾行保存到工作表2中。 我需要一個表2上的按鈕,它只選擇具有今天日期的行並複製內容。我只需要複製數據,然後將其粘貼到另一個應用程序的剪貼板中即可。

任何人都可以幫忙嗎?即時通訊使用的辦公室2016年

感謝

+0

嗨安東尼。我建議你錄製一個宏,在那裏你將一個過濾器應用到工作表2;然後篩選今天的日期;然後複製所有行;然後停止宏錄製器並查看錄製的代碼。我認爲這會爲你提供一個很好的起點。 – Michael

+0

我不能使用宏函數,因爲我無法確定從一天到下一天的行數。我需要使用vb代碼來確定需要複製的行數。 –

回答

0

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

我認爲這是一件因爲你是新來的VBA代碼,將自己是有用的。

您將很可能需要補充您的代碼與您ned的部分,IE當前日期,只應對和不粘貼等等。

我建議谷歌這些部分,因爲它是廣泛可用的,I.E. VBA的Excel「那麼你正在尋找」

Dim TodaysDate As Date 

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

^比如會給你當天在DD/MM/YYYY格式

我離開其餘的你,希望這有助於

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 
相關問題