Я пытаюсь создать шаблон, который будет извлекать данные из нескольких файлов, которые я буду сохранять в своих документах.Шаблон будет извлекать данные и использовать функцию SumIf
для ссылки на закуску на листе 1 и суммировать числа рядом с ней на листах 2 и 3. Я предполагаю, что закуска всегда будет в столбце А, но в зависимости отфайл, который я загружаю, столбец «Количество» может отличаться.
Приведенный ниже код пытается сослаться на Lc
в качестве диапазона суммы, но, перебирая язык, я получаю
Ошибка '1004': ошибка приложения или объекта -или- Ошибка '13': несоответствие типов
Я думал оrange.address, но я не уверен, как это сделать.Это необходимо?Любое понимание будет очень признателен.
Закуски:

Dim Lr, Lc As Long
Lr = Cells(Rows.Count, "A").End(xlUp).Row
Lc = Cells(1, Columns.Count).End(xlToLeft).Column
For a = 1 To Lr
Cells(a, 3).Value = Application.WorksheetFunction.SumIf(Worksheets("Sheet 2").Range( _
"A2:A" & Lc), Worksheets("Sheet 1").Cells(a, 1), Worksheets("Sheet 2").Range( _
"A2:A" & Lc))
Next a
-------------------------------- Обновление --------------------------
Спасибо за ценную информацию, ребята.
@ QHarr Я действительно ценю понимание.У меня вопрос, как мне создать «один критерий», когда я хочу, чтобы критерии менялись каждый раз, когда он повторяется?По сути, я хочу, чтобы он сначала суммировал «Cheetos», но в следующий раз я хотел бы, чтобы он суммировал «Doritos».Вы увидите выше, что я поменялся местами (a, 1) вместо Range ("A: A") для критериев.Я получаю значение 0, потому что я не думаю, что ячейки (a, 1) зацикливаются так же, как зацикливающийся цикл.
@ Michal Rosa Спасибо, я больше не получаю ошибку - она работает без ошибок, но все значения SumIf возвращаются как «0».Кроме того, отличная уловка в проблеме LastRow - после некоторой проработки этой проблемы меня поймали мелочи.