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.

La principal utilidad es radica en poder automatizar tareas frecuentes o cotidianas.

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

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

6 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

Deja una respuesta

Los campos requeridos estan marcados con *.