No es un misterio que yo sólo uso software open source o bien freeware y que evito usar programas de los que no tenga licencia, y los que tengo están licenciados para mi. De modo que en vez de MS Office, utilizo OpenOffice, que lo ha reemplazado perfectamente bien en mis labores cotidianas.

Y como tampoco es un misterio, mi labor cotidiana tiene relación con Métodos de Investigación y especialmente con análisis de datos. Convengamos sin embargo, que el análisis de datos es más o menos el 20% del tiempo, el 80% está dedicado a depurar la base de datos y comprobar supuestos estadísticos.

Uno de los «eventos» más molestos en el proceso de depuración es la presencia de celdas vacías en las bases, porque si bien la mayoría de los programas estadísticos las puede manejar, muchas veces uno simplemente quiere reemplazar ese espacio vacío por otro valor (por ejemplo en variables categóricas) de manera sencilla. Y la manera más sencilla es hacerlo con la función de «Buscar y reemplazar» de Excel o Calc.

Pero ocurre que ni Excel ni Calc permiten reemplazar espacios vacíos, inténtenlo y verán que no se puede, reemplaza objetos por objetos, pero no vacíos por objetos, de modo que no hay solución. Al menos inicialmente. Buscando en internet encontré una macro que permite hacerlo. El código aparece abajo:

Sub FillEmptyCells

 oSelection = ThisComponent.getCurrentSelection()
 oRangeAddress = oSelection.getRangeAddress()

 for iRow = 0 to (oRangeAddress.EndRow-oRangeAddress.StartRow)
 for iCol = 0 to (oRangeAddress.EndColumn-oRangeAddress.StartColumn)
 oCellToCheck = oSelection.getCellByPosition(iCol,iRow)
 if( oCellToCheck.Formula = "" ) then
 oCellToCheck.Formula = "NA"
 end if
 next iCol
 next iRow

End sub

El tema es, ¿cómo se utiliza?. Pues el código y los pasos son sólo válidos para Calc de OpenOffice. Debes ir a Herramientas > Macros > Organizar diálogos. Elije la solapa «Módulos», cliquea en «Mis Diálogos» > «Standard», y luego al costado presionas «Editar», vas al final del documento (sin tocar nada o te cargas alguna macro importante!!!) y pegas el código de arriba. Luego debes hacer una elección, observa que hay una línea que dice:

oCellToCheck.Formula = "NA"

Pues esa línea contiene el valor «NA» que es el valor que yo le di y por el cual se reemplaza el espacio vacío, puedes elegir otro valor, pero en cierto modo ni siquiera importa, porque una vez reemplazado el valor vacío por NA, puedes posteriormente reemplazar NA por cualquier otra cosa.

No puedo agradecer al creador del código de arriba porque perdí el vínculo, pero declaro claramente que NO LO PROGRAMÉ YO, sólo lo apliqué. Autor, si lees esto, pues me haces ver la luz.

2 comentarios sobre «Reemplazando celdas vacías en OpenOffice»

  1. Estrella

    Hola!!

    Precisamente lo que esplicas es lo que me hace falta!! pero cuando voy a la pestaña de ‘modulos’, no me aparece’mis dialogos’, me aparece solo ‘mis macros’. Ahí hago click en ‘standard’ pero no me deja entonces hacer click en editar.

    ¿Sabes alguna solucion? mil gracias!!

Responder a Enrique Espejo Cancelar la respuesta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.