Как скопировать всю строку на лист 2, если столбец H имеет дату в ячейке.? - PullRequest
0 голосов
/ 17 апреля 2019

Я пытаюсь выполнить поиск (если в столбце H на листе mechanical Equip. есть какая-либо дата, скопируйте всю строку на лист off rent для следующей доступной строки. Она копирует первую строку из mechanical equip., имеет ли она дату или нет.

Sub CopyRowWithDates()
   Dim lrowcompleted As String
   Dim Rrange As Range

   Set Rrange = Sheets("MECHANICAL EQUIP.").Range("H2:H6000")

   On Error Resume Next
   Application.EnableEvents = False


        If Rrange = "mm/dd/yyy" Then

            lrowcompleted = Sheets("OFF RENT").Cells(Rows.Count, "A").End(xlUp).ROW

            Range("A" & Rrange.ROW & ":N" & Rrange.ROW).Copy Sheets("OFF RENT").Range("A" & lrowcompleted + 1)
            Else
        End If

    Application.EnableEvents = True


End Sub

Ответы [ 2 ]

0 голосов
/ 17 апреля 2019

Я изменил другой код, который у меня был, и он работает так, как мне нужно. спасибо за помощь.

   Private Sub CommandButton5_Click()
Dim id As String
Dim PO As String
Dim finalrow As Integer
Dim i As Integer
Dim lrowcompleted As String

id = TextBox19.Value
finalrow = Sheets("ALL P.O. INFO").Range("D6000").End(xlUp).row

For i = 2 To finalrow
    If Sheets("ALL P.O. INFO").Cells(i, 4) = id Then
        Sheets("ALL P.O. INFO").Cells(i, 8).Value = TextBox17.Value
    End If

    If Sheets("MECHANICAL EQUIP.").Cells(i, 4) = id Then
            Sheets("MECHANICAL EQUIP.").Cells(i, 8).Value = TextBox17.Value
            lrowcompleted = Sheets("OFF RENT").Range("A6000").End(xlUp).row
            Sheets("MECHANICAL EQUIP.").Range("A" & i & ":N" & i).Copy Sheets("OFF RENT").Range("A" & lrowcompleted + 1)


    End If
0 голосов
/ 17 апреля 2019

Если вы используете For each myDate in range("H2:H6000") вместо заданного диапазона?

Sub CopyRowWithDates()
   Application.EnableEvents = False
   Application.ScreenUpdating = False

   Dim lrowcompleted As String
   Dim myDate as String

  For each myDate in range("H2:H6000")

   On Error Resume Next
   Application.EnableEvents = False

        If myDate = "mm/dd/yyy" Then

            lrowcompleted = Sheets("OFF RENT").Cells(Rows.Count, "A").End(xlUp).ROW

            Range("A" & myDate.ROW & ":N" & myDate.ROW).Copy Sheets("OFF RENT").Range("A" & lrowcompleted + 1)
            Else
        End If

    Application.EnableEvents = True
    Application.Screenupdating = True
End Sub

Я предпочитаю использовать Range("A1048576").End(xlUp).Row вместо Cells(Rows.Count,"A").End(xlUp).ROW

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...