У меня есть этот лист.
В событии Activate другого рабочего листа я хочу получить все строки за указанный год и неделю.
В VBA я могу получить нужный лист. Как я могу вызвать функцию индекса, чтобы получить все строки для данного года и недели?
Я должен напечатать столбцы из этих строк на новом листе.
У меня есть вызов функции INDEX в книге, которая выглядит следующим образом:
=IFERROR(INDEX('L5 Data'!$C$6:$C$104000,SUMPRODUCT(('L5 Data'!$A$6:$A$104000=$B$1)*('L5 Data'!$B$6:$B$104000=$B$2)*('L5 Data'!$F$6:$F$104000=E$6)*ROW('L5 Data'!$6:$104000))-5),"")
Я изменил это, чтобы выглядеть так:
comment_date = Application.WorksheetFunction.IfError(Application.WorksheetFunction.Index(line_data_sheet.Range(C6:C104000), Application.WorksheetFunction.SUMPRODUCT((line_data_sheet.Range(A6:A104000)=year)*(line_data_sheet.Range(B6:B104000)=week)*('L5 Data'!$F$6:$F$104000=D$3)*ROW(line_data_sheet.Range($6:$104000)))-5),"")
В исходном вызове функции INDEX я указываю три критерия (год, неделя, машина) для извлечения определенного столбца для одной строки данных.
Но в VBA я хочу указать только два критерия (год, неделя) и пройтись по всем соответствующим строкам (машинам), чтобы получить определенные столбцы.
Как мне изменить строку кода "comment_date", чтобы получить это?