La mayoría de los usuarios de Windows conocen la suite Office de Microsoft y sus numerosas aplicaciones potentes, y muchos de ellos utilizan estas aplicaciones en sus tareas diarias. Sin embargo, solo unos pocos de estos usuarios están versados en Excel. Sin embargo, Excel está lleno de características como macros y códigos VBA, que pueden facilitar mucho tus tareas diarias.
Today, we will discuss these advanced features and teach you to streamline your workflow. Nos adentraremos en los códigos VBA y las macros de Excel y te mostraremos cómo usarlos proporcionando ejemplos. También habrá una sección sobre la prevención de la pérdida de datos, ya que los códigos VBA pueden eliminar los datos de Excel si se utilizan incorrectamente.
En este artículo
-
- Insertar múltiples columnas
- Insertar múltiples filas
- Ajustar automáticamente las columnas
- Ajustar automáticamente las filas
- Descombinar celdas
- Resaltar valores mayores que
- Resaltar valores menores que
- Resaltar números negativos
- Resaltar celdas con errores ortográficos
- Mostrar hojas de cálculo ocultas
- Eliminar todo excepto las hojas de cálculo activas
- Eliminar hojas en blanco
- Guardar las hojas de cálculo como PDF
- Cerrar libros de trabajo
- Actualizar tablas dinámicas
- Agregar gráficos como imágenes
- Insertar imágenes
- Eliminar caracteres de cadenas
- Invertir texto
- Reemplazar celdas vacías con ceros
¿Qué es un código VBA?
Antes de examinar ejemplos de código VBA, primero debemos discutir sobre VBA y explicar qué es. VBA, o Visual Basic for Applications, es un lenguaje de programación que las aplicaciones de Microsoft Office, como Excel, utilizan para crear, guardar y desplegar macros, también conocidas como scripts de tareas automatizadas.
Por otro lado, las macros son scripts de programación o un conjunto de comandos que pueden automatizar tu flujo de trabajo en Excel. Estos scripts permiten a los usuarios completar acciones complejas y que consumen mucho tiempo en las hojas de cálculo con un acceso directo pregrabado, lo que les permite ahorrar tiempo al administrar datos, pivotar tablas y organizar hojas de cálculo.
¿Cómo usar códigos de macro en Excel?
Ahora que conocemos los conceptos básicos detrás de las macros de Excel, pasaremos directamente a usar estos códigos y te mostraremos cómo crear uno mediante un ejemplo de macro en Excel. Aquí tienes lo que necesitarás hacer:
- Abre Microsoft Excel y navega a Archivo > Opciones > Personalizar la cinta de opciones.
- Bajo Pestañas principales, marca la casilla junto a Desarrollador para habilitar la función que está oculta por defecto.
- Guarda tus ajustes haciendo clic en Aceptar y luego navega a la pestaña Desarrollador.
- Selecciona la opción Grabar macro.
- Nombre su macro y describa brevemente lo que hace para que pueda identificarla más tarde. También puedes añadir accesos directos para invocar la macro.
- Una vez introducidos los detalles de la macro, puedes hacer clic en Aceptar y realizar las acciones que desees añadir a la macro. La aplicación de Excel registrará y guardará estas acciones dentro de la macro creada.
- Haz clic en Detener grabación una vez que hayas completado tus acciones, y tu macro estará lista.
- Cuando necesites usar estos pasos de nuevo, puedes presionar los botones del teclado e invocar la macro a través del acceso directo que estableciste. Como alternativa, ve a Desarrollador > Macros > Ver macros y haz clic en Ejecutar en la macro que desees.
Tus acciones pregrabadas se ejecutarán a través de la macro, y podrás comprobar los resultados. Recuerda que comprobar es un paso muy importante, especialmente para los principiantes en macros, y te permite asegurarte de que tus nuevas tareas automatizadas funcionen correctamente. Necesitarás editar tus macros si tus acciones no funcionan como deseabas.
20 ejemplos básicos de código VBA de Excel para principiantes
Como se mencionó anteriormente, VBA significa Visual Basic for Applications, un lenguaje que Excel puede entender. Cualquier macro que hagas con los pasos mencionados anteriormente registrará tus acciones en la hoja de cálculo, las convertirá en código VBA legible por Excel y las guardará como algo que Excel puede reconocer y entender.
Con eso dicho, también hemos proporcionado algunos ejemplos básicos de código VBA y macros, así que veamos cómo se ven las macros útiles y para qué puedes usarlas:
- Insertar múltiples columnas
- Insertar múltiples filas
- Ajustar automáticamente las columnas
- Ajustar automáticamente las filas
- Descombinar celdas
- Resaltar valores mayores que
- Resaltar valores menores que
- Resaltar números negativos
- Resaltar celdas con errores ortográficos
- Mostrar hojas de cálculo ocultas
- Eliminar todo excepto las hojas de cálculo activas
- Eliminar hojas en blanco
- Guardar las hojas de cálculo como PDF
- Cerrar libros de trabajo
- Actualizar tablas dinámicas
- Agregar gráficos como imágenes
- Insertar imágenes
- Eliminar caracteres de cadenas
- Invertir texto
- Reemplazar celdas vacías con ceros
Estas macros hacen lo que su nombre sugiere, y puedes copiarlas y probarlas en tus propios archivos XLS. Encontrarás sus códigos VBA a continuación, pero recuerda probarlos en hojas de cálculo poco importantes o crear copias de tus archivos importantes antes.
Insertar Múltiples Columnas
Sub InsertarMultiplesColumnas()
Dim i As Integer
Dim j As Integer
ActiveCell.EntireColumn.Select
On Error GoTo Last
i = InputBox("Ingrese el número de columnas a insertar", "Insertar Columnas")
For j = 1 To i
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromRightOrAbove
Next j
Last: Exit Sub
End Sub
Insertar Múltiples Filas
Sub InsertarMultiplesFilas()
Dim i As Integer
Dim j As Integer
ActiveCell.EntireRow.Select
On Error GoTo Last
i = InputBox("Ingrese el número de filas a insertar", "Insertar Filas")
For j = 1 To i
Selection.Insert Shift:=xlToDown, CopyOrigin:=xlFormatFromRightOrAbove
Next j
Last: Exit Sub
End Sub
Ajustar Ancho de Columnas
Sub AjustarAnchoColumnas()
Cells.Select
Cells.EntireColumn.AutoFit
End Sub
Ajustar Altura de Filas
Sub AjustarAlturaFilas()
Cells.Select
Cells.EntireRow.AutoFit
End Sub
Descombinar Celdas
Sub DescombinarCeldas()
Selection.UnMerge
End Sub
Resaltar Valores Mayores que
Sub ResaltarValoresMayoresQue()
Dim i As Integer
i = InputBox("Ingrese el valor mayor que", "Ingrese el Valor")
Selection.FormatConditions.Delete
Selection.FormatConditions.Add Type:=xlCellValue, _
Operator:=xlGreater, Formula1:=i
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1)
.Font.Color = RGB(0, 0, 0)
.Interior.Color = RGB(31, 218, 154)
End With
End Sub
Resaltar Valores Menores que
Sub ResaltarValoresMenoresQue()
Dim i As Integer
i = InputBox("Ingrese el valor menor que", "Ingrese el Valor")
Selection.FormatConditions.Delete
Selection.FormatConditions.Add _
Type:=xlCellValue, _
Operator:=xlLess, _
Formula1:=i
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1)
.Font.Color = RGB(0, 0, 0)
.Interior.Color = RGB(217, 83, 79)
End With
End Sub
Resaltar Números Negativos
Sub ResaltarNumerosNegativos()
Dim Rng As Range
For Each Rng In Selection
If WorksheetFunction.IsNumber(Rng) Then
If Rng.Value < 0 Then
Rng.Font.Color= -16776961
End If
End If
Next
End Sub
Resaltar Celdas con Errores Ortográficos
Sub ResaltarCeldasConErroresOrtograficos()
Dim rng As Range
For Each rng In ActiveSheet.UsedRange
If Not Application.CheckSpelling(word:=rng.Text) Then
rng.Style = "Bad"
End If
Next rng
End Sub
Mostrar Hojas de Cálculo Ocultas
Sub MostrarTodasLasHojasDeCalculo()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
ws.Visible = xlSheetVisible
Next ws
End Sub
Eliminar Todo Excepto las Hojas de Cálculo Activas
Sub EliminarHojasDeCalculo()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
If ws.name <> ThisWorkbook.ActiveSheet.name Then
Application.DisplayAlerts = False
ws.Delete
Application.DisplayAlerts = True
End If
Next ws
End Sub
Eliminar Hojas de Cálculo en Blanco
Sub EliminarHojasDeCalculoEnBlanco
()
Dim Ws As Worksheet
On Error Resume Next
Application.ScreenUpdating= False
Application.DisplayAlerts= False
For Each Ws In Application.Worksheets
If Application.WorksheetFunction.CountA(Ws.UsedRange) = 0 Then
Ws.Delete
End If
Next
Application.ScreenUpdating= True
Application.DisplayAlerts= True
End Sub
Guardar Hojas de Cálculo como PDF
Sub GuardarHojasDeCalculoComoPDF()
Dim ws As Worksheet
For Each ws In Worksheets
ws.ExportAsFixedFormat _
xlTypePDF, _
"INGRESE-NOMBRE-DE-CARPETA-AQUÍ" &; _
ws.Name & ".pdf"
Next ws
End Sub
Cerrar Libros de Trabajo
Sub CerrarTodosLosLibrosDeTrabajo()
Dim wbs As Workbook
For Each wbs In Workbooks
wbs.Close SaveChanges:=True
Next wbs
End Sub
Actualizar Tablas Dinámicas
Sub actualizar_todas_las_tablas_pivote()
Dim pt As PivotTable
For Each pt In ActiveWorkbook.PivotTables
pt.RefreshTable
Next pt
End Sub
Agregar Gráficos como Imágenes
Sub ConvertirGraficoEnImagen()
ActiveChart.ChartArea.Copy
ActiveSheet.Range("A1").Select
ActiveSheet.Pictures.Paste.Select
End Sub
Insertar Imágenes
Sub InsertarImagenNombrada()
Selection.Copy
ActiveSheet.Pictures.Paste
End Sub
Eliminar Caracteres de Cadenas
Public Function eliminarPrimerC(cad As String, cnt As Long)
eliminarPrimerC = Right(cad, Len(cad) - cnt)
End Function
Invertir Texto
Public Function invertir(ByVal celda As Range) As String
invertir = VBA.strReverse(celda.Value)
End Function
Reemplazar Celdas Vacías con Ceros
Sub reemplazarVacioConCero()
Dim rng As Range
Selection.Value = Selection.Value
For Each rng In Selection
If rng = "" Or rng = " " Then
rng.Value = "0"
Else
End If
Next rng
End Sub
Cómo garantizar la seguridad de los datos al usar códigos VBA [Bonus]?
Como habrás notado, algunos ejemplos de código VBA anteriores incluyen tareas de eliminación de datos, y muchos expertos en Excel utilizan tales macros a diario. Sin embargo, vale la pena señalar que utilizarlos por error puede eliminar tus valiosas hojas de cálculo de Excel, por lo que debes tener cuidado con tales macros.
No hay nada que temer incluso si ya has utilizado códigos VBA de eliminación de datos, ya que hay soluciones que pueden restaurar tus archivos de Excel. Las aplicaciones de recuperación de datos funcionan de maravilla en estas situaciones, y una herramienta como Wondershare Recoverit es un ejemplo perfecto.
Ya sea que estés tratando con hojas de cálculo de Excel perdidas, cambios recientes no guardados, datos eliminados o códigos VBA de eliminación de datos utilizados accidentalmente, esta aplicación puede ayudarte. Su algoritmo de búsqueda y recuperación eficiente y avanzado puede restaurar rápidamente los archivos perdidos, independientemente de las situaciones de pérdida de datos, ya que la aplicación es compatible con más de 500 de ellas. Usarlo es pan comido, y aquí te explico cómo hacerlo:
- Abre Wondershare Recoverit y elige la opción Discos duros y ubicaciones.
- Selecciona la unidad de disco donde guardas los archivos XLS: la aplicación la escaneará inmediatamente en busca de datos perdidos.
- Añade filtros de archivo y palabras clave para buscar archivos de Excel específicos.
- Wondershare Recoverit te permitirá previsualizar archivos de Excel cuando los encuentre. Si estás satisfecho con la vista previa, puedes pausar o detener el escaneo y hacer clic en Recuperar para guardar los datos descubiertos en tu PC.
Con Wondershare Recoverit en tu arsenal, puedes usar y practicar con códigos VBA avanzados de forma segura y llevar tu flujo de trabajo en Excel a otro nivel sin preocuparte por cometer errores. También puede manejar archivos como música, fotos y vídeos, con soporte para más de 1000 tipos de archivos recuperables.
Puedes utilizar la aplicación en discos internos, almacenamiento externo, NAS, USB y otros, ya que Wondershare Recoverit es compatible con más de 2000 dispositivos de almacenamiento. Es perfecto para la pérdida de datos causada por software malintencionado, bloqueos del sistema, transferencias de archivos interrumpidas, discos duros defectuosos, etc., lo que lo convierte en una herramienta ideal para garantizar la seguridad de los datos.
Conclusión
Además de sus capacidades de cálculo, computación y hoja de cálculo, Microsoft Excel tiene varias funciones avanzadas, como las macros, que pueden agilizar tu flujo de trabajo y automatizar tareas tediosas para ahorrarte tiempo precioso. Estas macros transforman tus acciones pregrabadas en código VBA, un lenguaje de programación que Excel puede entender y utilizar.
Desde agregar múltiples filas o columnas hasta ajustar automáticamente las entradas de datos, resaltar valores, errores y caracteres hasta formatear tus hojas de cálculo, los códigos VBA pueden llevar tus habilidades en Excel al siguiente nivel con algo de práctica. Y si las cosas salen mal y cometes un error con los códigos VBA de eliminación de datos, aplicaciones de recuperación como Wondershare Recoverit pueden recuperar fácilmente tus archivos XLS vitales y datos de Excel.
Preguntas frecuentes
-
¿Es difícil el código VBA?
Para un principiante, los códigos VBA pueden parecer aterradores y complejos, y eso es en cierta medida cierto, especialmente para alguien sin conocimientos de programación. Sin embargo, experimentar con macros existentes de foros de Excel puede enseñarte rápidamente los conceptos básicos de la codificación VBA. No necesitarás convertirte en programador para crear código VBA, pero utilizar el poder de estas funciones avanzadas de Excel sin duda requerirá investigación, aprendizaje y práctica. -
¿Cómo encuentro códigos VBA?
Empezar con códigos VBA puede parecer desafiante, especialmente cuando eres nuevo en macros y VBA. Sin embargo, investigando un poco online puedes encontrar innumerables foros e hilos de Excel donde los expertos ya han proporcionado numerosos ejemplos de código VBA funcional y valioso.
Puedes copiar estos códigos VBA exactos y probarlos en tus hojas de cálculo de Excel, o profundizar en el aspecto de programación y aprender qué hace cada línea de código, lo que te permitirá editar estas macros y personalizarlas según tus necesidades en Excel.
-
¿Cómo edito mis códigos VBA o macros?
Editar macros existentes es tan fácil como crear una nueva. Aquí tienes cómo puedes hacerlo:
1. Ve a la pestaña Desarrollador y selecciona Macros.
2. Elige la macro que deseas cambiar y haz clic en Editar.
3. Cambia el código VBA dentro del editor de Visual Basic y guarda tu macro.
Luego puedes probar tus macros nuevamente y perfeccionarlas tantas veces como sea necesario.