Найти пустые ячейки в столбце и вставить в формулу VLookup, но только если есть значение в другой ячейке в другом столбце - PullRequest
0 голосов
/ 14 мая 2019

Вот что я пытаюсь сделать:

  • На Листе 1 найдите пустые ячейки в столбцах O, Q, Z, AC и вставьте формулу Vlookup (ссылка на лист 2).
  • Но вводите в формулу Vlookup только в том случае, если в столбце B есть значение (имя) (в той же строке и на том же Листе1).

Первая пустая ячейка в столбце O, Q, Z, AC случайна, потому что я ежедневно получаю разные данные.
Вот что я собрал для столбца O, но он не работает.

Sub BegBalance()
'
' BegBalance Macro
' Adding formula to pull in beginning balance

    Dim lFirstBlank As Long, lLastRow As Long
    Dim rRange As Range
    Dim ws1 As Worksheet, ws2 As Worksheet
    Dim srchres As Variant

    Set ws1 = Worksheets("Sheet1")
    Set ws2 = Worksheets("Sheet2")

    lLastRow = Cells(Rows.Count, 3).End(xlUp).Row
    lFirstBlank = _
    Range("O2:O" & lLastRow).SpecialCells(xlCellTypeBlanks).Cells(1, 1).Row

    Set rRange = Range("O" & lFirstBlank & ":O" & _
    lLastRow).SpecialCells(xlCellTypeBlanks)

    On Error Resume Next
    srchres = Application.WorksheetFunction.VLookup(ws1.Range("B2"), ws2.Range("B:H"), 3, False)
    On Error GoTo 0
    If (IsEmpty(srchres)) Then
        ws1.Range("O2").Formula = CVErr(Error)
    Else
        ws2.Range("O2").Value = srchres
    End If


End Sub
...