Hola Freaks! En este post os traigo un pequeño truco para rellenar las celdas vacías en excel con una macro en visual basic.
En el post anterior te hablé de que tenías que hacer antes de empezar a programar en visual basic y era añadir la pestaña programador
Seguro que esta dichosa columna con celdas vacías te ha provocado mas de un quebradero de cabeza a la hora de analizar la información, o preparar una tabla dinámica.
Pues con esta pequeña macro, lo vas a solucionar inmediátamente.
Macro para rellenar celdas en excel
Partimos de la siguiente situación:
Tenemos 3 columnas (La ubicación, el vendedor y las unidades vendidas), pero como puedes ver la columna A tiene celdas vacías.
Lo que vamos a hacer es, con una simple macro, crear una nueva columna.
En esa nueva columna, le vamos a preguntar si la celda de la izquierda contiene algún dato o está vacía.
Si contiene algún dato, fácil, lo rellenamos con ese dato, si no, cogemos el valor de la celda inmediatamente por encima.
Y arrastramos la fórmula hasta la última celda.
En este caso, esta tabla es estática, finaliza en la fila 14 y no va a variar, pero cuando los datos van aumentando o disminuyendo hay que calcular, cada vez que se ejecute la macro, cual es la última celda con valor, pero eso te lo explicaré más adelante.
Una vez que tengamos la nueva columna rellena con la información que necesitamos, seleccionamos dicha columna y copiamos y pegamos como valores, para así evitarnos fastidiar la fórmula y perder el dato correcto.
Una vez que ya hemos realizado ese paso, procedemos a eliminar la columna inicial que contenia las celdas vacías.
A continuación te dejo el código de la macro, con comentarios para que puedas seguirla con facilidad.
Sub RellenarCeldasVacias() ' Codigo creado por www.excelfreak.com ' Seleccionamos la Pestaña en la que queremos rellenar las celdas vacias, tendrás que modificarla por el nombre de tu pestaña Sheets("RellenarCeldas").Select ' La columna en la que tenemos las celdas vacias es en la A, ' por lo que añadimos una nueva columna, seleccionando la columna B Columns("B:B").Select Selection.Insert Shift:=xlToRight ' En la celdas B2 preparamos una formula para identificar aquellas celdas vacias, rellenandolas con el valor superior. Range("B2").Select ActiveCell.FormulaR1C1 = "=IF(RC[-1]="""",R[-1]C,RC[-1])" Range("B2").Select ' En este caso la última celda es estática por lo no es necesario definir la ultima celda dinámicamente. ' Se autorellena hasta la celda B14 ' Si en tu fichero, la última celda va a ser variable, busca en www.excelfreak.com "última celda con valores" para integrar esa parte del código en éste. Selection.AutoFill Destination:=Range("B2:B14") ' Copiamos la cabecera que teníamos en la celda A1 en la celda B1 Range("A1").Select Selection.Copy Range("B1").Select ActiveSheet.Paste ' Seleccionamos la columna entera B la copiamos y pegamos como valores. Columns("B:B").Select Application.CutCopyMode = False Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False ' Seleccionamos la columna entera A y la eliminamos Columns("A:A").Select Application.CutCopyMode = False Selection.Delete Shift:=xlToLeft Range("A1").Select ' Y de esta manera tan sencilla puedes rellenar las celdas vacías con una macro en visual basic. End Sub
Te dejo el video del resultado que obtienes al ejecutar esta macro.
Estoy preparando el post para enseñaros como rellenar las celdas vacías en excel con una macro en visual basic.
Os adjunto el video resultado de la macro.https://t.co/XypX2Wy4QR#excel #vba #macro #visualbasic pic.twitter.com/0FrVkzLRjG— Excelfreak (@excelfreak_com) 3 de mayo de 2018