He comenzado con vba hace muy poco y estoy generando codigo para el manejo de bases de datos, deseo que me filtre la base de datos por dias que pasaron desde ultimo contacto, ejemplo ( si se registro hace una semana serian siete dias), y habria un conjunto de datos que entre en esa clasificacion.
El problema radica en que no se como filtar , puesto que hablo de selecciones que incluyen a varios registros, he utilizado el metodo FIND para registros por numero de identificacion y me ha funcionado por que son unicos pero cuando son repetidos no me funciona, ademas deseo que solo las personas que he incluido en el rango de dias me aparezcan en una lista cargada a un combobox para luego modificar sus datos en otro userform.
No se si debo utilizar el metodo find o filtros avanzados que tampoco se activar desde el userform
quisiera su amable y apreciada colaboracion para hallar un codigo corto y entendible que pueda utilizar en este caso y a la vez aprender el como funciona.
codigo find que utilice para filtrar por numero de cedula:
Private Sub TextNumerodocumento_Change() 'SELECCIONAR LOS VALORES PARA EL TEXT BOX
OpcionesFiltro.Select
TextNumeroDocumento = VBA.Format((TextNumeroDocumento), "###,###,###") 'ASIGNAR FORMATO DE NUMERO
Valor = UsfGestion.TextNumeroDocumento.Value
Set Encuentra = Range("B:B").Find(Valor, LookIn:=xlValues, lookat:=xlWhole) 'SECUENCIA QUE ME PERMITE DETALLAR EL FILTRO
If Not Encuentra Is Nothing Then
TextNumeroDocumento = Encuentra.Offset(0, 0) ' SELECCIONO LOS DATOS A EXTRAER DE LA TABLA
CboTipo = Encuentra.Offset(0, 1)
TextNombresApellidos = Encuentra.Offset(0, 2)
CboFechaNacimiento = Encuentra.Offset(0, 3)
TextTelefono2 = Encuentra.Offset(0, 4)
TextCorreo2 = Encuentra.Offset(0, 5)
lblCategoria.Caption = Encuentra.Offset(0, 6)
TextIngresos = Encuentra.Offset(0, 7)
CboContrato = Encuentra.Offset(0, 8)
CboTiempo = Encuentra.Offset(0, 9)
TextEmpresa = Encuentra.Offset(0, 10)
CboEstadoCivil = Encuentra.Offset(0, 11)
lblFuente.Caption = Encuentra.Offset(0, 12)
lblComentarios = Encuentra.Offset(0, 29)
Encuentra.Offset(0, 0).Select
End If
End Sub
En filtros ni siquiera funcionan mis intentos, no se como activarlos desde un userform y sin afectar la tabla de origen
les agradeceria muchisimo sus apreciaciones
Featured Replies
Archivado
Este tema está ahora archivado y está cerrado a más respuestas.
Buenas Noches a todos,
He comenzado con vba hace muy poco y estoy generando codigo para el manejo de bases de datos, deseo que me filtre la base de datos por dias que pasaron desde ultimo contacto, ejemplo ( si se registro hace una semana serian siete dias), y habria un conjunto de datos que entre en esa clasificacion.
El problema radica en que no se como filtar , puesto que hablo de selecciones que incluyen a varios registros, he utilizado el metodo FIND para registros por numero de identificacion y me ha funcionado por que son unicos pero cuando son repetidos no me funciona, ademas deseo que solo las personas que he incluido en el rango de dias me aparezcan en una lista cargada a un combobox para luego modificar sus datos en otro userform.
No se si debo utilizar el metodo find o filtros avanzados que tampoco se activar desde el userform
quisiera su amable y apreciada colaboracion para hallar un codigo corto y entendible que pueda utilizar en este caso y a la vez aprender el como funciona.
codigo find que utilice para filtrar por numero de cedula:
Private Sub TextNumerodocumento_Change() 'SELECCIONAR LOS VALORES PARA EL TEXT BOX
OpcionesFiltro.Select
TextNumeroDocumento = VBA.Format((TextNumeroDocumento), "###,###,###") 'ASIGNAR FORMATO DE NUMERO
Valor = UsfGestion.TextNumeroDocumento.Value
Set Encuentra = Range("B:B").Find(Valor, LookIn:=xlValues, lookat:=xlWhole) 'SECUENCIA QUE ME PERMITE DETALLAR EL FILTRO
If Not Encuentra Is Nothing Then
TextNumeroDocumento = Encuentra.Offset(0, 0) ' SELECCIONO LOS DATOS A EXTRAER DE LA TABLA
CboTipo = Encuentra.Offset(0, 1)
TextNombresApellidos = Encuentra.Offset(0, 2)
CboFechaNacimiento = Encuentra.Offset(0, 3)
TextTelefono2 = Encuentra.Offset(0, 4)
TextCorreo2 = Encuentra.Offset(0, 5)
lblCategoria.Caption = Encuentra.Offset(0, 6)
TextIngresos = Encuentra.Offset(0, 7)
CboContrato = Encuentra.Offset(0, 8)
CboTiempo = Encuentra.Offset(0, 9)
TextEmpresa = Encuentra.Offset(0, 10)
CboEstadoCivil = Encuentra.Offset(0, 11)
lblFuente.Caption = Encuentra.Offset(0, 12)
lblComentarios = Encuentra.Offset(0, 29)
Encuentra.Offset(0, 0).Select
End If
End Sub
En filtros ni siquiera funcionan mis intentos, no se como activarlos desde un userform y sin afectar la tabla de origen
les agradeceria muchisimo sus apreciaciones