Можно ли найти значение с другого листа в той же книге?

У меня есть книга с несколькими электронными таблицами. Один из листов называется «Master Filtered», а другой — «MTL OR TOR». Я хочу заполнить столбец K листа «Master filtered» значением поиска из листа «MTL или TOR» во втором столбце. Я написал этот кусок кода, но он не работает.

Sub MTL_OR_TOR()
    Dim AcctNb As String
    Dim result As String


    Worksheets("Master Filtered").Activate 
    Dim lastrow As Long
    lastrow = Cells(Rows.Count, 1).End(xlUp).Row


    For G = 4 To lastrow

    AcctNb = Cells(G, 3).Value

    Set myrange = Worksheets("MTL OR TOR").Range("AA4:AB685") 'Range in which the table MTL or TOR should be entered
    result = Application.WorksheetFunction.VLookup(AcctNb, myrange, 2, False)

    Range("K" & G).Value = result
    Next

End Sub

У вас есть идеи, почему этот код не работает и как это исправить?

Я думал, может быть, моя ошибка в строке, начинающейся с Set myrange= Worksheets("MTL OR TOR"), но не мог понять.

С ним не работает. Я пробовал...

Celine N 29.05.2019 19:16

Что значит не работает? Вы получаете сообщение об ошибке? Если да, то на какой линии?

Josh Eller 29.05.2019 19:17

Он говорит: «Ошибка активного метода класса рабочего листа. И когда я отлаживаю, он выделяет строку «Рабочие листы («Master Filtered»). Активировать»

Celine N 29.05.2019 19:22

Добавьте Option Explicit к очень топ модуля, в котором находится код. Это заставит вас объявлять переменные — прямо сейчас вы не объявляете myrange, так что я бы по крайней мере добавил Dim myrange as Range в код. Кроме того, поскольку это статический диапазон (вы его не меняете), я бы Set myrange ...за пределами цикла For.

BruceWayne 29.05.2019 19:22

Код находится в модуле или на листе? Если он находится на листе, измените его на модуль

Vityata 29.05.2019 19:54

Он уже есть в модуле

Celine N 29.05.2019 20:37
Преобразование HTML-таблицы в профессиональный документ Excel
Преобразование HTML-таблицы в профессиональный документ Excel
Это самый простой способ создания Excel из HTML-таблицы.
Импорт excel в laravel в базу данных
Импорт excel в laravel в базу данных
Здравствуйте, дорогой читатель, в этой статье я расскажу практическим и быстрым способом, как импортировать файл Excel в вашу базу данных с помощью...
0
6
65
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
Sub MTL_OR_TOR()
    ' Name your variables in a meaningful way and indicate their type
    Dim strAcctNb As String
    Dim strResult As String
    Dim lngLastRow As Long
    Dim lngLoop As Long
    Dim rngLookup As Range

    'Set your range and variables before you execute the code for readability
    Set rngLookup = Worksheets("MTL OR TOR").Range("AA4:AB685") 'Range in which the table MTL or TOR should be entered

    'Do not Activate or Select unless you really have to
    'Worksheets("Master Filtered").Activate

    With Worksheets("Master Filtered")

        lngLastRow = .Cells(.Rows.Count, 1).End(xlUp).Row

        For lngLoop = 4 To lngLastRow
            strAcctNb = .Cells(lngLoop, 3).Value
            strResult = Application.WorksheetFunction.VLookup(strAcctNb, rngLookup, 2, False)
            .Range("K" & lngLoop).Value = strResult
        Next

    End With

End Sub

Другие вопросы по теме