Saltar al contenido

Macros y programación VBA

Temas sobre la automatización de Excel utilizando macros y VBA. Errores de VBA. ¿No consigues que tus macros hagan lo que necesitas?

  1. Started by jeaa,

    Buenos dias, expertos por favor me ayudan tengo un formulario con tres combobox que me filtra de la hoja filtros normal filtra con 10 columnas cuando lo aumento las 19 columnos me sale error a partir de la columna 10, ademas de ellos los combobox deben filtrar algo relacionado que significa esto si en el primer combo filtre entonces en base ese filtrado deben de filtrar elsegundo combo y asi para el ultimo combo; por favor me puede ayudar el solucionar dicho problema. Ajunto el archivo matrixx.xlsm

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 479 visitas
  2. Started by pinoji,

    Buenos días colegas. Espero se encuentren bien de salud. Buenos días colegas Haplox, nuevamente molestándolo, aunque cualquier miembro de este Foro puede ayudar. Sigo teniendo problemas con la inserción de consecutivos. Usted en anterior consulta me dio una respuesta muy acertada, la cual yo analicé y me di cuenta de los errores que usted detectó, pero ahora, cuando voy a escribir el código para el consecutivo de Cliente (FrmCliente) me imprime el primer registro, pero en el segundo ya no lo señala en el LblCodigo y por consiguiente no lo imprime en la Hoja. He buscado en el código de arriba hacia abajo y no me doy cuenta donde puede estar el error. Otra…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 597 visitas
    • 2 seguidores
  3. Hola etimados miembros del foro , tengo el siguiente problema , parece **maravilloso** pero no logro darme cuenta del error, cuando quiero registra un nuevo cliente a traves del fomulario este lo hace pero fila por medio , no lo hace como deberia uno debajo del ultimo el cod es : Option Explicit Dim CelEncontrada As Range Dim CodigoAux As Variant Private Sub Bot_Limpiar_Click() Call ModClientes.LimpiarFormulario End Sub Private Sub Bot_Registrar_Click() With frmClientes If .TxtIdCliente.Value = "" Then MsgBox "Digite el n° de documento del cliente" .TxtIdCliente.SetFocus Exit Sub End If If .TxtNombr…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 492 visitas
    • 1 seguidor
  4. Estimados, buen día. Trabajo con libros muy pesados (con muchos registros, muchas formulas tipo "sumar.si.conjunto", tablas dinámicas, gráficos y con formatos condicionales en tablas, etc.) y el simple guardado preventivo normal demora bastante tiempo, cerca del minuto y junto con el auto guardado son muy molestos. Y eso que el libro está en modo de cálculo manual y la pc lleva unos 16G y y un Ryzen 5. Se podrá con un código VBA sencillo guardar, pero sin que el libro se calcule previo al guardado? Muchas gracias!!

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.6k visitas
  5. Cordial saludo, acudo hoy a este foro para dar solución a un dilema: Tengo en un userform VBA un texbox que se llena con las selecciones de un listbox que dependen a su vez de un filtro con combobox; el dilema es que al realizar cambio en el combobox, el listbox se limpia pero antes, almacena la selección en un textbox. Ahora bien, ¿Cómo puedo hacer para que al realizar nuevas selecciones, estas se "sumen" a las anteriores en el textbox, y no que los actuales registros reemplacen a los anteriores. Espero haber sido suficioentemente clara, agradezco toda la asesoria posible, ya que este proyecto se me ha estado retrasando por el inconveniente expuesto anteriormente. …

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 756 visitas
  6. Buenas a todos, luego de haber googleado mucho me he rendido y vengo a molestarlos pidiendo ayuda de sus conocimientos. Viendo videos y adaptando lo visto a mi trabajo he logrado crear el formulario tal como lo deseo, pero en los videos que he visto se les ha pasado programar que los botones de siguiente y anterior funcionen luego de usar el boton buscar. Me explico, si se esta en el primer registro y le da al boton siguiente no hay problema, o en el ultimo yluego darle hacia atrás, el problema esta cuando uno busca una referencia y luego quiere usar estos botones, ahí no funcionan y el de siguiente tira el 2do registro y el anterior igual, no continuan de la f…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 886 visitas
  7. Invitado CSI1981
    Started by Invitado CSI1981 ,

    Buenas tardes, espero poder contar con su ayuda. Estoy trabajando con dos libros, mi objetivo es pasar un rango de datos a otro libro sin abrirlo. Estoy usando esta MACRO, que me ha generado cierto error, y quisiera saber si ustedes me pueden ayudar a resolver. Sub CopiarCeldas() 'Se definen objetos a utilizar Dim wbDestino As Workbook, _ wsOrigen As Excel.Worksheet, _ wsDestino As Excel.Worksheet, _ rngOrigen As Excel.Range, _ rngDestino As Excel.Range 'Libro Excel destino Set wbDestino = Workbooks.Open("ruta del libro destino") 'Activarlo ThisWorkbook.Activate 'Se indican las hojas de origen y destino Set wsOrigen = Workshee…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 933 visitas
  8. Started by pinoji,

    Buenas noches, Colegas. Espero se encuentren bien de salud. Antes que todo disculparme por estar ausente todo este tiempo, pero a mi amigo, el cual uso su ordenador, se volvió a romper y todo parece indicar que es un problema con la Board y eso por acá está a un precio de alrededor de $ 50 000.00 pesos cubanos, o sea, inalcanzable y un vecino que comenzó un negocio me pidió que le ayudara con algo para llevar sus inventarios y cuentas y me prestó su LapTop (muy vieja, lenta y con teclas que no funcionan) y en eso estoy. También los apagones por acá son de más de 12 horas al día todos los días y se hace muy difícil de trabajar, entre otras cosas. Voy al tema; en …

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 982 visitas
    • 1 seguidor
  9. Started by Benito Bartolomé,

    Hola a todos, he estado últimamente trabajando en un nuevo complemento. Es una idea que se me ocurrió viendo videos de este tipo. Aunque tiene un porcentaje mío también cabe destacar que algunas cosas las he adaptado de ideas de otros programadores. -Este complemento es para enviar mails desde excel sin necesidad de abrir el outlook y además se puede configurar los smtp, puerto y ssl. Os dejo enlace al vídeo que he grabado y también os adjunto el archivo. Video mail configurable Seguramente tiene errores los cuales me podéis indicar. No ser muy crueles aun tengo la "L" de novato. Si está muy mal que Sergio quiete el post.…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 644 visitas
  10. Started by riverts,

    Hola a todos; quiero saber si me pueden ayudar con un formulado me perdi un poco con esto: DIA: generar un numero aleatoreo tomando en cuenta la distribucion de los dias por mes y años bisiesto Dia:=ALEATORIO.ENTRE(1;31) Mes:=ALEATORIO.ENTRE(1;12) Año:=SI(D11=$B$5;ALEATORIO.ENTRE(2004;2022);SI(D11=$B$6;ALEATORIO.ENTRE(2004;2022);ALEATORIO.ENTRE(1980;2022))) IMAGEN DEL LIBRO Me puede poner en el camino correcto Gracias de Antemano. Saludos..

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.3k visitas
    • 1 seguidor
  11. Invitado CSI1981
    Started by Invitado CSI1981 ,

    Buenos días Tengo esta macro que cumple con el resultado que estoy buscando, pero necesito hacerle una modificación y no se cómo Sub UltimaFila_3() On Error Resume Next MsgBox ActiveSheet.Columns("A").Find("*", _ searchorder:=xlByRows, searchdirection:=xlPrevious).Row End Sub Lo que busco es que el valor obtenido no sea en un botón sino que el resultado obtenido pueda verse en una celda específica Desde ya muchas gracias al que pueda ayudarme Slds

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.5k visitas
  12. Hola a toda la comunidad, gusto en saludarles. Estoy tratando de generar un archivo Word desde una pestaña (3 - crear word) que contiene los datos en Excel, para ello tengo las siguientes pestañas 1.- "Dimensiones": aquí son están los maestros de cada una de las dimensiones. 2.- " 1 - Base de datos": Aquí tiene 3 partes: 2.1 grilla de los datos: esta esta toda la información de los pacientes de acuerdo a la combinaciones posibles de las dimensiones (se ingresa manual y asi esta bien)... obs: si existen un datos en la columna B, en la columna A debe ir un botón "agregar" cuya funcion es copiar los datos de esa fila a la hoja "2 - resumen"…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.4k visitas
    • 1 seguidor
  13. Started by gabbs0310,

    Hola Ojala alguien ojala pueda ayudarme y de antemano agradezco la ayuda para detectar donde esta el error en mi Macro estoy creando una base de datos y en un Form trae la información a un ListBox , hasta acá todo bien pero quiero que al dar Clic en alguna linea de la información del listbox me traiga un valor a aun texbox y esto es lo que no logro estoy usando WorksheetFunction.VLookup pero por más que veo no hace nada al hacer clic en el listBox Private Sub ListBox1_Click() On Error GoTo ErrorHandler cuenta = FormNuevoProducto.ListBox1.ListCount For i = 0 To cuenta - 1 If FormNuevoProducto.ListBox1.Selected…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 601 visitas
    • 1 seguidor
  14. Invitado CSI1981
    Started by Invitado CSI1981 ,

    Buenas tardes Agradeceré nuevamente de su ayuda Tengo un rango de valores que van cambiando, ya que están vinculado a una serie de operaciones. He confeccionado una fila auxiliar para que los errores de la fila anterior se conviertan en FALSO Lo que estoy buscando es: 1- una macro para borrar los datos de las celdas que dan error o 2-una macro para forrar los datos de la fila auxiliar con el texto FALSO Desde ya muchas gracias todos

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 2k visitas
    • 1 seguidor
  15. Buenas noches. Existe alguna forma o Macro que permita guardar un libro individual por cada hoja que contenga un libro general y que a su vez el nombre sea el mismo nombre de la hoja??? Ejemplo: Tenemos un libro general con 3 hojas las cuales se llaman: Hoja 1, Hoja 2 , Hoja 3..... Se requiere que ese libro general pueda convertirse en 3 libros distintos que se llamen: Hoja 1, Hoja 2, Hoja 3 ( Tal como se llaman las hojas del libro general). Muchisimas gracias por su ayuda. Saludos.

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 592 visitas
    • 1 seguidor
  16. Buenos días. Tengo una base de datos con personas vigentes y aquellas que ya no están. dentro de los datos que manejo, está el campo correo electronico que, en algunos casos está vacío. Así las cosas, tengo una hoja donde filtro (usando la función FILTRAR) todas las personas vigentes. Lo que quiero hacer es, por medio de botones, los usuarios puedan seleccionar si desean sólo los vigentes, o los vigentes con correo electrónico. Para el primer caso, lo que tengo es: Para el segundo caso, lo que tengo es: Al ejecutar la macro, en la casilla B3 me coloca un "@" (arroba) después del igual, de manera que queda de la siguiente manera: P…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.6k visitas
    • 1 seguidor
  17. Started by dc8,

    Buenos días Foro, Necesito vuestra ayuda y conocimiento para un error con VBA. Hace un mes que lleva dándome problema una línea de código (no había pasado en más de un año) y tras mirar en mil páginas no encuentro solución, por si pudierais echarme una mano. Os adjunto la línea de código: El error se encuentra en el "end if" del final. No sabéis lo importante que me es solucionarlo y no encuentro la solución... Mil gracias Sub ImportarModelos() Dim strSource As String Dim dbs As DAO.Database Dim rst As DAO.Recordset Dim consulta As String Dim archivoAbrir As Excel.Workbook Dim RUTAExcel As String Dim strRespu…

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 814 visitas
    • 1 seguidor
  18. Hola a todos; Con el procedimiento que adjunto guardo el libro en una ruta temporal con la hoja activa, después copio esa ruta en un textbox que tengo en un formulario e envío el mail. Hasta aquí todo bien. La consulta es si es factible que se guarde todo el libro con " todas las hojas que tenga". Saludos y muchas gracias como siempre por su colaboración. Sub adjuntarLibro() Dim RutaTemporal As String, vArchivo As Workbook, vArchivoTemp As String Application.ScreenUpdating = False With ActiveWorkbook .ActiveSheet.Copy End With Set vArchivo = ActiveWorkbook vArchivoTemp = vbNullString RutaTemporal = Environ$("…

    • 0

      Reacciones de usuarios

    • 12 respuestas
    • 1.3k visitas
    • 1 seguidor
  19. Hola. Necesito una macros que de la hoja 1, cambie los nombre de las próximas hojas, según la columna A y que los datos de la fila 1 se copien en la hoja según el nombre de la hoja. Ejemplo: Celda A1 es el nombre de la hoja 2, y los datos de la fila B1:E1 deben ir en esa hoja, pero en la fila A3:D3 Celda A2 es el nombre de la hoja 3, y los datos de la fila B2:E2 deben ir en esa hoja, pero en la fila A3:D3 Envío una muestra, ya que son mas de 2.000 columnas. Gracias desde ya.

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 523 visitas
  20. Started by jeaa,

    Buenas noches, expertos por favor tengo un macro creado para generar codigo QR masivo ejecuta todo bien pero no muestra las imagenes del QR, por favor me puede ayudar por que ocurre eso. Ajunto el archivo QR.xlsm

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 4.9k visitas
    • 1 seguidor
  21. Started by chiquitinx,

    Buenas tardes estimados(as): Tengo una duda, al aplicar código fuente para que de acuerdo a parámetros se pueda realizar una búsqueda dentro de un rango de celdas, en las cuales los encabezados de columnas representan fechas, y las filas códigos de grupos. Se requiere realizar una búsqueda por fecha y código para introducir en la intersección un valor que se tiene en un textbox. el código que se utiliza es el siguiente: Sub busqueda() Dim fecha As Date Dim columnas, filas As Range Dim a, b As Integer fecha = dia & "/" & mes & "/" & año Set columnas = Range("af3:ds3") Set filas = Range("c4:c94") a = filas.Find(codigo, , xlValues, xlW…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 545 visitas
    • 1 seguidor
  22. Bunos dias, expertos necesito de sus valiosos conocimientos para generar una macro que cuando doy clic en una de la columnas B donde esta listado el nombre del pdf me puede abrir dicho archivo, tengo muchas carpetas donde estan almacenados los pdf, logre hacer con la opción hipervinculo, pero el problema como es bastante lo busco filtrando entonces pierde el vinculo y no funciona; es por eso que solicito ayuda si podria ver una macro donde me cumpla toda las funciones anteriormente explicado. Espero haber cido claro, por favor me pueden ayudar. Ajunto un archivo de prueba con dos carpetas donde esta almacenado un archivo pfd en cada una de ellas. Muchas gracia…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 920 visitas
  23. Started by Benito Bartolomé,

    Hola a todos; Imagino que lo que voy a preguntar no se puede hacer pero quiero salir de dudas si sois tan amables. ¿Es posible cargar en un textBox el contenido de mas de un rango de celdas? Creo que únicamente concatenando, no? Adjunto la macro y saludos a todos. MRango.xlsm

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 1.5k visitas
  24. Started by chiquitinx,

    Buenas tardes estimados (as): Tengo una duda, por favor si pueden aclararme lo siguiente. dentro de la sintaxis que se maneja eh visto que en algunos casos se utiliza por ejemplo: Set Dato = .Cells.Find(What:=nombre, lookat:=xlWhole) y en otros casos se utiliza set dato =.cells.find(nombre, xlwhole) ¿Existe alguna razón para ello?, eh notado que en algunas versiones de excel ya sea 32 bits o 64 bits no ejecuta el código, entonces ¿Hay alguna regla para codificar de una u otra manera?, si pueden ayudarme con esta duda. Gracias de antemano

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.1k visitas
    • 1 seguidor
  25. Started by sprit36,

    Buenos días, tengo una formula que quería hacer que fuera una macro ya que tengo muchos registros y al aplicarla quedan 0 o N/A. =SI(B2=Hoja2!A2;Hoja2!B2) Gracias.

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 550 visitas

Información básica de protección de datos

  • Responsable: Sergio Andrés Celemín
  • Finalidad: Moderar y responder comentarios de usuarios. Recuerda que la información que facilites es pública, y los datos que incluyas los leerá cualquier visitante de esta web, así como el avatar que poseas.
  • Legitimación: Consentimiento del interesado.
  • Destinatarios : Hetzner Online GmbH.
  • Duración: Mientras se conserve este post o hilo en la comunidad, o decidas eliminar el comentario.
  • Derechos: Puedes ejercitar en cualquier momento tus derechos de acceso, rectificación, supresión, oposición y demás derechos legalmente establecidos a través del email [email protected]

Información adicional: Encontrarás más información en la política de privacidad.