Foros del Web » Soporte técnico » Ofimática »

While en una macro [EXCEL]

Estas en el tema de While en una macro [EXCEL] en el foro de Ofimática en Foros del Web. Que tal, quisiera preguntarles si alguien supiera poner un while en una macro, que cuando no encuentre mas datos en una celda termine. Osea, la ...
  #1 (permalink)  
Antiguo 30/07/2008, 06:37
 
Fecha de Ingreso: julio-2008
Mensajes: 17
Antigüedad: 15 años, 8 meses
Puntos: 0
Pregunta While en una macro [EXCEL]

Que tal, quisiera preguntarles si alguien supiera poner un while en una macro, que cuando no encuentre mas datos en una celda termine.

Osea, la macro ba bajando de fila en fila, hasta k se de cuenta que no hay mas nada que cortar, osea al hacer Selection.Cut , en una cell y ver k no tiene datos el while termine.


Gracias, muy amables (:

Baskjzz
  #2 (permalink)  
Antiguo 30/07/2008, 07:32
 
Fecha de Ingreso: julio-2008
Ubicación: Hermosillo, Sonora
Mensajes: 95
Antigüedad: 15 años, 8 meses
Puntos: 3
De acuerdo Respuesta: While en una macro [EXCEL]

Pues yo lo he hecho con un FOR, pero el principio es el mismo.


For renglon = 3 To 65000

If Len(Trim(mSheet.Cells(renglon, 1).Value)) = 0 Then
Exit For
End If

..........
codigo ...
..........

Me.Repaint

Next renglon

salu2....
  #3 (permalink)  
Antiguo 30/07/2008, 08:18
 
Fecha de Ingreso: julio-2008
Mensajes: 17
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: While en una macro [EXCEL]

lo pruebo y te digo (: graciass

qe hace "Me.Repaint" exactamente?
  #4 (permalink)  
Antiguo 31/07/2008, 00:15
 
Fecha de Ingreso: julio-2008
Mensajes: 99
Antigüedad: 15 años, 7 meses
Puntos: 1
Sonrisa Respuesta: While en una macro [EXCEL]

Que tal,

este codigo te ayudara.

:::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::
Rem Primero debes definir una celda de inicio

Hoja1.Activate
Hoja1.Range("A2").Select

Rem luego creas el bucle while

Do While ActiveCell <> Empty

ActiveCell.Offset(1, 0).Select

Loop

:::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::

el valor Empty define si hay o no hay dato en la celda y mientras la celda lo tenga se desplazara 1 fila y 0 columnas; si quieres devolverte una fila, despues del Loop puedes agregar la siguiente linea

ActiveCell.Offset(-1, 0).Select

Es decir que la cantidad de filas para desplazarse esta definida por el primer subindice y las columnas por el segundo.

Espero que te sea util,
chao.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:16.