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 gm743,

    Buenos dias. Les cuento. Estoy intentando desarrollar un macro, soy nuevo en esto, y es para mi trabajo. Lo que necesito hacer es lo siguiente: .Copiar el sombreado de todas las celdas Doc A desde J2 hasta J850 al Doc B desde la J2 a la J850, mediante un buscarv donde los codigos unicos del Doc A y Doc B se encuentran desde A2 a A850 de ambos documentos. .Esto necesito aplicarlo solo a aquellas celdas que tengan color distinto al Gris. Se me ocurre un For, con un If adentro, y luego algo asi pero nose como hacer que varie. Dim micolor micolor = Range("'[Pendientes de ingreso.xls]Sheet1'!J2").Interior.color Range("J2").Interior.color = micolor Range("K2").Interior…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 3.9k visitas
  2. Started by Benito Bartolomé,

    Buenas tardes a todos; He creado una macro con la grabadora para copiar columnas no contiguas y pegar los valores en una tabla que se encuentra en la misma hoja. Al pulsar sobre el botón "Copiar" se ejecuta la macro y muestra el resultado que me gustaría obtener. Un saludo para todos. Adjunto macro. MCopiarColumnas.xlsm

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 1.7k visitas
    • 1 seguidor
  3. hola amigos tengo un problema deseo copiar datos de un libro excel a otro con un simple boton eh leido en otras guias como se hace incluso baje unas hojas de muestra donde ya posee el codigo hecho y funciona a la perfeccion ahora! yo quiero cambiar de ruta pero me da un error al consultar la informacion con el creador el me indica que cambie una formula al cambiarla me da error de sintax a ver si ustedes me pueden ayudar 1: formula original Sub CopiarCeldas() 'Definir objetos a utilizar Dim wbDestino As Workbook, _ wsOrigen As Excel.Worksheet, _ wsDestino As Excel.Worksheet, _ rngOrigen As Excel.Range, _ rngDestino As Excel.Range 'Indicar el libro de Excel d…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 5k visitas
  4. Estimados Foristas, Buen día. Espero puedan ayudarme con lo siguiente. Tengo un archivo (adjunto) el cual tiene la pestaña "FORMATO" de donde copio de la fila 1 a la 12 y luego lo pego debajo del último cuadro de la pestaña "MODELO" (correlativo). Hago esta operación tantas veces es necesario y siempre se debe pegar justo debajo del último cuadro. Como ven en "FORMATO", se tiene un botón "insertar fila" (ver la macro). El tema que cuando pegue a la hoja "MODELO" debe copiarse el formato entero, incluso el botón cuya macro deberá funcionar sólo para el cuadro que acabo de pegar. Quedo de su gentil ayuda. Saludos, José. NuevaPrueba1.rar

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 2.7k visitas
  5. Buenas tardes. Lo primero indicar que he visto varios hilos que hablan de este aspecto, pero he revisado las macros que incluye cada archivo y no entiendo muy bien a que corresponde cada cual. Os agradecería que si creeis que mi asunto es importante, al redactar la macro indiquéis a que corresponde cada parámetro. Lo que necesito es lo siguiente: - Tengo un BBDD con los diferentes entrenamientos que voy a utilizar a los que le asignado un código en la columna "Código" De esa BBDD los datos que están en una casilla amarilla son los datos que tienen que ser editables en la hoja PLANIFICACIÓN. Y los datos que aparecen en casilla morada, estarán en función de los datos d…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.6k visitas
  6. Saludos a todos, en esta oportunidad requiero de su ayuda para culminar una macro, el favor que necesito es el siguiente partiendo que la capeta principal se llama CarpetaA: En la carpeta 1 esta el libro1.xlsm En la carpeta 2 esta el libro2.slxm En la carpeta 3 esta el libro3.slsm libroResumen.xlsm En la CarpetaA, esta el libroResumen.xlsm, este seria el resumen de todo los datos y debe copiar la infomación de libro1.xlsm, libro2.xlsm y libro3.xlsm que se encuentra en las celdas A1, B1, C1 y D1 de los respectivos libros a las celdas E1,F1, G1 y H1 del libroResumen.xlsm. Es decir al ejecutar la macro desde libroResumen.xlsm este debe copiar los datos de lo…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 444 visitas
  7. Hola a todos, Necesito una macro que me permita filtrar datos de una hoja, según un valor introducido en una celda, y que cada 40 filas copie los valores en un rango distinto de otra hoja.(todo un reto...:nightmare:) Lo que tengo en archivo adjunto, es un libro con tres hojas, en la primera (Albarán), introduzco los datos y se copian de forma automática en la segunda Hoja (Albaranes). En la tercera Hoja (Factura), hay una plantilla de factura, que se repite 15 veces hacia abajo. Necesito una macro, que al introducir código de cliente (celda F1), en el Hoja Factura, busque todas las filas que en la columna A de la HOja Albaranes, coincidan con código de cliente (celda F…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 2.1k visitas
  8. Buenas, Antes de nada, no tengo ni idea de programar macros. Las pocas que uso han sido copiadas googleando y personalizándolas para mis libros de forma básica. Os planteo mi cuestión: necesito una macro que me copie en una sola hoja un rango de celdas (desde columnas B a P y filas desde 21 hasta la última cubierta) de todos los Excel de una carpeta (son todos iguales y parten de una plantilla, pero cada uno es cubierto por una persona distinta). Googleando y customizándola un poco he llegado a la siguiente: Sub ImportDataAgent() Dim SummarySheet As Worksheet Dim FolderPath As String Dim NRow As Long Dim FileName As String Dim WorkBk As Workbook Dim SourceRange A…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 823 visitas
  9. Hola. Solicito su apoyo para crear una macro que me permita copiar el contenido de una celda y pegarlo la cantidad de veces que se indique en otra celda. Espero ser claro.

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 1.7k visitas
  10. Started by heliob,

    Hola ! Necesito crear una macro que seleccione una serie de campos de una hoja excel y los pegue al final de unos registros de otra hoja diferente. Por favor, ¿ podéis ayudarme ? Muchas gracias y un saludo. P.D. Os adjunto un fichero ejemplo de lo que necesito Fichero_macro.xls

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.1k visitas
  11. Buenas tardes Me explico. Tengo esta macro para copiar datos de un libro de excel llamado xope$pck_listados_ope.escalas_dia_detalle 1 .xls Range("A3").Select Windows("xope$pck_listados_ope.escalas_dia_detalle 1 .xls").Activate Range("C18:D67").Select Selection.Copy El problema es que este libro mantiene siempre el mismo nombre menos el final, unas veces pone detalle 1, otras detalle 2, otras detalle 3 etc.. Hay alguna forma de que ponga el numero que ponga (1,2,3,4,5,6) se puedan copiar los datos de este libro ? No se si con un comodín o de alguna otra forma ?? Saludos Lillo

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 981 visitas
  12. Buenas tardes, Consulte varios temas y el que encontré mas cercano a mi situación fue el de la siguiente macro: Sub Fusionar() Application.ScreenUpdating = False Application.EnableEvents = False Sheets("CONSOLIDADO").Cells.ClearContents fila = 1 For Each Hoja In Worksheets If Hoja.Name <> "Consolidado" Then Uf = Hoja.Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row Hoja.Range("A6:F" & Uf).Copy Sheets("CONSOLIDADO").Range("A" & fila & ":F" & fila + Uf - 1) fila = fila + Uf End If Next Application.EnableEvents = True Exit Sub End Sub Pero me tira un error 91, variable u obj…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 4.5k visitas
  13. Saludos En la oficina en la que actualmente laboro se tienen que capturar diferentes datos cada viernes para evaluar diferentes factores de la empresa. Actualmente, esta captura se hace copiando las tablas desde la intranet de la empresa, pegarlas en excel, llenar otras tablas y crear graficos a partir de estas. Las tablas que se tienen que copiar de la web siempre tienen la misma dimension y orden, lo unico que cambia son los valores. [ATTACH]36748.vB[/ATTACH] En la imagen muestro un ejemplo de las tablas que tengo que llenar. Las celdas con la leyenda valores son celdas que adquieren valores de los datos copiados de la intranet, y las celdas con la leyenda …

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.9k visitas
  14. Started by jeaa,

    Expertos, disculpe tengo un archivo que cuando valido me debe copiar ese dato a otra hoja, e intentado grabando macros y solo me funciona para uno me debe hacer con todo. Tengo un video que e preparado para que me puedan entender mejor, por favor me ayuden como lo puedo hacer muchas gracias. https://drive.google.com/file/d/1VN18MGHOUM3nZwgJH6TxnMgi7kgt74cC/view?usp=sharing Adjunto el archivo. Rodillos.xlsm

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 714 visitas
  15. Started by sscorsan,

    En este archivo pretendo que en una hoja nueva de excel que tome el valor del numero de orden, se creen tantas copias de la tabla que veis en la hoja materiales como "Si" aparecen en el listado de Materiales de la hoja de inicio. La idea es que se pudieran copiar los nombres de esos materiales a cada una de las tablas y que las macros que tengo en la hoja materiales se copiaran a su vez. Gracias Materiales2024v2.xlsm

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 674 visitas
    • 1 seguidor
  16. Hola buenas noches, quisiera saber si me pueden ayudar, con lo siguiente: Tengo 50 libros (50 empresas) con sus respectivas hojas y cada hoja tiene la nomina correspondiente a cada semana. Es decir del libro llamado empresa 1, tengo 3 pestañas llamadas 01 dic, 08 dic y 15 dic, y cada vez que voy a realizar una nueva nomina le doy boton derecho a la ultimo hoja , mover o copiar y crear una copia y despues le cambio el nombre a la hoja y le pongo por ejemplo 22 de diciembre y esto lo tengo que hacer con los 50 libros manualmente Quisiera un macro para que se creara automaticamente en los 50 libros una copia de la pestaña 15 de dic y a esa copia de la hoja le cambie e…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.2k visitas
  17. Hola primero que nada gracias de antemano Soy nuevo con las macros y quiero copiar varias columnas y pegarlas en otra hoja del mismo libro en celdas especificas, el tamaño de la columna puede variar desde 1 fila hasta 100 mas o menos es decir, ya que la macro la quiero utilizar para varios archivos

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 986 visitas
  18. Hola foro, necesito ayuda para elaborar un macro para un informe, necesito que en el libro tenga un botón con el cual se haga una copia del libro y que sea nombrado con la fecha y hora en el momento que se utiliza el botón. Para así seguir utilizando el libro base y tener varios informes nombrados con la fecha y la hora. Estuve tratando de hacerlo pero como soy algo nuevo con los macros, no se como realizar el macro. Solo tengo un intento del mismo pero solo me guarda una celda seleccionada y no el libro entero. esto es lo que tengo: Option Explicit Public Sub crear() Dim fecha As String On Error Resume Next ActiveCell.CurrentRegion.Select Selectio…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 2.6k visitas
  19. Necesito crear una macro que copie el valor númerico de una celda de referencia incrementandolo en una unidad y que al mismo tiempo actualice la celda de referencia situandose para finalizar en la celda de origen. Ejemplo: si estoy situado el la celda (I8) necesito que copie el valor de la celda (I1) = 6 incrementandolo en una unidad. (I8) = 7. Actualizando el valor de la celda de referencia (I1) = 7 y finalizando su posicion en la celda de origen (I8)

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.2k visitas
  20. Invitado yosoyjorge

    Buenas tardes, Ojalá me podáis ayudar. Realizo una tarea repetitiva de obtención de datos CAT, BBDD en bruto similar al Excel que adjunto aunque mucho más largos. Y entre otros tengo que filtrar y depurar las filas que empiezan por "14", pasarlas a Hoja2 y ordenar de mayor a menor por columna T. En total son 3 acciones bastante sencillas: Paso 1: Filtro las filas que tienen el dato "14" en sus celdas de la columna A, copia los datos resultantes y los pego en Hoja 2. Paso 2: Cambio el formato de las celdas de la columna T a integuer o Entero a través de una formula. Seguro que hay un atajo pero no lo conozco. La finalidad es que Excel reconozca los datos de esta…

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 832 visitas
  21. Started by dff1403,

    Hola Estimados, pues bien, un gran favor, tengo este archivo con una macro, la cual no está funcionando muy bien, ya Que lo que necesito es que cada vez que ponga la palabra “ok” desde el rango E 2 hacia abajo de la hoja PROCESO se copie toda la celda hacia la hoja PENDIENTE, pero una debajo de otra cada vez que ponga “ok” en la celdas de la fila E. les adjunto el ejemplo. Muchas Gracias, Seguimientos 2.xls O COMPRa.xls Seguimientos 4.xls

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 799 visitas
  22. Started by rafael_,

    Muy buenas a tod@s,Estoy intentando automatizar un dashboard conectado a una ruta de SharePoint que contiene varias carpetas por mes y año. Por cada año 12 carpetas, y un libro por cada día del mes. Necesito añadir una columna a cada libro con su fecha en formato MM/DD/AAAA. Cada libro contiene la fecha en el formato requerido en la celda E1 > " Viewing Range=[1/31/22 - 1/31/22] ", ¿hay una macro para extraer solo la fecha y copiarla en la columna A hasta donde terminan los datos? Y esto mismo poder ejecutarlo para todos los libros dentro de la ruta.Saludos y gracias de antemano

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 440 visitas
    • 1 seguidor
  23. Started by lge77,

    Que Tal, En meses pasados solicite ayuda en el foro y se me brindo amablemente Y así pude personalizar el macro que me proporcionar y adaptarlo a mis necesidades, Ahora requiero nuevamente ayuda pues quiero copiar un rango de celdas respetando el formato (Actualmente solo me respeta el ancho pero no el color ni la altura) Otra cosa, cree un botón para ya una vez capturados los datos actualizar pero cuando le aplasto al botón se pasan los datos en blanco, así que opte por quitarlo y hacerlo manual (me voy a macros y de ahí lo ejecuto) Gracias todas las facturasttt.zip

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 2.8k visitas
  24. Buenas, tengo una base de datos que lleno mediante un formulario, cada vez que le doy "Agregar" me modifica esa fila con datos nuevos en la hoja1 (base de datos), modifico varias filas desde el mismo formulario sin salirme del mismo. ahora bien, cual seria la macro que al pinchar el botón "Agregar" me copie esta fila que modifico al historial (hoja2)? Ojo, las filas modificadas no son consecutivas hacia abajo, pueden estar salteadas. Pero en la hoja2 si puede ir pegadas a la ultima fila vacía. En resumen, necesito que cada vez que modifique esa fila mediante el formulario, me copie esa fila modificada inmediatamente a la otra hoja de historial sin salirme del formula…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 2.1k visitas
  25. Buenos dias, tengo un problema con un reporte, que es muy engorroso de sacar manualmente. Todos los dias debo sacar un listado de clientes que deben dinero, entonces tengo una tabla con todos los clientes asi: Columna A : Cliente B: la venta para ese cliente C: abonos del cliente D:deuda actual Necesito una macro que recorra toda la Columna D en busca de valores mayores a $1 (lo que indica, que se le debe cobrar a ese cliente). cuando encuentre un valor mayor a 1 , necesito que copie a otra Hoja o si es posible a otro Archivo, Toda la fila en donde se encontro el valor mayor a $1, y asi con todos Cuando termine el proceso, tenga una lista en un archivo independiente …

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.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.