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 días, tengo una macro que me donde necesito pasar datos de la hoja listado a la hoja A.Listado y no me esta funcionando y todo el código fuente esta en el modulo Transferir, no se que mal estoy haciendo cuando pulso el botón archivar de la hoja listado me sale los mensajes correspondiente como si transferiría los datos. Adjunto el archivo muchas gracias por su ayuda. PROPUESTA FORMT2020.xlsm

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 974 visitas
  2. Started by Pirtrafilla,

    Hola a todos. Os pido ayuda con este proyecto que estoy haciendo. Tal y como lo tengo ya me funciona, pero veo que tarda en recorrer demasiado las filas, creo que porque estoy usando FOR NEXT. No se si hay manera de hacerlo correr más rápido, con WHILE por ejemplo o de otra manera. Os envío el proyecto y os agradezco si me podéis ayudar porque no veo capaz. El problema viene en la hoja Plantilla_Parte_KM, cuando uso los botones para recorrer las matrículas, la busca en una hoja con este bucle. Si la encuentra pronto no hay problema, pero si no la encuentra o está lejos en el contador del bucle se hace lento. Como siempre gracias de antemano. Moisés. …

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 2.2k visitas
    • 2 seguidores
  3. Started by joseppp,

    Buenas tardes, necesito vuestra ayuda. Tengo una columna donde hay valores numericos y ceros (de o3 a o100). Necesito que empezando de la celda o3, se copie ese valor a la celda A1, despues la o4 se copie a la A1 de nuevo,asi sucesivamente hasta la o100.Lo unico que debe saltarse los ceros. He intentado con la grabadora de macros, pero se hace muy largo.Supongo que sera con un bucle, pero no se hacerlo. Adjunto el codigo de ejemplo. Gracias Range("A1").Select Application.CutCopyMode = False ActiveCell.FormulaR1C1 = "=R[2]C[14]" 'copio valor o3 Range("A1").Select Application.CutCopyMode = False ActiveCell.FormulaR1C1 = "=R…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.3k visitas
    • 2 seguidores
  4. Started by Manuel TR,

    Hola a todos, por favor si alguien me puede ayudar con esta macro para que los datos que copia se peguen como valores,ya que actualmente copia con todo y formula el contenido de la celda F7. Sub completa() 'Rellena la columna F hasta la ultima fila con datos de la columna E 'Se detecta la última fila con uf = Range("E10").End(xlDown).Row 'desde donde inicia 'Se detecta el rango a rellenar rango = Range(Cells(10, 6), Cells(uf, 6)).Address 'Luego se Rellena el rango con el contenido de la celda F7 Range("F7").Copy Range(rango) 'es desde donde se autocompletara End Sub Grac…

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 1.5k visitas
    • 1 seguidor
  5. Buenos días, En la empresa recibo un archivo Excel con muchísimos datos con los "saltos de hoja", no sé como explicarlo, de forma vertical. Quisiera ponerlos de forma horizontal. Las hojas, constan de la columna A a la L y 39 filas, y me gustaría que cortara datos, colores, etc desde la fila 40 a la 49 y lo pegara en horizontal y así sucesivamente. He estado mirando y no hay manera, todo lo que encuentro hace referencia a ordenar los datos pero yo no quiero que los datos se ordenen y cambien, solo busco un corta y pega. He buscado si existe alguna opción en Excel y no la sé encontrar y he supuesto que se tendrá que tirar de vba. Si existe llamadme **maravilloso…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 688 visitas
  6. Started by joseppp,

    Buenas tardes, agradeceria vuestra ayuda. Utilizo hasta ahora una macro que envia un rango de excel en pdf por outlook, la cual, enviaba el mismo pdf a todos los emails de una columna. Ahora lo que necesito es mandar el pdf pero a cada email, modificando cada vez la celda A1 por cada Id de la columna, para que asi se genere un pdf para cada id. La idea es que antes se mandaba un cuadrante a todo el mundo (1 pdf a todos los emails), y ahora quiero enviar el que corresponde a cada uno.(1 pdf a cada email) Imagino que se hara por un bucle, pero no se como insertarlo en la macro. Muchas gracias Calendario1.xlsm

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 769 visitas
    • 1 seguidor
  7. Buenas tardes o días a todos; -Hoy traigo un nuevo reto que me gustaría que me ayudasen a resolver si es posible. Se trata de los siguiente: -Tengo un programa de trabajo del cual copio de una tabla de consulta unos valores y después los pego en otra. Hasta ahí todo bien, siempre y cuando en la tabla de origen todas la columnas tengan datos. El problema viene cuando hay una columna que tiene datos en unas filas y en otras no, entonces al hacer el pegado me aumenta una columna. Dejo un video para mejor comprensión del tema. Video: Copiar y pegar datos de origen Buen finde a todos CExcel.xlsm

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 1.3k visitas
    • 2 seguidores
  8. Invitado CSI1981
    Started by Invitado CSI1981 ,

    Buenas tardes, tengo una planilla en donde voy trayendo datos de otras planillas (copio y pego) una vez que ya tengo toda la información, necesito que mediante una macro/formula se eliminen todas las filas en donde el primer dato (ubicado en la columna A) tiene el siguiente texto: QHP Standard 1,QHP Standard 2, QHP Standard 3, QHP Standard 4 y QHP Standard 5. He aplicado la siguiente Macro, pero no se como unificar que evalúe las 5 variables, por lo que he tenido que hacer 5 macros, y después hacer una para unirlas a todas. Quisiera saber si existe la posibilidad de hacer solo una y que tome las 5 variables de texto posible Sub Eliminar_Filas_1() She…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.3k visitas
  9. Hola Amigos de AE. Estoy usando APPLICATION.QUIT para cerrar un archivo pero se cierran todos los archivos excel que estén abiertos. Cual comando puedo sustituir la acción y que no cierre los demás archivos abiertos. Gracias

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.2k visitas
  10. Started by alvaroballes,

    Buenas tardes. Estoy trabajando con una base de datos muy grande en la cual tengo numerosos casos en los que el nombre de filas contiguas sólo se diferencia por la existencia de un número cardinal o romano. Mi trabajo consiste en agrupar las mencionadas filas y sumar el contenido de una de sus columnas. Os adjunto un ejemplo en el que creo que se explica con claridad. Muchas gracias de antemano y perdón por mi ignorancia en este tipo de temas. Ejemplo.xlsx

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 1.7k visitas
  11. Started by Ferjam,

    Buenas, es una cosa fácil pero se me esta resistiendo, con Application.hWnd saco la de la ventana activa, el excel, y con FindWindow("notepad", vbNullString), la de notepad, pero cuando intento otras que tengo activas como por ejemplo el word no me da nada... alguien me puede indicar como indicar en el findwindow / ex el titulo de la ventana, gracias

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 4.1k visitas
  12. Started by Pirtrafilla,

    Hola a todos. Quería vuestra opinión. Tengo un programa que envío las nóminas por correo y en una hoja tengo una tabla con los empleados. La empresa ha decidido cambiar todos los ID de los empleados poniendo un carácter más delante. Es decir, si alguien era el 76254 ahora es 076254. Yo en mis PDFs lo tenía como (76254)_Nómina_2020_10. Ahora que tengo más de 1.000 fichero guardados he de volver renombrarlos con (076254)_Nómina_2020_10. Y lo que quería preguntaros es si me aconsejáis que haga una macro para cambiar el nombre de cada fichero (cosa que no veo por donde empezar) o que me busque en la Red algún programa que haga esto específicamente. Gracias. …

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.5k visitas
  13. Hola, buenos días a todos; -Soy nuevo en este foro, disculpen si me equivoco en algo. -He subido una macro la cual tiene un formulario con una serie de botones de opción. A mi la que mas me interesa es la que pone "sizable". Si activo esta opción y tiro de un lateral de la ventana pues el formulario anchea o encoge según mueva el ratón. Esta opción me gustaría implementarla al segundo formulario que pone "frm_Ajustable". Este formulario está vacio no tiene ninguna macro para no entorpecer el trabajo. Si tienen alguna duda no duden en comunicarmelo. Lo dicho buenos días y semana a todos. Redimensionar.xls

    • 0

      Reacciones de usuarios

    • 16 respuestas
    • 4.1k visitas
    • 1 seguidor
  14. Estimados amigos, por favor me ayudan con esta consulta: para hacer informes de avance de obra, quisiera usar una fórmula que permita que al hacer una nueva hoja ( worksheet ), traiga datos de la hoja anterior. Me gustaría hacerlo sin macro, si es posible. Por favor me pueden aclarar si existe una fórmula para ese propósito? Mil gracias.

    • 0

      Reacciones de usuarios

    • 11 respuestas
    • 2.2k visitas
    • 1 seguidor
  15. Started by joselica,

    Hola, Ademas de conseguir parcialmente algo, he liado las macros. He probado varias veces de remediarlo pero como no entiendo lo que tengo que hacer, no consigo remediarla para hacerla funcionar. He añadido una macro de parpadeo, en el documento que adjunto con la intención de que se ejecute en cuando introduzco una fecha en la celda "B14" y hacer parpadear la celda "C15" de la hoja "INSERT" si el numero que devuelve es igual o superior a 46, De echo quiero aplicar la macro para las celdas "C15; C16 y C17" y si en la celda "B14" no hay fecha, deberia de poner el texto "Pon la fecha" que antes de introducir esta macro si que lo enseñava. Pues lo he des…

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 1.3k visitas
    • 1 seguidor
  16. Started by Pirtrafilla,

    Hola a todos. Quería saber si hay manera de imprimir un PDF con una macro Excel. De momento y buscando he encontrado la manera de ver el pdf en un webbrowser y tambien verlo con FollowHyperlink. La ruta del archivo la tengo en un textbox de un formulario y me gustaría que la macro buscara el archivo y lo imprimiera., pero no consigo hacerlo. ¿Es posible? Gracias.

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 10.6k visitas
  17. Started by Pirtrafilla,

    Buenos días. He hecho una utilidad para buscar archivos filtrando por tipo de documentos y verlos en un formulario. Parte del código lo he adaptado de otras aportaciones. En el código he dejado referencia de una de ellas. Mi problema es que puedo ver los archivos de una carpeta, buscando que los nombres de los archivos coincidan con la palabra a buscar del textbox. por ejemplo si pongo ANTONIO ALV encontraría "Contrato ANTONIO ALVAREZ..." Lo que ahora busco es ayuda para buscar estos archivos dentro de las subcarpetas de la carpeta seleccionada, no solo en la carpeta. ¿M podéis ayudar? Os lo agradezco. Envío la aplicación de ejemplo. Hay dos formu…

    • 0

      Reacciones de usuarios

    • 11 respuestas
    • 5.3k visitas
  18. Buenos días Trato de conseguir que en un excel con hipervinculos, automáticamente me diga, el autor, fecha de creación y de modificación del archivo que hay en el hipervinculo. Adjunto ejemplo, que trato de explicar: En la columna G, hay un hipervinculo que nos abriría el excel vinculado, en las columnas H,I y J las propiedades, con el fin de que en una lista que tenga super larga, pueda filtrarlas...entiendo que con formulas es imposible. Saludos y gracias de antemano. Ejemplo_hipervinculos.xlsm

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 487 visitas
  19. Buenos dias, agradeceria vuestra ayuda.Tengo un cuadrante general mensual, donde aparecen todas las personas con sus turnos, el cual se envia en pdf por la macro anexa a todos los correos que figuran en la columna B.Lo que necesito es en lugar de enviar el cuadrante a todo el mundo,(1 correo a 10 personas) como hasta ahora, enviar el cuadrante de cada persona solo con sus turnos, sin datos de los demas.(1 correo por persona con solo sus datos)He probado con formulas, pero me fallan con algunos numeros, supongo que por el tema de buscarv.Anexo la plantilla que estoy intentando hacer.Gracias Prueba1.xlsm

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.1k visitas
    • 1 seguidor
  20. Buenas expertos, nuevamente necesito una ayuda tengo un libro dentro de ello tengo 3 hojas cada uno con sus datos y en la macro tengo un formulario con la que registro los datos pero al momento de pulsar el botón registrar me me sale un error y se cierra el libro y no me deja ver donde esta el error. Por favor si me pueden ver a donde esta el error. Adjunto el libro. Muchas gracias. Médicos.xlsm

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 693 visitas
    • 1 seguidor
  21. Started by helenaberdasco,

    Buenos días, Tengo una hoja excel con varios combobox y de un dia para otro han empezado a cambiar de tamaño al hacer consultas... pongo una imagen por si sirve. La parte que pone nombre va reduciendo el tamaño al ir introduciendo datos y el que poner elegir aumentandolo...

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 933 visitas
  22. Hola a todos; Me gustaría añadir al formulario que he adjuntado la función minimizar. Este formulario tiene una macro que redimensiona el formulario, hago este comentario por si hay incompatibilidad. Saludos a todos y buen día o tarde. Minimizar.xlsm

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 3.3k visitas
    • 1 seguidor
  23. Buenas tardes. Tengo una macro que crea hojas copiando una ya existente, y yo quiero que cuando se creen estas nuevas hojas le salga un cuadro o algo al usuario para que escriba el nombre que quiere. Ejemplo: Tengo: HojaBase, HojaGeneradora En la HojaBase está la macro que crea nuevas hojas copiando HojaGeneradora y los nombres de estas nuevas hojas por defecto son asi: HojaGeneradora (2), HojaGeneradora (3), etc. Entonces yo quiero que cuando se cliquee en la macro para crear una nueva hoja, en lugar de que excel la renombre como HojaGeneradora (número), se le pida al usuario el nombre que quiera que tenga. ¿Es eso posible? Graci…

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 2.6k visitas
    • 1 seguidor
  24. Started by Moratti,

    Tengo un comboBox con 2 Columnas y al pasar los datos a un ListBox, solo me pasa el dato de una de las columnas. Asignar una prenda y la cantidad de prendas. en el Formulario tengo lo siguiente Private Sub UserForm_Initialize() Dim L as Long With Hoja7 Me.ComboProd = Clear ' ComboProd es el nombre del Combo Do while . Cells(L,1) <>"" ComboProd.AddItem ComboProd.List(ComboProd.ListCount -1, 0) =.Cells(L, 1) ComboProd.List(ComboProd.ListCount -1, 1)=.Cells(L, 1) L = L + 1 Loop End With End Sub Se añaden los datos al ListBox a trav…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 973 visitas
  25. Hola, no se si es posible, pero llevo unos días pensando en esto y no doy con la tecla. El tema sería que al pulsar una de las pestañas de la cinta de opciones en este caso Frutería que me ocultara la Hoja2 y cuando pulse en Frutería1 me oculte Hoja1 y haga visible Hoja2. Lo de ocultar y hacer visible no es el problema, el problema es como hago referencia a si están o no activas las pestañas cuando pulso sobre una de ellas. pRUEBA1.xlsm

    • 0

      Reacciones de usuarios

    • 11 respuestas
    • 2.8k 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.