Estou tentando criar um painel de interface - algumas capturas de tela abaixo. O conceito é vincular o valor filtrado de uma lista suspensa na página principal para vincular ao mesmo valor filtrado em uma coluna na segunda página. Não consigo fazê-lo funcionar com as várias variáveis.
Aqui estão algumas capturas de tela e meu código VBA atual. O que estou fazendo de errado aqui ? Ou existe uma alternativa para isso?
Código:
Range("T8:V8").Select
Sheets(" Detail (Internal)").Select
ActiveSheet.Range("$A:$CT").AutoFilter Field:=16, Criteria1:=Range("T8").Value
Agradeço a ajuda de todos..
Responder1
As seleções não dão nada para você. A seleção e o uso do ActiveSheet não são seguros.
Você deve definir variáveis
Dim sheet1 As Worksheet, sheet2 As Worksheet
Dim range1 As Range, range2 As Range
e então obter e usar referências a planilhas e intervalos. Como:
Set sheet1 = ThisWorkbook.Sheets("Sheet1")
Set range1 = ThisWorkbook.Sheets("Sheet2").Range("T8")
sheet1.Range("$A:$CT").AutoFilter Field:=16, Criteria1:=range1.Value
ou
Set range1 = ThisWorkbook.Sheets("Sheet1").Range("$A:$CT")
Set range2 = ThisWorkbook.Sheets("Sheet2").Range("T8")
range1.AutoFilter Field:=16, Criteria1:=range2.Value
ou
Set sheet1 = ThisWorkbook.Sheets("Sheet1")
Set sheet2 = ThisWorkbook.Sheets("Sheet2")
sheet1.Range("$A:$CT").AutoFilter Field:=16, Criteria1:=sheet2.Range("T8").Value
e assim por diante...