Ayuda con el codigo por favor

13/06/2006 - 22:37 por Ruben | Informe spam
Hola alguien que me ayude por favor ya que no se como poner el codigo

- Tengo una hoja llamada "Matriz" en la cual tengo ingresado datos
desde la columna A hasta la Z pero en la columna D tengo ingresado la
palabra "Fijo" en varias filas (tengo desde la 2 hasta la 5000).
- Por medio de un textbox que tengo en un formulario de VBA para excel
pido que ingrese cualquier dato.
-Por medio de un combobox llamado Buscar, necesito que me busque en la
matriz el dato ingresado en el textbox pero solo en la columna D, Ahora
si han ingresado la palabra "Fijo" que me la busque en la matriz
(pueden haber muchas filas que tenga en la columna D la palabra Fijo) y
cada vez que me la encuentre que me copie toda la fila a la hoja
llamada Reporte.
-Para que el usuario sepa que se esta haciendo un proceso deseo
presentarle una barra de progreso que se vaya incrementando hasta que
culmine el proceso.

Muchas gracias
 

Leer las respuestas

#1 Héctor Miguel
14/06/2006 - 02:56 | Informe spam
hola, Ruben !

... hoja llamada "Matriz"... datos desde... A hasta la Z... en la columna D tengo... la palabra "Fijo" en varias filas
... un textbox... en un formulario... pido que ingrese cualquier dato.
... que me busque en la matriz el dato ingresado en el textbox pero solo en la columna D
... si han ingresado la palabra "Fijo"... pueden haber muchas filas que tenga en la columna D la palabra Fijo)
... cada vez que me la encuentre que me copie toda la fila a la hoja llamada Reporte.
- Para que el usuario sepa que se esta haciendo un proceso deseo presentarle una barra de progreso
que se vaya incrementando hasta que culmine el proceso.



1) para el 'trabajo' de pasar los datos de las filas de la hoja 'matriz'...
que en su columna 'D' coincidan con el dato en el TextBox1 ??? del formulario
a la siguiente 'fila libre' de la hoja 'reporte'... -> te paso un ejemplo al fina del presente ;)

2) para el caso de tu 'deseo' de utilizar una barra de progreso para 'amenizarle' la espera al usuario...
[aparte de que el procedimiento anterior hace la 'pasada' de los datos de un solo 'tiron']...
haria falta conocer 'el resto' del codigo y 'cuantos' procedimientos se estarian ejecutando -?-
para saber si 'vale la pena' incluir una barra de progreso [o similar] que definitivamente harian mas 'lenta' la ejecucion :))

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

== en el modulo de codigo del formulario, suponiendo que hay un boton de comando 'llamado' CommandButton1 =Private Sub CommandButton1_Click()
With Worksheets("matriz")
If Application.CountIf(.Range("d:d"), TextBox1) > 0 Then
If .AutoFilterMode Then .AutoFilterMode = False
.Range("a1").AutoFilter Field:=4, Criteria1:=TextBox1
With .AutoFilter.Range
.Offset(1).Resize(.Rows.Count - 1).SpecialCells(xlCellTypeVisible) _
.Copy Worksheets("reporte").Range("a65536").End(xlUp).Offset(1)
End With
.AutoFilterMode = False
Else
MsgBox TextBox1 & " NO existe en la matriz !!!"
End If
End With
End Sub

Preguntas similares