Microsoft Excel: копировать значения по строкам в один столбец - PullRequest
0 голосов
/ 12 февраля 2019

Учитывая электронную таблицу, выложенную примерно так:

     A       B         C       D       E
    ---     ---       ---     ---     ---
  1 user1   1/1/18    1/1/17  1/1/16
  2 user2                     1/1/16  1/1/15
  3 user3             1/1/17
  4 user4                             1/1/15
  5 user5   12/31/18          9/8/16

Как я могу отсканировать каждую строку слева направо и скопировать значение столбца FIRST, обнаруженное после столбца B , в столбец такчто результат таков:

     A       B         C       D       E
    ---     ---       ---     ---     ---
  1 user1   1/1/18    1/1/17  1/1/16
  2 user2   1/1/16            1/1/16  1/1/15
  3 user3   1/1/17    1/1/17
  4 user4   1/1/15                    1/1/15
  5 user5   12/31/18          9/8/16

Если в столбце B уже есть значение, оно должно остаться без изменений.Все остальные значения в столбце B будут результатом сканирования каждой строки, как описано выше.Мои навыки макросъемки в наши дни отсутствуют, поэтому я открыт для предложений.

1 Ответ

0 голосов
/ 12 февраля 2019

Может быть, что-то вроде этого может работать:

Sub MyCombine()
    With Sheet1
        Dim lastRow As Long
        lastRow = .Cells(.Rows.Count, 1).End(xlUp).Row

        Dim i As Long
        For i = 1 To lastRow
            If IsEmpty(.Cells(i, 2)) Then
                .Cells(i, 2).Value = .Cells(i, 2).End(xlToRight).Value
            End If
        Next i
    End With
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...