У меня есть сценарий здесь, где у меня есть три вкладки под названием Лист1, Лист2, Лист3 и Столбец Н каждого листа содержат дату.Excel Необходима визуальная базовая помощь
Что я хочу программу VBA, где в пользователь определяет поле ввода даты начала и окончания использования и программа должен цикл в графе H, чтобы найти, если дата клеток падает между указан диапазон дат пользователем в поле ввода. Если программа может найти дату, которая находится между диапазоном, указанным пользователем , затем скопируйте эту строку и вставьте ее на новую вкладку «FINAL» так же, как она должна перейти на лист 2 и выполнить ту же самую действие и скопируйте строку и вставьте вкладку «ОКОНЧАТЕЛЬНЫЙ».
Так что, если вы видите, требуется два перекручивания ОНКА в колонке 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