我有一个场景,在这里我有一个叫做 的三个选项卡,每个工作表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