Este es el código para el formulario de dirección médica
Private Sub ComboBox1_Change() 'direccion medica
'Por.Dante Amor
'Application.ScreenUpdating = False
Hoja6.Cells.Clear
Hoja6.[A1] = "SUSTANCIA ACTIVA"
Hoja6.[A2] = ComboBox1
Filtrado
'
Hoja6.Cells.EntireColumn.AutoFit
'ref = Array("B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U")
cols = Array("B", "C", "D", "0", "0", "0", "H", "I", "J", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0")
For I = LBound(cols) To UBound(cols)
If cols(I) <> "0" Then n = Int(Hoja6.Range(cols(I) & 1).Width + 5) Else n = 0
ancho = ancho & n & ";"
Next
ListBox1.ColumnWidths = Left(ancho, Len(ancho) - 1)
ListBox1.RowSource = Hoja6.Name & "!B2:U" & Hoja6.Range("I" & Rows.Count).End(xlUp).Row
End Sub
Observa como las columnas que no quieres que se muestren tienen un 0 en el array "col".
También observa que el origen de los datos para cargar el listbox comienza en la columna B.
También te anexo el procedimiento con el filtro avanzado
Sub Filtrado()
'Por Dante Amor
Hoja1.Columns("A:T").AdvancedFilter _
Action:=xlFilterCopy, _
CriteriaRange:=Hoja6.Range("A1:A2"), _
CopyToRange:=Hoja6.Range("B1"), _
Unique:=False
End Sub
Aquí puedes verificar que el resultado del filtro se coloca a partir de la columna B