Я пытаюсь сделать интерфейсную панель инструментов - несколько скриншотов ниже. Идея заключается в том, чтобы связать отфильтрованное значение из выпадающего списка на главной странице со ссылкой на то же отфильтрованное значение в одном столбце на второй странице. Я не могу заставить это работать с различными переменными...
Вот несколько скриншотов и мой текущий код VBA. Что я делаю не так? Или есть альтернатива этому?
Код:
Range("T8:V8").Select
Sheets(" Detail (Internal)").Select
ActiveSheet.Range("$A:$CT").AutoFilter Field:=16, Criteria1:=Range("T8").Value
Ценю помощь каждого.
решение1
Выборка ничего вам не даст. Выборка и использование ActiveSheet небезопасны.
Вы должны определить переменные
Dim sheet1 As Worksheet, sheet2 As Worksheet
Dim range1 As Range, range2 As Range
а затем получить и использовать ссылки на листы и диапазоны. Например:
Set sheet1 = ThisWorkbook.Sheets("Sheet1")
Set range1 = ThisWorkbook.Sheets("Sheet2").Range("T8")
sheet1.Range("$A:$CT").AutoFilter Field:=16, Criteria1:=range1.Value
или
Set range1 = ThisWorkbook.Sheets("Sheet1").Range("$A:$CT")
Set range2 = ThisWorkbook.Sheets("Sheet2").Range("T8")
range1.AutoFilter Field:=16, Criteria1:=range2.Value
или
Set sheet1 = ThisWorkbook.Sheets("Sheet1")
Set sheet2 = ThisWorkbook.Sheets("Sheet2")
sheet1.Range("$A:$CT").AutoFilter Field:=16, Criteria1:=sheet2.Range("T8").Value
и так далее...