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

Preguntas similare

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
Respuesta Responder a este mensaje
#2 Ruben
14/06/2006 - 16:39 | Informe spam
Muchas gracias Hector ya voy a probarlo, pero me gustaria que me hagas
el favor de indicar en ese codigo como podria ponerle una barra de
progreso que se vaya incrementando hasta que culmine el proceso.

Saludos

Héctor Miguel wrote:
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
Respuesta Responder a este mensaje
#3 Héctor Miguel
15/06/2006 - 02:27 | Informe spam
hola, Ruben !

... ya voy a probarlo, pero me gustaria que me hagas el favor de indicar en ese codigo
como podria ponerle una barra de progreso que se vaya incrementando hasta que culmine el proceso...



1) como te comentaba en el mensaje anterior...
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 :))



2) para 'el caso' del codigo de la propuesta anterior... una vez que hayas corrido las pruebas... me podrias decir...
-> cuanto tiempo 'le tomo' a esa [fraccion de] macro terminar 'su tarea' [filtrar en 'matriz' y copiar a 'reporte'] -?-
-> cuanto tiempo 'calculas' que le tomaria a una barra de progreso 'consumirse' [o consumarse] ??
-> revisa nuevamente el punto anterior :)

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida