S.O.S Godínez (macros en Excel, quitar símbolo porcentaje)

Debido a que he sido docente y alguna vez me han dado la materia de Excel, tengo cierta experiencia con tal paquete de ofimática de Microsoft Office.

Luego no tenemos tiempo para profundizar, pero un tema que  no he explorado es la de las macros que sin duda deben tener mucho potencial debido al uso tan amplio de la herramienta.

Solo alguna vez combinadas con FoxPro y .NET y modificando código fue que he usado y usamos código para manipular hojas de Excel.

El problema que por esta vez San Google no me pudo contestar puntualmente, el problema era que los decimales de una celda formateada como porcentaje no se viera el el símbolo del mismo, es decir en lugar de 13.3% se quería que el dato se mostrará como 13.3. Aquí un ejemplo:

Pudiéramos pensar que solo cambiamos a formato de número con un decimal y listo…

Y pudiéramos pensar que luego multiplicar por 100 y listo, el detalle es que eran más de 100 cuadros,y con posibilidades del error humano.

Después de buscar un ratito en internet, no encontramos nada convincente por lo que creí que la única salida eran las macros. Mi compañero y jefe Ernesto me había comentado que al hacer varias operaciones y abrir el Visual Basic que viene adjunto a Excel se muestran las instrucciones que nos pueden ayudar a crear la macro (por aquello de evitar gastar tiempo en buscar la referencia del lenguaje).

Primero que nada necesitamos que se vea la pestaña Desarrollador en Excel, aquí los pasos:

Nos vamos a Archivo-Opciones y se abre el cuadro de diálogo Opciones  de Excel, usamos la opción Personalizar cinta de opciones y palomeamos la opción Desarrollador. Ahora deberá aparecer la Ficha Desarrollador, que se muestra a continuación.

Vamos a dar clic en Grabar macro, asignamos un nombre Test2 e inmediatamente damos clic nuevamente en Detener macro.

 

Para ir al entorno de Desarrollo de Visual Basic, vamos a abrir la opción Macros y damos clic en el botón Modificar. Por default tenemos 2 carpetas Módulos y Microsoft Excel Objetos, para hacerlo más amigable y basándome en una macro que nos hizo favor de desarrollar mi compañera y amiga la Licenciada Arlet Padilla Soria, a la cual le agradezco el paso de conocimiento de manera indirecta :).

Entonces damos clic derecho en el nuevo proyecto y agregamos un formulario:

La idea es que el usuario nos de el rango que desea aplicar este formato dando la celda inicial y la final, le vamos a poner FrmFormato.

Al agregar el nuevo formulario, se crea una carpeta nueva en el árbol de directorios del proyecto, llamada Formularios, y simplemente agregamos 2 etiquetas, 2 textboxs y un botón. A continuación el código del evento Click del botón ejecutar:

Private Sub Bt_ejecutar_Click()
Dim obj_Cell As Range
Range(txtCeldaInicio.Text & “:” & TxtCeldaFinal).Select
Selection.NumberFormat = “0.0”
For Each obj_Cell In Selection.Cells

With obj_Cell

If IsEmpty(obj_Cell) Then

.Value = .Value * 100

End If

End With

Next
End Sub

Después de pensar en casa, consultar algunos posts en internet y como menciono arriba de aprender de forma indirecta con la macro de REDATAM, esto ya es muy sencillo, se crea un objeto de tipo Range (Rango) en base a los datos (las celdas de inicio y fin) que nos da el usuario, y se selecciona dicho rango, en primera le aplicamos el formato “0.0”, para que luego a cada celda del rango le multipliquemos por 100, y en caso de que en el rango existan celdas vacías no aplique la operación.

En la carpeta llamada Módulos, tenemos el programa principal que por default se llama Módulo 1, donde ponemos este código para que la forma se ejecute:

Sub Test2()

FrmFormato.Show

End Sub

Aunque fue de los primeros lenguajes que aprendí allá en mis años mozos, pues tenía infinidad de años que no programaba en esta evolución llamada Visual Basic, por lo que pues al principio no quería funcionar mi pequeña macro, por lo que usaba la opción Compilar del menú Depurar.

Cuando no tenemos ya errores nos vamos a nuestra hoja de Excel, y ejecutamos la macro.

Como se menciona arriba damos las celdas inicial y final, y clic en el botón ejecutar.

Podemos observar el resultado a continuación:

Una vez concluido ésto, mi buen compañero Mauricio, se le ocurrió , propuso y modificó la macro para que la selección fuera manual y en base a ella se aplicará el formato utilizando combinaciones de teclas para darle agilidad al proceso.

Este post va más bien dirigido a los usuarios de Excel que sigue siendo la herramienta por excelencia para muchas tareas administrativas y consulté a varios compañeros que quizás estaban ocupados o no se le ocurrió en el momento una solución parecida a esta.

Concluyendo, esta “pequeña” solución nos ahorro muchas horas, de lo contrario le hubiéramos dedicado mucho tiempo extra a la tarea.

Hasta el siguiente post.

Atte.

Profesor Miguel Araujo.

 

 

Deja un comentario