Мой код не помещает значения в каждую строку, вместо этого пропускает строки на основе исходного макета листа - PullRequest
0 голосов
/ 16 октября 2019

У меня есть фрагмент кода, который выполняет поиск в Листе («Подзадачи»), и если число в столбце A является десятичным, то в ячейке Листа («PBS») столбец D = смещается в десятичное числоЯчейка, найденная в столбце А. Однако мне бы хотелось, чтобы код работал, чтобы строка 2,3,4,5,6 и т. д. (+1) в листе PBS отображала информацию из подпрограмм.

Но в данный момент информация отображается в том же макете, что и в Листе («Подзадачи»). Чего мне не хватает в коде


Dim Lastrow3 As Long, r As Long, n As Long, cell As Range, ws As Worksheet, Lastrow1 As Long
Lastrow3 = Sheets("Sub Tasks").Range("B" & Rows.Count).End(xlUp).Row
Lastrow1 = Sheets("PBS ").Range("D" & Rows.Count).End(xlUp).Row

n = 2
With Worksheets("Sub Tasks")
        For Each cell In Sheets("Sub Tasks").Range("A2:A" & Lastrow3)
            If IsNumeric(cell.value) Then
                If cell.value = Int(cell.value) Then
                   Worksheets("PBS ").Cells(n, "C").value = cell.value
                   Worksheets("PBS ").Cells(n, "D").value = cell.Offset(0, 1).value
                   Worksheets("PBS ").Cells(n, "B").value = cell.Offset(0, 8).value
                   Worksheets("PBS ").Cells(n, "A").value = cell.Offset(0, 7).value
                   Worksheets("PBS ").Cells(n, "H").value = cell.Offset(0, 23).value
                   Worksheets("PBS ").Cells(n, "E").value = cell.Offset(0, 3).value
                Else
                End If
            Else
            End If
        n = n + 1
    Next cell
End With
``````````````````````````

1 Ответ

2 голосов
/ 16 октября 2019

переместить n = n + 1 в другое место.

    n = 2
    With Worksheets("Sheet1")
    For Each cell In Sheets("Sheet1").Range("A2:A" & Lastrow3)
        If IsNumeric(cell.Value) Then
            If cell.Value = Int(cell.Value) Then
               Worksheets("Sheet3").Cells(n, "C").Value = cell.Value
               Worksheets("Sheet3").Cells(n, "D").Value = cell.Offset(0, 1).Value
               Worksheets("Sheet3").Cells(n, "B").Value = cell.Offset(0, 8).Value
               Worksheets("Sheet3").Cells(n, "A").Value = cell.Offset(0, 7).Value
               Worksheets("Sheet3").Cells(n, "H").Value = cell.Offset(0, 23).Value
               Worksheets("Sheet3").Cells(n, "E").Value = cell.Offset(0, 3).Value
               n = n + 1
            Else
            End If
        Else
        End If
    Next cell
End With
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...