AutoFilter mediante VBA

22/03/2005 - 20:05 por SG Web Design - Sergio Gattelet | Informe spam
Hola Grupo,

Quisiera saber si es posible el empleo de AutoFilter o AutoFilter Avanzado
para ejecutarlo por medio de vba y filtrar de esta manera una lista de
articulos.

Viendo todas las posibilidades creo que el uso de autofilter es lo mas
apropiado para mostrar las coincidencias de un campo determinado.

Sergio.

Preguntas similare

Leer las respuestas

#11 Héctor Miguel
24/03/2005 - 04:49 | Informe spam
hola, chicos !

Mostrar la cita
de tu mensaje anterior, 'deduzco' que [aun en vb/stand-alone] es necesario 'barrer' cada uno de los controles -?-
[lo que no se es si en vb/stand-alone sea posible que estuvieran 'marcados/seleccionados' al mismo tiempo] -?-
aunque vba no contempla 'todas' las caracteristicas y bondades de vb/stand-alone...
para 'agrupar' tus botones de opcion, puedes usar la propiedad 'GroupName' [botones que se auto-excluyen]
por si te pudiera servir de algo, pego al final una consulta 'similar' de dic-2004.

si cualquier duda [o informacion adicional]... comentas?
saludos,
hector.
consulta 'original' de Ignacio... y propuesta de 'solucion' ==> ...¿Como averiguo la cantidad de OptionButton.GroupName que hay en un formulario
Mostrar la cita
siguiendo una 'secuencia logica' de eventos, te expongo la forma 'larga' [ya encontraras la forma de 'adelgazarla']
=> al inicializarse el formulario...
1.- 'barrer' TODOS los controles del formulario 'buscando' SOLO los que sean 'OptionButton'
2.- 'llenar' una coleccion con los [posibles] 'GroupNames' a los que 'pertenezca' cada control
=> en el momento en que sea necesario 'detectar' los optionbuttons 'activos' de cada grupo...
1.- 'barrer' los 'GroupNames' [y por cada grupo]...
2.- 'barrer' [nuevamente] los controles 'buscando CUAL opcion de cada grupo esta 'seleccionado'
3.- 'al tiempo' que vas 'llenando' una matriz con cada seleccion [o si ninguna ha sido] 'activada'

el siguiente ejemplo muestra 'el resultado' al pulsar un 'CommandButton1' en el formulario.
si cualquier duda... comentas?
saludos,
hector.
en el modulo de codigo del formulario ==Dim Ctr As Control, Grupos As New Collection, Grupo As Integer, Opciones() As String
Private Sub UserForm_Initialize()
For Each Ctr In Me.Controls
If TypeName(Ctr) = "OptionButton" Then
On Error Resume Next
If Ctr.GroupName <> "" Then Grupos.Add Ctr.GroupName, CStr(Ctr.GroupName)
End If: Next
End Sub
Private Sub CommandButton1_Click(): ReDim Opciones(Grupos.Count)
For Grupo = 1 To Grupos.Count: Opciones(Grupo - 1) = "Ninguno"
For Each Ctr In Me.Controls
If TypeName(Ctr) = "OptionButton" Then
If Ctr.GroupName = Grupos.Item(Grupo) And Ctr Then
Opciones(Grupo - 1) = Ctr.Name: Exit For
End If: End If: Next: Next
For Grupo = 1 To Grupos.Count
MsgBox Grupos.Item(Grupo) & " - " & Opciones(Grupo - 1)
Next
End Sub
#12 KL
24/03/2005 - 07:30 | Informe spam
Hola chicos,

Creo que en mi respuesta anterior me habia concentrado mas en el problema de
hacer un bucle que pueda devolver las propiedades de los controles usando su
indice.

La otra forma de crear arrays de controles es por medio de un class module.
Aqui encontraras un buen ejemplo:
http://www.vbusers.com/downloads/do...asp#item13

Y tambien un ejemplo de uso de Array en vez de Collection:
http://www.j-walk.com/ss/excel/tips/tip44.htm

Saludos,
KL


"SG Web Design - Sergio Gattelet" wrote in message
news:
Mostrar la cita
Ads by Google
Search Busqueda sugerida