Estoy intentando crear un panel de interfaz; algunas capturas de pantalla a continuación. El concepto es vincular el valor filtrado de una lista desplegable en la página principal para vincularlo al mismo valor filtrado en una columna de la segunda página. Parece que no consigo que funcione con las distintas variables.
Aquí hay algunas capturas de pantalla y mi código VBA actual. Qué estoy haciendo mal aquí ? ¿O hay una alternativa a esto?
Código:
Range("T8:V8").Select
Sheets(" Detail (Internal)").Select
ActiveSheet.Range("$A:$CT").AutoFilter Field:=16, Criteria1:=Range("T8").Value
Agradezco la ayuda de todos..
Respuesta1
Las selecciones no te aportan nada. La selección y el uso de ActiveSheet no son seguros.
Debes definir variables.
Dim sheet1 As Worksheet, sheet2 As Worksheet
Dim range1 As Range, range2 As Range
y luego obtener y utilizar referencias a hojas y rangos. Como:
Set sheet1 = ThisWorkbook.Sheets("Sheet1")
Set range1 = ThisWorkbook.Sheets("Sheet2").Range("T8")
sheet1.Range("$A:$CT").AutoFilter Field:=16, Criteria1:=range1.Value
o
Set range1 = ThisWorkbook.Sheets("Sheet1").Range("$A:$CT")
Set range2 = ThisWorkbook.Sheets("Sheet2").Range("T8")
range1.AutoFilter Field:=16, Criteria1:=range2.Value
o
Set sheet1 = ThisWorkbook.Sheets("Sheet1")
Set sheet2 = ThisWorkbook.Sheets("Sheet2")
sheet1.Range("$A:$CT").AutoFilter Field:=16, Criteria1:=sheet2.Range("T8").Value
etcétera...