LOCALIZAR LA CELDA VACIA EN UNA FILA

2 envíos / 0 nuevos
Último envío
gadita39
Imagen de gadita39
Offline
última acción: Hace 8 años 6 meses
alta: 17/12/2009 - 19:18
Puntos: 85
LOCALIZAR LA CELDA VACIA EN UNA FILA

Buenas tardes agradeceria mucho me puedieran ayudar pues tengo el siguiente problema y creo que debe ser bastante facil solucionarlo, pero por que soy muy neofito en esto de de Vba no se como hacerlo.

Tengo un libro , del cual la hoja1 toma unos datos y los quiero llevar a hoja2 en "D5", Lo que me gustaria que hiciera la macro es que cuando copie esos de la hoja 1 me los lleve a la hoja2  pero pero esta vez a "E5" y asi sucesivamente. creo que existe alguna formula que localiza la celda a la derecha de la celda "D5". y asi sucesivamente.

Gracias de antemano y espero haber sido lo bastante claro  

Os dejo la macro que "he creado", por decir algo 

Sub TECHO1()

' selecciona el rango

    Sheets("DATOS_INTERMEDIOS").Select

    Range("B16:B27").Select

' CAMBIAR_VALOR_CELDAS()

     Selection.Value = Selection.Value

    Selection.Font.ColorIndex = 5

 

' Selecciona y copia  el rango y lo envia a recogidas en la celda limpia siguiente

    Selection.Copy

    Sheets("recogidas").Select

    Range("D5").Select

    ActiveSheet.Paste

 

 

' vuelve a pagina y da valores de nuevo

    Sheets("DATOS_INTERMEDIOS").Select

    Range("B16").Select

    ActiveCell.FormulaR1C1 = "=R[-14]C"

    Range("B16").Select

    Selection.AutoFill Destination:=Range("B16:B27"), Type:=xlFillDefault

    Range("B16:B27").Select

 

End Sub

 
pacomegia
Imagen de pacomegia
Offline
última acción: Hace 1 semana 2 días
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
¿cómo lo harías a mano?

Piensa cómo lo harías a mano utiliznado el teclado

Como casi todo en VBA (y en la vida), no hay una única manera de hacer esto

Por ejemplo, yo me colocaría en la celda A5 (o en la primera qeu tuviese datos) y luego pulsaría [Ctrl][flecha derecha] para moverme a la última celda con datos hacia la derecha. una vez ahí, la celda que esté a su derecha es la celda vacía siguiente.

esto funciona siempre que no haya interrupciones, celdas vacías, entre la A5 y la última celda (suponiendo que la A5 sea la primera celda con datos
bueno, y siempre que haya algo más aparte de la celda A5, para qeu no se me vaya al final de la hoja

¿cómo se haría  en VBA?

pues por ejemplo así:

en vez de Range("D5").Select puedes poner lo siguiente

Range("A5").Select   'seleccionamos A5

Selection.End(xlToRight).Select   'nos movemos a la última celda hacia la derecha y la seleccionamos

ActiveCell.Offset(0, 1).Select  ' ahora seleccionamos la que está a su derecha

 

Si te animas podrías ponerlo todo en una única instrucción:

Range("A5").End(xlToRight).Offset(0, 1).Select

 

 

------
Ya sé Excel, pero necesito más.