我有一個場景,在這裏我有一個叫做 的三個選項卡,每個工作表Sheet1,Sheet2,Sheet3和H列包含日期。需要Excel Visual Basic幫助
我想VBA程序什麼其中用戶定義 的開始日期和結束日期使用輸入框和 程序具有循環在H列以便發現 日期細胞上的時間範圍指定 之間落在由用戶在輸入框中輸入。如果程序能夠 找到 用戶指定的範圍之間的日期,則複製該行並粘貼到名爲「FINAL」的新選項卡中,其方式與第2頁相同,並執行相同的操作動作 並複製該行並粘貼到「FINAL」選項卡中。
所以,如果你看到兩個循環的ONC需要在列H和 然後在表
我已經寫了一些像這樣的事情,但有一個很難得到這個 完成,在這方面的任何幫助將非常感謝。
Sub CopyData()
Application.ScreenUpdating = False
Dim inputboxa As Date
Dim inputboxb As Date
Dim ws As Worksheet
Dim cell As Range
inputboxa = startdate
inputboxb = enddate
startdate = InputBox("Enter Start Date" & vbCrLf & vbCrLf & "dd/mm/yyyy Format", "Lease", "01/02/2014", 500, 700)
enddate = InputBox("Enter enddate Date" & vbCrLf & vbCrLf & "dd/mm/yyyy Format", "Lease", "28/02/2014", 500, 700)
For Each ws In Worksheets
If ws.Visible = True And ws.Name <> "303010 V094" Then
Sheets(ws.Name).Select
For Each cell In Range("H1:H1000").Cells
''Range("h1:h1000").Select
''Do Until Range("h1:h1000").Value = vbNullString
If Range(cell).Value >= startdate And Range("h1").Value <= enddate Then
Range(cell).EntireRow.Copy Sheets("test").Cells(Rows.Count, "A").End(xlUp).Offset(2, 0)
End If
Next cell
Application.ScreenUpdating = True
''End If
End If
Next ws
End Sub
最壞的罪犯是表_test_必須隱藏或否則會有混亂。所以更好地明確不要遍歷目標工作表。 –
@amadeus非常真實;我曾假設情況確實如此,但具體排除它會更安全。我會更新我的答案,包括檢查。 – Joe