martes, 4 de mayo de 2021

Mayúsculas con función en Microsoft Excel

En Microsoft Excel existe una función que permite pasar textos a mayúsculas.


Es autoexplicativa, tiene un único parámetro.


El parámetro es el texto que deseamos convertir a mayúsculas.

Una vez escrita solo es preciso arrastrar y listo.


Como veis es resultado es el texto en mayúsculas en otra columna.


¿Se podría hacer mejor?

Pues sí, sin ir más lejos Microsoft Word lo hace sin tener que recurrir a una función.

¿Para cuando la posibilidad de convertir a mayúsculas en Microsoft Excel sin necesidad de usar una función?

lunes, 3 de mayo de 2021

Cuántas hojas puede tener un libro de Microsoft Excel

Según la documentación de Microsoft:

En Excel 2003 era de 255 hojas.

A partir de Excel 2007 solo está limitado por los recursos del ordenador (disco duro y memoria RAM).

Como ejemplo un fichero de Microsoft Excel con más de 400 hojas.


Extrañamente al guardar este fichero en formato xls se han mantenido todas las hojas, incluso abriéndolo con Libreoffice Calc.

Esto es cierto para la versión de 64 bits de Microsoft Office, ya que la versión de 32 bits solo permite gestionar 2 GB de memoria RAM, por lo que esto supondrá la limitación, ya que a día de hoy la mayoría de ocs tiene mucha más memoria disponible.

Consejo, si tenéis instalada la versión de 32 bits de Microsoft Office, sustituirla por la de 64 bits, notaréis una enorme mejora.

sábado, 1 de mayo de 2021

Eliminar acentos con VBA en Microsoft Excel

Ayer mostraba como sustituir una letra acentuada por su equivalente sin acento mediante la opción "Reemplazar..." de Microsoft Excel.

Eliminar acentos con Reemplazar... en Microsoft Excel

Hoy os muestro cómo automatizarlo mediante una sencilla Macro en Visual Basic for Applications VBA.

La forma más sencilla de comenzar a programar en VBA, es usando el grabador de macros para generar la macro y luego modificar el código.

En el ejemplo uso ese método.

Podéis ver qué activé la grabación de macros, para luego realizar el proceso que expliqué ayer para reemplazar la letra a acentuada por su equivalente sin acento.

El resultado, generado por el grabador de macros, es este código:

    Cells.Replace What:="á", Replacement:="a", LookAt:=xlPart, SearchOrder _

        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False


En este caso, modificar la macro, es tan sencillo como copiar y pegar estas líneas tantas veces como caracteres distintos deseemos sustituir. En el código de ejemplo los he marcado en negrita.

En el vídeo sustituyo la vocales mayúsculas y minúsculas con los acentos grave, agudo y circunflejo, presentes en idiomas como el francés o el catalán, y la ñ y la ç, presentes en castellano o portugués.

Este ejemplo se podría realizar con un bucle, pero como introducción a la modificación de macros, creo que es más instructivo de esta manera.


El código resultante es similar a este:

Sub ReemplazarAcentos()

'reenplazo letras minúsculas

    Cells.Replace What:="á", Replacement:="a", LookAt:=xlPart, SearchOrder _

        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

    Cells.Replace What:="é", Replacement:="e", LookAt:=xlPart, SearchOrder _

        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

    Cells.Replace What:="í", Replacement:="i", LookAt:=xlPart, SearchOrder _

        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

    Cells.Replace What:="ó", Replacement:="o", LookAt:=xlPart, SearchOrder _

        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

    Cells.Replace What:="ú", Replacement:="u", LookAt:=xlPart, SearchOrder _

        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False


'reenplazo letras mayúsculas

    Cells.Replace What:="Á", Replacement:="A", LookAt:=xlPart, SearchOrder _

        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

    Cells.Replace What:="É", Replacement:="E", LookAt:=xlPart, SearchOrder _

        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

    Cells.Replace What:="Í", Replacement:="I", LookAt:=xlPart, SearchOrder _

        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

    Cells.Replace What:="Ó", Replacement:="O", LookAt:=xlPart, SearchOrder _

        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

    Cells.Replace What:="Ú", Replacement:="U", LookAt:=xlPart, SearchOrder _

        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

        

'reenplazo otras letras

    Cells.Replace What:="ü", Replacement:="u", LookAt:=xlPart, SearchOrder _

        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

    Cells.Replace What:="Ü", Replacement:="U", LookAt:=xlPart, SearchOrder _

        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

End Sub


NOTA:

Toda instrucción que comience por apóstrofe en VBA es un comentario y no es tenido en cuenta por el programa.


El aspecto final de la macro es el de la imagen.


Aquí os dejo una animación con un ejemplo de la apertura y ejecución de la macro.


NOTA2:

Si observáis el vídeo, veréis que eliminó la primera instrucción, en la cual se seleccionaba la columna A, esto lo hago para que la macro se ejecute sobre las celdas seleccionadas, pudiendo aplicarla de esta forma a distintos rangos de celdas.


Espero que os resulte útil, esta es una de mis macros de almohada.

Eliminar acentos con Reemplazar... en Microsoft Excel

A veces es necesario escribir sin acentos.

Por ejemplo, en ciertos Erp o en los buscadores de páginas web, se suelen incluir las mismas palabras pero sin acentos, para facilitar la búsqueda.

Eliminar acentos manualmente, de uno en uno, es un trabajo lento, improductivo y propenso a cometer errores.

Una forma mejor que revisar el texto palabra por palabra, es aprovechar la posibilidad de hacer un reemplazo de caracteres.

"Reemplazar..." está disponible dentro del grupo "Buscar y seleccionar"



La opción reemplazar de Microsoft Excel podemos solicitar que cambie una a minúscula acentuada por una a minúscula, por ejemplo.


Importante seleccionar la columna o columnas en que queremos que se realice la sustitución.

Posteriormente pulsar el botón "Reemplazar todos".

En Microsoft Excel si no seleccionamos un rango, columna o fila la sustitución se aplica a todas las celdas de la hoja activa.


Solo deberemos repetir el proceso teniendo en cuenta que también pueden estar acentuadas las letras mayúsculas.

Este procedimiento también nos permite  sustituir diéresis, eñes u otro tipo de letras que no nos interesen como la c con cedilla.

Este método se puede aplicar en cualquier aplicación que tenga la opción de reemplazar, cómo puede ser Microsoft Word o el Bloc de notas de Windows.

Mañana os mostraré cómo automatizar todo el proceso mediante una macro VBA en Microsoft Excel.

viernes, 30 de abril de 2021

Pixelar imágenes y capturas de pantalla en segundos con Microsoft Paint

En ocasiones es necesario pixelar una imagen antes de subirla a Internet o de enviarla por email.

Existen multitud de programas para hacerlo.

Hoy os propongo una solución rápida a aplicar en Microsoft Windows sin tener que instalar ningún software adicional.

Con este truco, se puede pixelar una imagen tan solo usando el Microsoft Paint. Programa de edición de imágenes que se instala por defecto.

Funciona tanto en fotografías como en capturas de pantalla.

El proceso se basa en seleccionar la zona a pixelar, y luego mediante la combinación de teclas CTRL - reducir el tamaño del área seleccionada.

En este punto, el trozo de imagen seleccionado es forzado a mostrar la misma información con menos píxeles, de forma que se produce una reducción de la resolución de ese área dando como resultado el pixelado de la imagen.


También es aplicable a capturas de pantalla en las que sea preciso anonimizar parte de los datos mostrados.

Dependiendo del grado de pixelado que se desee obtener se pulsará una o más veces la combinación CTRL -

En mi caso suelo usarlo dos veces, manteniendo pulsado control, pulsar dos veces en el menos y a continuación dos veces en el+, tal que así CTRL --++


En la imagen anterior se puede comprobar el resultado de aplicarlo una vez, en la columna B contra aplicarlo dos veces en la.columna D.

Como veis en la columna B todavía se puede entender el texto, mié tras que en la columna D el texto es totalmente ininteligible.

La ventaja de este método es que os permitirá pixelar una imagen o una captura de pantalla en segundos y sin tener que instalar software adicional.

jueves, 29 de abril de 2021

Colores de celdas varían con el tema.

 Alguna vez no habéis entendido por qué no se guarda el color que habéis seleccionando para la celda.

Suele deberse al tema aplicado al documento de Microsoft Excel.

Es importante entender que realmente no estamos asignando un color a una celda, si no seleccionando un valor entre varios que se nos muestran de una paleta de colores.

Esta gama de colores es el tema.

La gran ventaja de los temas es que nos permite aplicar un diseño homogéneo a todo el documento de una forma muy cómoda.

Si cambiamos el tema, automáticamente se sustituyen los colores de un tema por los del otro.

Os muestro la paleta para tres temas distintos.

Como podéis apreciar, solo las columnas de la izquierda, que se corresponden a la gama de grises, y los de la fila inferior, que son los colores estándar, permanecen inalterados.

Por lo tanto si no queremos que se modifiquen los colores debemos elegir preferentemente estos colores estándar o la fama de grises.

En la animación os muestro cómo cambian los colores al cambiar el tema.

Espero que esta explicación os ayude a entender porque cambian los colores de vuestro documento.

Esto es aplicable a todos los documentos de Microsoft Office.

miércoles, 28 de abril de 2021

Localizar fórmulas en Excel CTRL +circunflejo

 Una firma de poder ver todas las fórmulas es usando la combinación de teclas CTRL + ^

Esta combinación, permite conmutar entre visualizar los resultados de las fórmulas o ver las fórmulas que hemos escrito.

Es la forma más sencilla de enseñar a alguien que fórmulas hemos usado.


Nos permite localizar fácilmente una fórmula entre celdas con datos.

También resulta muy útil para localizar una fórmula mal escrita.