Macro para rellenar celdas vacias

Solo consultas sobre macros y código VBA Excel.

Reglas del Foro
1. Antes de hacer tu pregunta intenta con el buscador de este foro (muchas preguntas ya fueron respondidas antes!)
2. Si haces una nueva pregunta, es muy recomendable que adjuntes el ejemplo Excel para poder comprenderla mejor!
3. Realiza tu pregunta de forma clara, explicando bien cada paso de lo que haces y tendrás más probabilidad de respuesta!
Compartir en:
     

Macro para rellenar celdas vacias

Notapor lnascorp1 » 31 Jul 2010 18:23

Estimados foristas, estoy aprendiendo esto de los Macros y quisiera que me ayudaran con un proyecto en el que trabajo.
Tengo estos archivos .CSV con lecturas tomadas en un sistema de proteccion cathodica y necesito hacer unas graficas con estas lecturas. En las columnas "C"y "D" se encuentran estas lecturas y las celdas vacias tienen que ser rellenadas con la lectura en el renglon anterion a esta celda vacia. Aqui agrego un link para quien pueda ayudarme con este asunto. http://www.megaupload.com/?d=LUN37TUY De antemano, muchas gracias!!.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
lnascorp1
Miembro Nuevo
Miembro Nuevo
 
Registrado: 17 Jul 2010 14:24

Re: Macro para rellenar celdas vacias

Notapor ambro » 31 Jul 2010 19:33

Hola:

No entendí muy bien tu explicación. Aqui te dejo un código que realiza lo que "entendí" necesitas, lo puedes pegar en un libro cualquiera y guardarlo como complemento. ando un poco corto de tiempo si no te hubiera dejado el archivo armado. Como siempre, recomiendo le eches un vistazo al código y trates de comprenderlo para que lo puedas adaptar a posibles futuras necesidades.

Código: Seleccionar todo
Sub RellenaVacias()
Dim Ws As Worksheet
Dim Rgo As Range
Dim UF As Long, PF As Integer
Set Ws = ActiveSheet

With Ws
    'Encontramos la primera fila con valores
    PF = .Range("C1").End(xlDown).Row
    'Encontramos la última fila con valores
    UF = .Range("C" & .Rows.Count).End(xlUp).Row
    'creamos el rango
    Set Rgo = .Range("C" & PF & ":D" & UF)
End With
'quitamos los espacios a las celdas en blanco
Rgo.Replace " ", ""
'asignamos un color de fuente diferente a las celdas en blanco para su posterior identificación
Rgo.SpecialCells(xlCellTypeBlanks).Font.ColorIndex = 14
'formulamos las celdas en blanco para que tomen el valor de la celda anterior
Rgo.SpecialCells(xlCellTypeBlanks).FormulaR1C1Local = "=F(-1)C"

'liberamos las variables de objeto
Set Ws = Nothing
Set Rgo = Nothing

End Sub


Saludos desde México!!!
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
ambro
Miembro Frecuente
Miembro Frecuente
 
Registrado: 09 May 2005 02:57
Ubicación: DF

Re: Macro para rellenar celdas vacias

Notapor lnascorp1 » 01 Ago 2010 01:57

Ambro, muchas gracias por su respuesta. Copie el codigo a un libro de trabajo nuevo y luego abri uno de los archivos en los que quiero trabajar y me salio un error (run-time error '1004') y si le doy a "debug" me muestra el error en la siguiente linea:
Rgo.SpecialCells(xlCellTypeBlanks).FormulaR1C1Local = "=F(-1)C"

Espero pueda ayudarme un poco mas con este asunto.
Dios le bendiga!
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
lnascorp1
Miembro Nuevo
Miembro Nuevo
 
Registrado: 17 Jul 2010 14:24

Re: Macro para rellenar celdas vacias

Notapor ambro » 01 Ago 2010 02:36

Hola:

Probé el procedimiento en Excel 2007 y 2003 sin ningún problema, creo que para 2010 si varía la fórmula. Prueva sustituyendo la línea que te manda el error por esta:

Rgo.SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"

Ya no debería darte más problemas.

Saludos nuevamente!!!
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
ambro
Miembro Frecuente
Miembro Frecuente
 
Registrado: 09 May 2005 02:57
Ubicación: DF

Re: Macro para rellenar celdas vacias

Notapor lnascorp1 » 01 Ago 2010 17:40

Funciono!! muchisimas gracias por tu ayuda me has salvado la vida!!
:mrgreen:
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
lnascorp1
Miembro Nuevo
Miembro Nuevo
 
Registrado: 17 Jul 2010 14:24

Re: Macro para rellenar celdas vacias

Notapor galileogali » 01 Ago 2010 18:27

Tiemblo al Pensar que VBA en Excel 2010, pueda traer problemas al ser ejecutado en otras versiones....
Por lo pronto ya vamos anotando 1
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
galileogali
Moderator
Moderator
 
Registrado: 07 Ene 2005 22:46
Ubicación: QUIROGA (ba), ARGENTINA

Re: Macro para rellenar celdas vacias

Notapor ambro » 02 Ago 2010 03:50

Hola:

Pues yo sólo he tenido problemas con las fórmulas tipo R1C1 por los cambios de "()" a "[]" así como con el famoso BuscarV, además de que algunas APIS no funcionan del todo bien, por lo que acostumbro a hacer validaciones de las tres últimas versiones de excel. Es un poco tedioso pero más vale prevenir...

Saludos desde México!!!
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
ambro
Miembro Frecuente
Miembro Frecuente
 
Registrado: 09 May 2005 02:57
Ubicación: DF

Re: Macro para rellenar celdas vacias

Notapor mgonzacol » 24 May 2011 16:02

Excelente herramienta!!! Felicitaciones por compartir conocimiento...Muchas Gracias!
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
mgonzacol
Miembro Nuevo
Miembro Nuevo
 
Registrado: 24 May 2011 15:50


Compartir en:
     

  • Anuncio
Manual Excel avanzado

Volver a Macros

¿Quién está conectado?

Usuarios navegando por este Foro: alex_xxx, zzzz y 8 invitados