VBA: перемещение значений на другой лист на основе результатов Vlookup - PullRequest
0 голосов
/ 10 октября 2019

Итак, у меня есть код, который выполняет цикл в Vlookup, и намерение этого состоит в том, чтобы на основе vlookup он перемещал определенные ячейки в другую определенную ячейку, но на другом листе. Код выполняется, но по какой-то причине он не перемещает данные. Я попробовал другой подход в комментариях If и сделал диапазон с назначением копирования, но я начинаю получать объект не опознанные ошибки. Надеясь, что кто-то может увидеть, чего мне не хватает, почему значения не переносятся.

Dim i, j, lastG, lastD As Long
Dim sht, ws As Worksheet

With Application
    .ScreenUpdating = False
    .EnableEvents = False
    .CutCopyMode = False
End With
' find last row
lastG = Sheets("Log").Cells(Rows.Count, "B").End(xlUp).Row
lastD = Sheets("Slide Layout").Cells(Rows.Count, "B").End(xlUp).Offset(1, 0).Row
Set sht = Sheets("Log")
Set ws = Sheets("Slide Layout")

' loop over values in "Log"
For i = 2 To lastG
    currVal = ws.Cells(Rows.Count, "J").End(xlUp)
    lookupval = Sheets("Log").Cells(i, "B") ' value to find
        If lookupval = currVal Then
            sht.Cells(i, "F") = ws.Cells(lastD)
        End If
Next i

On Error Resume Next

With Application
    .ScreenUpdating = True
    .EnableEvents = True
    .CutCopyMode = True
End With

End Sub

Ответы [ 2 ]

0 голосов
/ 10 октября 2019

Обновление, разобрался! Я только что заменил

sht.Cells(i, "F") = ws.Cells(lastD)

на

sht.Cells(i, "F").Copy Destination:=ws.Cells(lastD, "B")

Я ценю помощь.

0 голосов
/ 10 октября 2019

Не уверен, что я полностью следую ... но похоже, что у вас должно быть это

sht.Cells (i, "F") = currVal

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