Вытягивание нескольких имен из другого листа на другой - PullRequest
0 голосов
/ 05 июня 2019

Я консолидировал данные с листа «три».Данные состоят из того, как человек делает в своей работе.Две ячейки справа от имени человека дают мне свои данные, и это то, что я передаю.Сейчас я пытаюсь взять эти данные и поместить их в определенные ячейки на другом листе.Использование VBA конечно.

Я пытался использовать оператор IF, но я думаю, что это может быть причиной того, что он не работает

Sub button()

    With Worksheets("three").Range("G1")

        If .Value = "sconlon@iadvancenow.com" Then

            Worksheets("Sheet2").Range("C3") = .Offset(0, 1).Value
            Worksheets("Sheet2").Range("D3") = .Offset(0, 2).Value


        End If

    End With

End Sub

То, что я получаю только из этого кода, это данные только одного человека.Мне нужны данные нескольких людей, взятые и размещенные где-то еще.Реальная проблема заключается в том, что в некоторых случаях, когда данные обновляются, имя человека может отсутствовать (потому что они, возможно, не сделали никакой работы), возможно, всплывает имя другого человека.кому нужно вспомнить каждое имя, необходимо указать его ячейку на другом листе.

1 Ответ

1 голос
/ 05 июня 2019

Это можно сделать с помощью VLOOKUP.Если это должен быть VBA, то это довольно простое решение для вас:

Sub tgr()

    Dim ws As Worksheet
    Dim sLookupCol As String
    Dim sLookupTable As String

    Set ws = ActiveWorkbook.Worksheets("Sheet2")
    sLookupCol = "A"
    sLookupTable = "'three'!$G:$I"

    With ws.Range("C3:D" & ws.Cells(ws.Rows.Count, sLookupCol).End(xlUp).Row)
        If .Row < 3 Then Exit Sub   'No values to lookup
        .Formula = "=VLOOKUP($" & sLookupCol & .Row & "," & sLookupTable & ",COLUMN(B1),FALSE)"
        .Value = .Value
    End With

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