¿Como hacer para tener los 2 Combos en este codigo pero reducido, para no terner repetido el mismo codigo
With Application
.ScreenUpdating = False
Sheets("D-V").Select
.Calculation = xlCalculationManual
Range(Range("C4"), Range("C4").End(xlDown)).AdvancedFilter 2, , Range("Z1"), 1
Range("Z1").Sort Key1:=Range("Z1"), Order1:=xlAscending, Header:=xlYes
With Me.ComboBox4
.List = Range(Range("Z1"), Range("Z1").End(xlDown)).Value
Range(Range("Z1"), Range("Z1").End(xlDown)).Delete
.RemoveItem (0)
Range(Range("C4"), Range("C4").End(xlDown)).AdvancedFilter 2, , Range("Z1"), 1
Range("Z1").Sort Key1:=Range("Z1"), Order1:=xlAscending, Header:=xlYes
With Me.ComboBox7
.List = Range(Range("Z1"), Range("Z1").End(xlDown)).Value
Range(Range("Z1"), Range("Z1").End(xlDown)).Delete
.RemoveItem (0)
End With
End With
.ScreenUpdating = True
.Calculation = xlCalculationAutomatic
End With
Gracias
el bloque WITH sólo se puede referir a un objeto.
Lo que puedes hacer es crear un procedimiento que actúe sobre un objeto genérico que le pasarás como argumento, así puedes llamar a ese procedimiento las veces que quieras con distintos objetos.
por ejemplo:
Sub ProcedimientoPrincipal()
ActuaSobreUnCombo Me.ComboBox1
ActuaSobreUnCombo Me.ComboBox2
End Sub
Sub ActuaSobreUnCombo(micombo As MSForms.ComboBox)
'prodecimiento donde le decimos lo que queremos hacer con un como genérico
With micombo
'aquí lo que quieras hacer con el combo
End With
End Sub
------
Ya sé Excel, pero necesito más.
Perdona mi inexperiencia pero, para mi es cosa que no encajo