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. Buenas tardes colegas. Espero se encuentren bien de salud. Este es un Proyecto "viejo" en el que vengo trabajando y tratando de mejorar siempre que el tiempo y los conocimientos me lo permitan. Trabajo con él a diario y es el instrumento que más utilizo. Acá lo simplifiqué, o sea eliminé un grupo de hojas y formularios que no necesito para exponer mi problema. Necesito cuando yo escoja en Banco a trabajar en el combobox ComBanco, se muestre en el listbox LstDiario el contenido de las operaciones de ese Banco en cuestión. Puede ser mediante el Objeto Tabla o mediante la hoja. O sea, si escojo BANDEC, que se muestre los datos de la Hoja BANDEC y así con las otros …

    • 1

      Reacciones de usuarios

    • 6 respuestas
    • 884 visitas
    • 2 seguidores
  2. Started by MarianoCruz,

    Hola a todos: Tengo un libro "A" que hace referencia a otros libros (B,C,D etc). Al abrir mi archivo "A" con esta macro en Thisworkbook se abren de manera automática todos los archivos indicados en la hoja "Open" Me funciona bien. Pero si quiero hacer alguna revisión o modificación del archivo "A" siempre abre los demás. Hay alguna manera de que pueda tener un cuadro (ventana) que me pregunte si quiero o no abrir los demás archivos. o si debo poner mi macro en un modulo y llamarlo al abrir mi archivo A. Agradeceré alguna opción para esto. Muchas gracias Mariano Archivo A.xlsm

    • 1

      Reacciones de usuarios

    • 2 respuestas
    • 571 visitas
    • 2 seguidores
  3. Hola buenas tardes! Agradezco de antemano su ayuday mi duda es la siguiente: Tengo una base de datos la cual se alimenta mediante una lista desplegable y esa base quiero alimentar otra mas solo con algunos campos el punto es que tengo la siguiente macro para pegar datos: Sub pegadatos() Application.ScreenUpdating = False Worksheets("Hoja2").Range("B7:B100000").Copy Destination:=Worksheets("BASE GENERAL").Range("B5") Worksheets("Hoja2").Range("C2:C100000").Copy Destination:=Worksheets("BASE GENERAL").Range("C5") Worksheets("Hoja2").Range("D2:D100000").Copy Destination:=…

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 911 visitas
    • 3 seguidores
  4. Started by MarianoCruz,

    Hola buenas tardes: Tengo un archivo que me funciona para revisar mis archivos que me llegan constantemente, estos tiene por default un nombre y yo debo revisar cada uno y poner un nombre final. Los archivos los en listo en una hoja de la siguiente manera, a partir de la fila 4: En columna A: La ruta hasta la carpeta donde se encuentra el archivo En columna 😄 Nombre del archivo con extensión En columna N: La ruta completa Manualmente ingreso en la columna G el nombre de mi nuevo archivo (Sin extensión) En la columna J Se encuentra mi nombre nuevo y su extensión. (con formula) Este nuevo nombre lo asigno con una macro que funciona así: N…

    • 3

      Reacciones de usuarios

    • 12 respuestas
    • 1.4k visitas
    • 2 seguidores
  5. Buenas tardes, he copiado la macro de un ejemplo y no me funciona en todas las tablas. Agradecería ayuda ya que soy flojito en macros, Adjunto envío archivo. Gracias. prueba.xlsm

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 1.5k visitas
    • 3 seguidores
  6. Started by Callao2908,

    Buenas tardes, estuve alejado por bastante tiempo del foro por motivos personales y laborales. El archivo que adjunto funcionaba muy bien en mi sistema de 32 b, ahora que necesito usarlo no funciona en 64 bits. Agradeceré se sirvan darle una revisada. Gracias anticipadas Explorador con listview.xlsm

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 635 visitas
    • 3 seguidores
  7. Estimados, muy buenas les solicito ayuda con este problema, el caso es que tengo una tabla en donde cargo con datos y la vez tengo otra hoja en donde a través de formulas llamo estos datos para darle formato de publicidad. Me gustaría hacerlo masivo, o sea cargar mas de 300 filas en la tabla, por ende debo elaborar mas de 1000 llamados en la otra hoja para que se carguen los datos lo cual resulta tedioso no imposible. Existe algún método en macro, en donde uno cargue los datos en la tabla y la vez se genere formato en la otra hoja de a cuerdo a la cantidad de datos que están(en la tabla). Se agradece cualquier ayuda de antemano GENERADOR.xlsm

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 524 visitas
    • 2 seguidores
  8. Started by KANKENSIBOL,

    Muy buenas compañer@s !!! Necesito una ayudita con una macro. Tengo dos hojas principales donde se introducen los datos y siete que son las que los reciben al ejecutar unas macros. Hay varios temas que no consigo solucionar. En las siete hojas que reciben los datos, necesito que la primera fila debajo de los títulos sea fija y no se actualice. Escribo los datos y le doy el formato que quiero, que sería como el de la hoja "CAJA", pero al ejecutar la macro se eliminan. También he observado que en la hoja "FACTURACION" en la columna A, introduzo las fechas, como por ejemplo 01/10/2024 ,y al ejecutar las macros alguna fecha cambia y me aparece1…

    • 1

      Reacciones de usuarios

    • 1 respuesta
    • 473 visitas
    • 2 seguidores
  9. Started by MarianoCruz,

    Hola buenas tardes. tengo un archivo que me ayuda a copiar diferentes archivos que tengo listado en una hoja de excel. todo funciona bien, pero tengo un problema, ya que dentro de mi estructura le indico que despues de hacer el copiado del archivo o archivos debe abrir la carpeta en donde se han copiado los archivos. El problema es que me abre varias veces la carpeta, según sea el número de archivos que he copiado. ejemplo: si copia 6 archivos abre la carpeta 6 veces y así según los números de archivos seleccionados. y solo necesito abrir la carpeta después de hacer el copiado. (solo mostrarlo una vez) Muchas gracias mueve archivos y a…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 536 visitas
    • 2 seguidores
  10. Saludos amigos de AYUDA EXCEL, buenos días. El archivo anexo sirve para calcular costos de productos y servicios, y las macros automatizan el proceso de cálculos y procedimientos, sin embargo, me di cuenta que tiene 2 fallas inesperadas. Les explico el funcionamiento: HOJA COSTOS PRODUCTOS NACIONALES: En ella se registra la información de productos y servicios nacionales, en ella se coloca: A= Producto o Servicio B= NACIONAL C= Unidad de Medida D= Cantidad de Producto E= Monto Total de la Compra F y G= (formula) Costo Unitario por Unidad de Medida La Macro envía la información del producto (columnas A y a la hoja PRE…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 502 visitas
    • 2 seguidores
  11. Buenos dias, Necesitaría una macro que cogiera unos datos específicos del Excel de TS proyecto testing en las hojas de Enero 24, Febrero 24, Marzo 24 y Abril 24. Seria coger de esas hojas en la columna B el dato que hay en negrita el cual en el excel de plantilla seguimiento seria la columna cliente y los datos de abajo serian las personas asociadas a ese cliente en la columna persona del Excel plantilla seguimiento. Asi sucesivamente con los datos de la columna B del excel de TS. Eso es un ejemplo de los datos que recoge de una y los muestra en la otra. Me solicitan que coja el dato de cliente y de persona del Excel TS y lo inserte en el Excel de Plantil…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 315 visitas
    • 1 seguidor
  12. Started by Leonardo Briceño,

    Buenos días amigos de Ayuda Excel, La siguiente macro me da el error 91 en tiempo de ejecución, Variable de objeto o bloque With no establecido. Me resalta en amarillo la fila que está aquí en negrita y letra grande Sub EnviarDatosCostosProductosNacionalesAPreciosProductosYServiciosA() Application.ScreenUpdating = False Dim ult, ult1 As Long Dim rng As Range ult2 = Sheets("COSTOS PRODUCTOS NACIONALES").Range("A" & Rows.Count).End(xlUp).Row ult3 = Sheets("COSTOS PRODUCTOS NACIONALES").Range("B" & Rows.Count).End(xlUp).Row ult = Sheets("PRECIOS PRODUCTOS Y SERVICIOS").Range("A" & Rows.Count).End(xlUp).Row + 1 ult1 = Sheets("…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 655 visitas
    • 1 seguidor
  13. Saludos cordiales amigos de Ayuda Excel Tengo un archivo que en el tiempo se va a hacer grande, Inicialmente la hoja la hice con 20.000 filas, pero prefiero iniciar el archivo con 100 o 200 filas de información y a medida que sea necesario, copiar la fila QUE ESTARÁ OCULTA y pegarla al final del ultimo dato existente, unas 500 veces, y a medida que sea requerido, ir insertando mas filas. Anexo archivo de ejemplo. Gracias PRUEBA INSERTAR 500 FILAS.xlsm

    • 1

      Reacciones de usuarios

    • 5 respuestas
    • 797 visitas
    • 2 seguidores
  14. Buenas tardes El libro que estoy compartiendo ya es producto de alguien que alguna vez me ayudó en el foro. Pero necesito perfeccionarlo un poco más. Hago 3 consultas al respecto. Gracias por el apoyo de siempre Rubén Cargar Facturas 01.xlsm

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 524 visitas
    • 2 seguidores
  15. Started by MarianoCruz,

    Hola buenas tardes: estoy trabajando con la estructura de una macro para registrar numeros de factura. 1. debo revisar que ese numero de factura no exista en mi hoja "Base", esto al dar el enter que me diga que ya existe, y si existe la factura detener el avance, pero si no existe hacer el registro. 2. el registro de factura debe hacerlo siempre y cuando la celda D6 y E6 (fecha de factura) estén llenos, de lo contrario debera preguntar si continuo con el proceso. Muchas gracias Registor 2 condiciones.xlsm

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 593 visitas
    • 2 seguidores
  16. Buenas necesitaria poder fusionar 3 hojas de excel, en las cuales el titulo sea "Seguimiento_" seguido del texto que sea. Intente hacerlo con una macro pero solo consigo que fusione 2 de las 3 hojas. Necesitaría que en la hoja fusionada se ordenasen por la columna cliente y persona de a la a la z. En la hoja de seguimiento anual dejo un ejemplo con una de las personas y la explicación de lo que necesitaría, no se si seria posible probé con varias macros y nada. Muchas gracias un saludo. Organización Formaciones Centro.xlsx

    • 0

      Reacciones de usuarios

    • 18 respuestas
    • 1.2k visitas
    • 2 seguidores
  17. Hola a todos!! Si el tema está ya en el foro pido disculpas de antemano, porque no lo he visto Tengo el siguiente archivo que me ayudó el maestro Antoni a optimizarlo, (los datos son ficticios). En la macro GUARDAR, me gustaría que en vez de insertar los datos en la fila 2, lo hiciera en la última fila con registros. Me explico. Si tengo los últimos datos en la fila 7, por ejemplo, al dar al botón de Guardar de la hoja formulario, me guardara los registros en la fila 8, luego en la 9 y así sucesivamente. He estado intentando hacerlo yo y no soy capaz...asi que seguiré estudiando. Espero podáis ayudarme para poder seguir aprendiendo. Much…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 963 visitas
    • 2 seguidores
  18. Started by Darack,

    Buen día profesionales tengo un problema tengo un Combobox que tiene ya una lista siendo los datos PC, Operativo y Otro, el detalle esta cuando selecciono otro me habilita o muestra un Textbox donde tengo que escribir el dato o especificar la información pero al momento de guardar guarda el dato del Combobox, me gustaría su ayuda de todos ustedes que son profesionales y tienen conocimientos amplios en el tema y que la misma función sirva al querer modificar el dato si existieran algún error. Saludos.

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 804 visitas
    • 3 seguidores
  19. Hola muy buenas, quisiera consultarles si es posible agregar o mostrar y ocultar una imagen (hoja destacado(horizontal) image.png dependiendo si es que existe un valor (columna múltiplo, hoja base(horizontal)) la idea es que la imagen solo se muestre si existe un valor en el campo múltiplo. cualquier sugerencia se agradece de antemano. PUBLICIDAD_CUGAT(horizontal).xlsm

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 486 visitas
    • 2 seguidores
  20. Hello everyone from Maurizio Excuse me in advance if I disturb you for so little But I have a problem that I would like to solve, but I just can't. My problem is this: I would like the days of the week inserted in a Userform to be able to move based on Today's date inserted in a label I thought I could solve everything using the Excel function (=Date(year;month;1)) Then transform it into NumberFormat = "ddd" But I see that this doesn't work Could you kindly give me a hand? Thank you. Greetings from A.Maurizio (P.S) Granfde Real Madrid Spostare_Giorni_Sett_In_Un_Calendario.xlsm

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 757 visitas
    • 1 seguidor
  21. Started by EdwinGC,

    Buen día comunidad Antes que nada este código lo encontré en la página Mehmet Ali Gokmen y me gustaría editar el llenado del framePerson del formulario frmMain. Para este llenado el ejemplo es tomar del mismo libro una hoja llamada BaseVentan que cuenta con 38 columnas, el framePerson me gustaría llenarlos con la columna 2, 3, 8, 10, 11, 13, 27, 28 y 29, me gustaría que se mantenga toda la visualización y ejecución del userform. Dejo el código espero que me puedan ayudar y de ante mano muchas gracias. '********MOUSE MOVE ICON CODES************************************************************************************************************…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 432 visitas
  22. Started by Maku,

    Buenas tardes. He hecho dos macros que imprimen dos pdf de diferentes páginas. Primero hago el pdf: Sub printdep() Dim nombre As String, Ruta As String, nombre2 As String Sheets("Horarios").Select Range("A1:Q42").Select ActiveSheet.PageSetup.PrintArea = "$A$1:$Q$42" Application.PrintCommunication = False With ActiveSheet.PageSetup .PrintTitleRows = "" .PrintTitleColumns = "" End With Application.PrintCommunication = True ActiveSheet.PageSetup.PrintArea = "$A$1:$Q$42" Application.PrintCommunication = False With ActiveSheet.PageSetup .LeftHeader = "" .CenterHeader = "" .RightHeader = "" …

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 529 visitas
    • 1 seguidor
  23. Buenos días compañeros y buen fin de semana para tod@s. Tengo un problemilla con un excel y no sé como solucionarlo. Soy un poco novato en estos menesteres. En la hoja principal llamada PRUEBA, en la columna E figura el nombre del cliente que será AAAA, BBBB, CCCC, DDDD.... Necesito que se traspasen los datos automáticamente según se vayan rellenando de esa hoja llamada PRUEBA a la hoja del cliente correspondiente AAAA, BBBB, CCCC, DDDD..... Me imagino que la forma de hacerlo es mediante visual y es un tema que desconozco. COPIA FORO.xlsx

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 849 visitas
    • 2 seguidores
  24. Saludos cordiales amigos de Ayuda Excel Tengo un problema con 2 macros que no logro el resultado deseado. Les explico: 1. La Hoja Costos Productos Nacionales debe enviar a la hoja Precios Productos y Servicios la información de cada producto ingresado y lo debe hacer al colocar el Precio de Compra. La información que debe enviar es la contenida en las columnas A, B, C y F a las columnas A, B, C y D de la hoja destino y cursor quedarse en la celda D de esta hoja. 2. La Hoja Costos Productos Importados debe enviar a la hoja Precios Productos y Servicios la información de cada producto ingresado y lo debe hacer al colocar SI en la columna V. L…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 549 visitas
    • 1 seguidor
  25. Hola buenas tardes. Trabajo constantemente con varios archivos que deben ser movidos de una carpeta a otra. Estoy tratando de lograr que desde excel con un botón me abra el explorador y estando ahí poder seleccionar los archivos de mi interés y después de seleccionarlo que los copie. 2. ahora abrir el explorador y ubicar la carpeta (destino) en donde quiero colocar los archivos copiados. todo esto desde el explorador. Ya he logrado hacer el proceso de seleccionar los archivos, copiarlos y seleccionar la carpeta donde quiero que las pegue. El problema es que solo me pega un archivo. Me pueden ayudar con la parte de la estructura para que se p…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 728 visitas
    • 1 seguidor

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.