Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado

VBA en Excel

¿Qué es VBA ?

Microsoft VBA (Visual Basic for Applications ) es un lenguaje de macros que se emplea para crear aplicaciones que permiten ampliar la funcionalidad de programas de la suite Microsoft Office. Se puede señalar que Visual Basic para Aplicaciones es un subconjunto casi completo de Visual Basic, Microsoft VBA al estar incluido dentro del Microsoft Office, puede emplearse tanto en Word, Excel, Access así como en Powerpoint. 

¿Cuál es la utilidad de Visual Basic para Aplicaciones?

La principal utilidad es radica en poder automatizar tareas frecuentes o cotidianas , algunas otras utilidades son:

- Crear sus propias funciones (funciones definidas por el usuario), que puedan ser invocadas de forma similar a las ya existentes, extendiendo las más de 300 funciones de Excel que vienen por defecto.

- Crear pantallas (por medio de formularios), para la ejecución de procesos o rutinas frecuentes.

- Lograr ahorros de tiempo considerables por medio de la automatización de las tareas frecuentes.

- Automatizar la interacción con otras herramientas de la familia Office (Word, PowerPoint, etc) 

 

Curso de VBA en Excel

Si estas empezando, y deseas conocer todos sobre  VBA , te invitamos a revisar la http://www.excel-avanzado.com/introduccion-a-las-macros

En esa página introductoria podrás aprender a: 

- Aprender VBA desde cero.

- Programar en Excel, utilizar la programación en VBA con facilidad.

- Utilizar Visual Basic en Excel 2019, 2016, y versiones previas.

- Usar el editor de VBA con destreza

- Usar los códigos de VBA, reconocer las instrucciones en VBA Excel

Uno de los aspectos mas importantes para dominar el lenguaje son las funciones que puedes emplear para las diversas macros a elaborarse visita Macros Funciones

Código en VBA en Excel

Si ya conoces algo y deseas revisar los mejores códigos VBA que tenemos por aquí te invitamos a revisar cualquiera de los siguientes artículos.

  1. Sorteo en Excel con Macros
  2. RemoveDuplicates VBA Excel
  3. Uso de fechas en VBA
  4. Doble condicional en VBA
  5. Manipular Formatos en VBA
  6. Proceso Masivo de Datos
  7. Fechas en Formulario con VBA
  8. Simular usuario y Password en VBA
  9. El Modelo de Objetos de Excel
  10. VBA Guardar Como
  11. Quitar duplicados en VBA
  12. Macro para abrir y cerrar archivos en Excel
  13. Generar números primos en Excel
  14. Pantalla completa en Excel (VBA)
  15. Ventajas de usar Macros en Excel
  16. Personajes Principales de SAILOR MOON
  17. Lista Pokemon Excel
  18. Seleccionar rango en VBA
  19. 5 tips de macros recomendables
  20. 5 conceptos básicos de VBA
  21. 5 ejemplos de Macros con FOR
  22. Cinco conceptos para aprender VBA
  23. Mis cinco ejemplos “if…then…else” favoritos
  24. Mis 5 ejemplos favoritos de Macros
  25. 5 trucos de Macros recomendables
  26. 5 ejemplos de gráficos con macros
  27. 5 Funciones en VBA imprescindibles
  28. 5 Mejores ejemplos de tablas dinámicas con macros
  29. 5 ejemplos de uso de Loop
  30. 5 macros para el manejo de hojas en Excel
  31. 5 Ejemplos de macros con Select Case
  32. 5 Ejemplos de Macros con For
  33. Mis 5 ejercicios favoritos de userforms
  34. 5 macros para el manejo de rangos en Excel
  35. 5 Ejercicios de Funciones definidas por el usuario
  36. 5 Trucos de VBA necesarios
  37. 5 ejemplos favoritos de Userforms
  38. 5 ejemplos de macros con With
  39. 5 ejemplos para comenzar a usar Macros
  40. Ejemplos de funciones definidas por el usuario
  41. 5 macros para el manejo de libros en Excel
  42. ¿Qué es el WACC?
  43. Suma de decibeles
  44. Números Primos
  45. Catálogos de imágenes con Macros

9 comentarios

  1. Gracias por la ayuda a distancia porque en las universidades de El Salvador esto no se enseña en curriculum de grado en informatica (5 años)

    Ok

  2. Buenos días.

    Tengo un archivo Excel con una lista de empresas ordenadas por su Número de Registro, Nombre Empresa, Dirección y otros datos.

    En otro archivo Excel, en la HOJA 1 inserté un TextBox en el cual ingreso el número de registro de una empresa.

    Como puedo hacer para que un segundo TextBox me aparezca el nombre de la empresa asociado a ese numero de registro (si es que existe).

    Desde ya muy agradecido por la ayuda que me puedan brindar.

  3. Tengo un Libro Excel, en Hoja "Datos", con todos los datos del personal, en Hoja "Puestos2" los empleados que a su vez, también tienen un SEGUNDO cargo y función, y otra Hoja "Sucursales" todas las sucursales, Al utilizar Macro y crear otro Libro con un Listado, carga los datos que quiero mostrar, y todas las Sucursales, pero no logro hacer mostrar los empleados con SEGUNDO cargo y función de la Hoja"Puestos2"

    Do While Sheets("Sucursales").Cells(filaD, 2) Empty
    'Nombre del Destino
    wbListado.Sheets("Hoja1").Cells(filaN, 1) = Sheets("Sucursales").Cells(filaD, 3)
    filaN = filaN + 1
    VarSuc = Sheets("Sucursales").Cells(filaD, 2)

    Do While Sheets("Datos").Cells(fila, 13) = VarSuc
    If Sheets("Datos").Cells(fila, 13) Empty And Conta = 0 Then
    wbListado.Sheets("Hoja1").Cells(filaN, 1) = Sheets("Datos").Cells(fila, 1)
    wbListado.Sheets("Hoja1").Cells(filaN, 2) = Sheets("Datos").Cells(fila, 2)
    wbListado.Sheets("Hoja1").Cells(filaN, 3) = Sheets("Datos").Cells(fila, 8)
    End If
    Loop
    Do While Sheets("Puestos2").Cells(fila, 15) = VarSuc
    If Sheets("Puestos2").Cells(fila, 15) Empty And Conta = 0 Then
    wbListado.Sheets("Hoja1").Cells(filaN, 1) = Sheets("Puestos2").Cells(fila, 1)
    wbListado.Sheets("Hoja1").Cells(filaN, 2) = Sheets("Puestos2").Cells(fila, 2)
    wbListado.Sheets("Hoja1").Cells(filaN, 3) = Sheets("Puesto2").Cells(fila, 8)
    End If.
    Loop
    Loop

  4. Hola,

    Gracias por las muchas aportaciones, sois un pilar básico en mi progresión en el aprendizaje de creación de macros con las que estoy sacando un partido al excel que ni imaginaba un año atrás.

    Os quería preguntar si hay alguna forma de editar un código vba en excel mediante una macro, es decir si por ejemplo tengo varios archivos excel que todos contienen una misma macro y las quisiera editar todas... ¿hay alguna forma de hacerlo en bloque o de forma automatizada que me evitara entrar de una en una manualmente y hacer un copiar / pegar?.

    Saludos y gracias por anticipado,

  5. Buenos días. Mi inquietud es la siguiente
    Quiero realizar un formulario que tenga los siguientes botones; cerrar, guardar, buscar y editar. Pero cuando le de buscar me traiga los datos de la hoja y los pueda editar y pueda guardar los cambios pero directamente desde el formulario.
    Muchas gracias

  6. Hola , necesito ayuda , tengo una macro en el libro1 , el cual realiza la copia de la hoja1 de otro libro en una carpeta en el escritorio
    todo lo hace ok pero solo con archivos con formato .xlsx , como hago para que lea tambien el formato SCV???

    Este es el codigo:

    Sub Buscar_bases() 'Data Canal
    Application.ScreenUpdating = False
    With Sheets("Data")
    'verificamos si hay datos en la hoja donde se almacenaran los resultados
    datos = Application.CountA(.Range("A2:A9"))
    'insertamos una linea para poder limpiar el rango
    .Range("A1:I1").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    'si hay datos en la hoja donde se almacenaran los resultados los borramos para actualizarla
    With .Range("A2:I5000")
    If datos > 0 Then .ClearContents
    'definimos de que libro extraeremos los datos
    ruta_libro = Cells(15, 4)
    nombre_libro = Cells(1, 23)
    nombre_hoja = "Hoja1"
    'insertamos las formulas
    .Formula = "='" & ruta_libro & "\[" & _
    nombre_libro & "]" & nombre_hoja & "'!a1"
    'dejamos solo los valores
    .Value = .Value
    .HorizontalAlignment = xlCenter
    End With
    'recorremos el rango para eliminar ceros
    For b = 1 To 9
    With .Columns(b)
    .AutoFilter Field:=1, Criteria1:="=0", Operator:=xlOr, Criteria2:="=00"
    .SpecialCells(xlCellTypeVisible).ClearContents
    .AutoFit
    End With
    Next
    'eliminamos la linea que habiamos inssertado
    .Range("A1:I1").Delete Shift:=xlUp
    End With

    Application.ScreenUpdating = True
    End Sub

  7. HOLA, BUENAS TARDES! TENGO UNA DUDA CON RESPECTO A LA FORMULA SUMAR.SI

    En un reporte de caja que llevo por ventas, quiero sumar lo que tengo de venta en dinero del concepto de Diesel, incluyendo si fue en efectivo, transferencia o cheque. use la funcion sumar si, donde pongo en rango, donde estan los conceptos, en criterio pongo el concepto que quiero sumar osea Diesel, y en rango de suma los importes, seleccionado tres columnas. Y el problema aqui es que solo me suma lo de una columna... le estare haciendo mal? no me explico

  8. Unas las primeras cosas a aprender es el manejo de funciones, tanto las correspondientes al propio lenguaje, VBA o macros, como a las funciones definidas por el usuario.

Deja una respuesta

Los campos requeridos estan marcados con *.