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 Familia Soy medio nuevo con esto de las macros necesito ayuda como puedo buscar y remplazar varios textos por un unico texto pero solo en la columna que quiero trabajar por ejemplo En la columna "S" quiero que me filtre los ADSL, DTH, VOZ PERSONA Y PSTN y luego que los filtre lo renombre por Multiplan Full pero solo en esa columna. Muchas gracias espero su ayuda.

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 552 visitas
  2. Started by josevdelrio,

    Hola a todos, Tengo un problema a la hora de renumerar asientos de contabilidad en excel. Copio listado para que se vea más fácil ademas de explicarlo. Cada asiento tiene un número de documento, y cada asiento tiene varias líneas, que están numeradas a partir del 1. Si elimino algunas de estas líneas, necesito que la numeración se haga de nuevo. Por ejemplo, el asiento 20000 tiene 5 lineas, numeradas del 1 al 5. Si elimino la línea 4, necesito que el resto de lineas se numeren del 1 al 4. Veis posible hacerlo con fórmulas de excel, o sería necesaria una macro? En el ejemplo, si elimino la linea 2 del asiento 21003434, necesitaría que los números de línea se nu…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 579 visitas
  3. Buen día, es mi primera publicación en el foro, espero hacerlo bien. Estoy diseñando un libro para control de pacientes de una clínica y tengo una tabla a la que contínuamente se le ingresan nombres, datos y laboratorios correspondientes; al ingresar un nuevo nombre en la tabla se reordena alfabéticamente según fórmula, pero sus registros (datos) no se desplazan hacia abajo según la ordenación alfabética y según el nombre correspondiente. Quisiera que me asesoraran si es posible a través de una macro VBA lograr esta acción automáticamente dejando en blanco los registros de la nueva persona que ingreso. Espero haber sido lo suficientemente explícito; adjunto documento…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.1k visitas
  4. Started by pitaspallas,

    Buenos días, me preguntaba si existe alguna manera de ordenar las filas de datos según los numeros de la columna C de la hoja 2 (de mayor a menor) . he intentado hacerlo de varias maneras pero no me sale ni a tiros, más o menos he localizado donde lo tengo que hacerlo pero... no hay manera Aquí os dejo el archivo Gracias a todos Cálculo.zip

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 539 visitas
  5. Started by eneada,

    Hola a tod@s, Sigo creciendo en dudas respecto a la creación de macros. En parte por la "culpa" de [uSER=46507]@Macro Antonio[/uSER] que me resuelve todo como si fuera fácil. El objetivo es copiar una hoja "AA_plantilla" un número de veces determinado (hecho) para en un segundo paso poder copiar los nombres de la hoja (AA_nombres) en las casillas A2 de las hojas que se acaban de crear y renombrar estas nuevas hojas con este nombre. Esta macro hace perfectamente el paso número 1: copiar la plantilla "Sub CopiaHoja() On Error Resume Next nombreHoja = InputBox("¿Qué hoja quieres copiar?") For x = 1 To Sheets.Count If ActiveWorkbook.Sheets(x)…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 1.5k visitas
  6. Hola. Dispongo de una plantilla para controlar las facturas trimestrales, en la cual yo introduzco los datos de la factura en un formulario en la hoja Facturas. Una vez introducidos he conseguido que esos datos los coloque a la derecha en un listado general anual. Pero mi problema surge cuando dispongo de una celda desplegable en la cual le indico un mes determinado. Como tendría que hacerlo para que los datos fueran a la lista general y también al mes indicado. Muchas gracias. Atentamente Oscar Adjunto plantilla para comprobar: IVA.rar

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1k visitas
  7. Buen día con todos Necesito macro para asignar Horas (hoja1) a los "Centros" (hoja2) sin excederme en la cantidad, según el siguiente criterio: En la hoja "Distribución", necesitamos distribuir las horas de la hoja1, sin excederme las horas por persona/dia, y centro/dia. Lo que pretendo es que si en la celda B3 de la hoja1 tiene un valor = 0 todo se quede igual que esta, pero si esta celda tiene u valor diferente de "0" que cuando ejecute la macro me copie la cantidad siempre y cuando esta no exceda al valor de la hoja2 (celda B3) y en caso la cantidad de la hoja1 sea mayor solo colocar la cantidad de la hoja2 (celda B3) y dicha diferencia se la pegue proporcionalmente…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 2.6k visitas
  8. Started by jdela,

    Hola, me estoy iniciando en las macros. Tengo Microsoft Office 2007 Mi duda es que quiero generar tablas de multiplicar para que mi hijo las repase. Mi idea es que se genere aleatoriamente, por ejemplo con Rnd(), una multiplicación del 1 al 10, por ejemplo, 7 x 5 =, y aparezca el 7 en una celda (A1), el signo por"x" en la siguiente celda (B1), 5 en la siguiente (C1) y el signo igual "="en D1. En E1, por ejemplo, que introduzca la respuesta mi hijo y si es correcta que aparezca en F1 "Correcto" en color verde y entonces se genere a continuación en la siguiente fila (Fila 2) otra multiplicación, por ejemplo 3 x 8 =. Pero si falla en la respuesta de la multipli…

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 2.8k visitas
  9. Hola, anteriormente me ayudaron con el tema "Copiar datos mediante autofiltros a otra hoja", pero cada vez que ingreso un dato nuevo a mi base de datos se copia toda la base de datos a la hoja2 si son aves, o a la hoja3 si son mamíferos y yo solo quiero que se actualice las hojas dependiendo de si es ave o si es mamífero el dato que ingreso a través del formulario que cree en VBA 6.0 .De antemano gracias y anexo el archivo (lo puse en formato 97-2003, porque no me dejo subir el habilitado para macros y yo trabajo con la versión 2007) EXT.xls

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 640 visitas
  10. Started by Incongruente,

    Tengo esta fórmula matricial en la que la orden se repite ocho veces: =SI.ERROR((COINCIDIR(1;E$1:E$5;0)>0)*(COINCIDIR(3;E$1:E$5;0)>0)*Hoja2!$B$1;0)+SI.ERROR((COINCIDIR(1;E$1:E$5;0)>0)*(COINCIDIR(4;E$1:E$5;0)>0)*Hoja2!$B$2;0)+SI.ERROR((COINCIDIR(1;E$1:E$5;0)>0)*(COINCIDIR(6;E$1:E$5;0)>0)*Hoja2!$B$3;0)+SI.ERROR((COINCIDIR(1;E$1:E$5;0)>0)*(COINCIDIR(9;E$1:E$5;0)>0)*Hoja2!$B$4;0)+SI.ERROR((COINCIDIR(1;E$1:E$5;0)>0)*(COINCIDIR(10;E$1:E$5;0)>0)*Hoja2!$B$5;0)+SI.ERROR((COINCIDIR(1;E$1:E$5;0)>0)*(COINCIDIR(11;E$1:E$5;0)>0)*Hoja2!$B$6;0)+SI.ERROR((COINCIDIR(1;E$1:E$5;0)>0)*(COINCIDIR(12;E$1:E$5;0)>0)*Hoja2!$B$7;0)+SI.ERROR((COINCIDIR(1;E$1…

    • 0

      Reacciones de usuarios

    • 18 respuestas
    • 1.5k visitas
  11. Started by AMR,

    Saludos a todos, Llevo muy poco con esto del vba así que me cuesta y voy muy lento pero gracias a iniciativas como este foro he conseguido introducirme en este mundillo con más o menos éxito. Expongo mi problema: tengo un libro con 2 hojas, "registros" y "corrección". Necesito un macro que al activarlo desde la hoja "corrección", busque el valor de la celda K7 o L7 (si pudiera elegir sería perfecto) sólo en su columna correspondiente para agilizar el proceso. Una vez que encuentre los registros, copie toda la fila en la hoja corrección. Con el código al que he llegado consigo buscar únicamente un registro. Además necesito que la búsqueda respete la posición de la cade…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 668 visitas
  12. Hola!! A ver si alguien me puede ayudar con una macro, necesito transponer los registros que están contenido en una celda que tienen un separador "|". Pongo un ejemplo: Inicialmente tengo esto 2 columnas: refe productos A 1|2|3|4|5 B 6|7 Y quiero que la macro en cuestión me lo haga así: refe productos A 1 A 2 A 3 A 4 A 5 B 6TRANSPONER CADENA TANTAS VECES SE REPITA.xlsx B 7 Muchas gracias de antemano. Un saludo.

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 629 visitas
  13. Started by Francisco Serrano,

    estimados, recurro a su expertiz para solucionar un tema, el cual por mas vuelta que le doy, no lo puedo solucionar. tengo esta base, donde los campos marcados en verde (codigo del cliente) se repitan en la columna "A" al lado de cada linea que tenga informacion. Siempre desde el codigo de cliente hasta la informacion , hay 2 celdas en blanco antes de empezar con la informacion relacionada al cliente. Gracias de antemano por su ayuda. consulta_excel.xlsx

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 345 visitas
    • 3 seguidores
  14. Started by Mohamad Marrawi Marrawi,

    Buenas tardes, Tengo este fragmento de código en el libro, de manera que cada vez que introduzco un valor en una celda de la columna B, me devuelve la fecha en la celda adyacente de la columna C. Me gustaría repetir la misma operación en el mismo libro, de manera que cuando se introduce un valor en las celdas de las columnas E y H, también devuelva las fechas en las celdas adyacentes de las columnas F e I. ¿Alguien sabría indicarme cómo repetir la misma operación? Private Sub Worksheet_Change(ByVal Target As Range) tiempo = Date Set isect = Application.Intersect(Target, Range("B:B")) If Not isect Is Nothing Then If isect.Va…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 654 visitas
    • 1 seguidor
  15. Buenos días, ante todo y como en otras ocasiones gracias de antemano. Con ayuda de este foro he realizado una macro que copia ciertos datos de excel y los pega en un documento word. Estos datos de dividen en varias tablas que en algunos casos ocupan mas de 2 paginas. Lo que necesito es el código para que desde excel recorra todo el documento de word y en todas las tablas que existan repita las 4 primeras filas como encabezado. Llevo dos días buscando una solución pero no hay manera. Muchas gracias.

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 9.2k visitas
  16. Started by vvargas,

    De antemano muchas gracias por la ayuda que me puedan prestar. Tengo una base de datos en una hoja en la que necesito repetir una fila cuando en ella aparezca una fecha determinada en una de las celdas que la componen (a la fila). El problema es que la fecha aparece en varias filas de la base de datos y lo que ocupo es que repita la fila cada vez y no que me copie solo la primera fila siempre. Ya logré hacer una macro para que cuando me aparezca por ejemplo el 10-10-2013 me inserte una fila en blanco pero no logro que me repita la fila cuando encuentre ese valor y la copie en esa linea en blanco (ya que como puse en el ejemplo los montos varian y las cuentas tambien), p…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.6k visitas
  17. Started by dellaviana,

    Hola a todos y todas. Hace ya un tiempo, con vuestra ayuda, logré crear una hoja de excel que utilizamos como herramienta en el trabajo. El caso es que una de las macros que hace la media aritmética de varias calificaciones (puedo introducir números decimales y signos "+" entre ellos) quisiera que se repetiese en todas las celdas donde se pueden introducir notas (donde por el momento, solamente puedo introducir un número y no varios sumandos como en la celda D6), es decir, que lo mismo que puedo hacer en la celda D6, pueda hacerlo en la F6, H6 y J6. También que pueda hacerlo en las sucesivas filas, hasta el registro 34. No sé si me he explicado bien. A…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 772 visitas
  18. Started by danino4,

    Buen dia Tengo la siguiente macro que lo que hace es generar un archivo en txt, subi un ejemplo de como me genera las polizas (poliza 3) Esta macro toma los dados de una sola fina, lo que necesito esque la funcion se repita en varias fila, por ejemplo, si se corre en dos filas me debe de crear el txt con la informacion de las dos filas, subo un ejemplo de como necesito que quede en la poliza 2. Si alguien me pudiera ayudar meseria de mucha utilidad de antemano gracias. Póliza3.txt pólizas2.txt

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.8k visitas
  19. Started by egaleano,

    Buenas tardes Tengo una base de datos de 150 puntos de venta y a cada uno le corresponden 300 referencias. Como hago para que cada punto de venta se repita 300 veces y asi pegar al frente las 300 referencias; al final la hoja debería tener 45000 filas. Gracias para ayuda excel.xlsx

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 962 visitas
    • 1 seguidor
  20. Solicito su ayuda para ver si es posible hacer una macro para que al ingresar en la celda b2 por ejemplo el numero 9, en el rango a:a600 se repita 9 veces el 1, despues 9 veces el 2, 9 veces el 3... es decir de la fila 1 a la 9 que haya 1, de la 10 a la 18 que haya 2 . Desde ya muchas gracias, y si es posible hacerlo mediante una formula tambien me va servir pero yo no pude hacerlo de ninguna de las dos formas

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.8k visitas
  21. Started by pinoji,

    Buenas tardes colegas. Son mis deseos que se encuentren bien de salud. Tengo un problema y me gustaría que me ayudaran dentro de sus posibilidades. Es sobre el Sistema de Ordenes de trabajo que algunos de ustedes me han ayudado a conformar. El Sistema recoge el total de las Ordenes de Trabajo que se ejecutan y se toman una serie de datos. Todo está funcionando bien, pero se me presenta un problema. En una misma Orden pueden haber dos o más Operario y en esos casos habría que hacer tantas veces como operario exista la misma Orden. Voy a explicarme de una mejor manera: Ejemplo: En la orden 75145 se pasan los datos a cada uno de los campos que se solicita, per…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 594 visitas
    • 2 seguidores
  22. Hola, Tengo una consulta, resulta que he logrado crear una lista desplegable dependiente, el problema ahora, es que necesito que esa misma acción se repita las celdas siguientes, la acción fue creada en VBA para la celda K8 relacionada con AJ8,pero lo que ahora necesito es que el evento de K8 suceda también en K9, K10 y demás (hasta K47) y AJ8, AH9 y demás; probé con copiar el código de VBA:... Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address <> "$K$8" Then Exit Sub ActiveSheet.Unprotect Select Case Target.Value Case Is = "Actualización guía comercial" rgo = "_730_53" Case Is = "Elaboración guia comercial" rgo = "_730_53" Case Is = "Pe…

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 2.7k visitas
  23. Started by jfernando79,

    Saludos, Tengo una hoja en excel con datos de una compra a un proveedor, de esta hoja quiero sacar etiquetas para productos, necesito entonces que cada hilera que representa un producto del cual se compraron las piezas que vienen en la columna, se repita las veces que dice el dato de la columna D, anexo archivo. Mil gracias etiqauto.xls

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 5.8k visitas
  24. Started by jreynosa,

    Hola Buen Dia gente , subo el siguiente adjunto para ver si me pueden ayudar. la siguiente macro consiste en un reporte , el cual los datos que escribo en cada celda y le doy al boton "guardar" me los inserte en una tabla en el sql, aqui el detalle que me inserta los datos repetidamente por ejemplo: En excel 1.Cliente, Dimension,Tipo,Mate 2.Juan....,16-53......,F3....,Piedra 3.Pepe....,15-13.....,F2....,Arena Tabla SQL Juan....,16-53......,F3....,Piedra Juan....,16-53......,F3....,Piedra Pepe....,15-13.....,F2....,Arena Pepe....,15-13.....,F2....,Arena quiero que cada dato que escriba en cada celda me lo mande a la tabla y no me los repita como me pasa ahori…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 837 visitas
  25. Duda como hacer el reporte Porfavor miren el archivo, lo que necesito esta en la hoja '4' la extraccion de datos es de las hojas 1,2,3 que podrian ser mas hojas. Supuse que seria necesario una macro Gracias de antemano Libro1.xls

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 1k 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.