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. Invitado danigran

    Hola a todos, soy nuevo en el foro, gracias por el soporte y la ayuda que prestáis. Mi cuestión es la siguiente: Tengo varias hojas que empiezan por el nombre "PRO" y necesito que el rango (b13:g64) de cada una de las hojas pegue los valores en la hoja "Dat" a partir de la primera columna en la siguiente fila vacía. Lo he intentado con el siguiente código pero solo pega los valores del rango" b" y no todo el rango. Sub prueba() Dim hj As Worksheet Dim x As Integer For Each hj In ActiveWorkbook.Sheets If hj.Name Like "PRO*" Then Sheets("Dat").Range("a" & Rows.Count).End(xlUp).O…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 584 visitas
  2. Hola, soy nuevo en este foro, y si pudieran ayudarme con un archivo que estoy creando, es un formato de orden de compra el cual ya tengo diseñado y formulado donde tengo una hoja oculta llamada BD,y que es donde jala la información para ciertas celdas, hasta aquí tengo todo perfecto, ahora lo que me interesaría solicitar la ayuda de ustedes es que esta orden de compra tiene un rango de celdas (15 filas) este rango es donde va la información de cantidad, cuenta, descripción e importe y por medio de macros (investigando en foros como este) e logrado que las celdas individuales con los demás datos se copien a otra hoja se vayan acomodando en una sola fila y se vayan recorri…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 778 visitas
  3. Buen día estimados, Pase un buen rato buscando en el foro una solución pero no la he podido encontrar, como soy nuevo ruego me disculpen si la solución ya estaba, de ser así si me pueden linkear el tema también lo agradeceré. Paso a explicarles: Tengo varios libros de proveedores, y cada libro tiene una serie importante de hojas, mi interés es poder copiar las filas que necesito de cada hoja de cada libro de una carpeta, en una nueva hoja que me sirva de resumen. Opciones: La que mas me conviene Como verán en el adjunto, el formato es similar pero no siempre se respetan la posición (numero) de las filas. Yo lo que necesito copiar es desde donde arranca la fila col…

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 1.3k visitas
  4. Buenas tardes Tengo tres hojas: P01, P02 y P03 y 150 hojas numeradas de F001 á F150. Necesito copiar el Rango B21:J55 de P01 y pegarlo, por ejemplo, en la F001 y para ello uso la macro siguiente: Sub Inserta_1_F001 () Sheets("P01").Range("B21:J55").Copy Destination:=Sheets("F001").Range("B21") Sheets("F001").Select Range("L10").Select End Sub Esto lo hago con las macros correspondientes para la 150 hojas . Lo mismo con P02 y con P03 por lo que tengo 450 macros y que funcionan correctamente. Mi pregunta es: habría alguna forma de crear una macro que haga lo mismo pero desde …

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 650 visitas
  5. Buenas tardes, Tras estar intentandolo y no llegar al resultado os transmito la consulta. Tengo en una hoja "denominada hoja1", un rango de celdas de f4:f14. En la celda A1 de la hoja1 tengo un texto. Necesitaria que se buscase en la columna A de la hoja2 la coincidencia de ese texto ubicado en la celda a1 de la hoja1 y pegar el rango en horizontal ubicado en el rango F4:F14 en esa misma linea. Es decir, os pongo un ejemplo: hoja1 celda a1: Pedro rango f4:f14: distintos datos. hoja2 buscar en la columna a el nombre de pedro y en esa fila pegar los valores del rango f4:f14.

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 601 visitas
    • 1 seguidor
  6. Hola amigos de Ayuda Excel. Nuevamente por aquí para pedirles un . He intentado hacerlo pero pero no logro el objetivo. Necesito copiar el rango A5:K5 (fila que estará siempre oculta) y deben ser insertadas 5 filas iguales en la primera celda vacía de la columna A. La macro se ejecutará a través de un botón. Agradecido de antemano por su valiosa colaboración. INSERTAR 5 FILAS AYUDA EXCEL 2.xlsm

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.2k visitas
  7. Started by sheet,

    Hola: creo que es la primera vez que escribo en el foro y es para plantearos una duda. Es sobre una clasificación de fútbol en excel y mi intención de pegar junto a cada jornada, la clasificación (para saber cómo iba cada equipo en cada jornada). Quisiera a través de una macro, copiar un rango con unos datos y que se vaya pegando (todo el rango) desde la celda que yo le indique, teniendo en cuenta que ha de hacerlo (digamos) saltando lo que ya se ha pegado antes. (Os adjunto un ejemplo) He intentado hacerlo directamente grabando el macro, y combinando con referencias relativas, pero no ha habido manera. Soy capaz de copiarlo la primera vez, pero luego, vuelve otra ve…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 5k visitas
  8. Started by PedroJSuarez,

    Buenas tardes. Acudo a Uds. para resolver una pequeña duda. tengo un rango de celdas con nombre en el administrador el cual quiero copiar en la celda activa que yo seleccione, sea en la misma hoja ó en otra hoja del mismo libro. Este es el código que uso para copiarlo en la celda "A62".Agradecido de antemano!! Sub CopiarEncabezado3() Sheets("encabezados").Range("identificacion_de_la_factura").Copy Sheets("encabezados").Range("a62").PasteSpecial End Sub

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 2.9k visitas
  9. Hola buenos días a todos , yo aquí sigo trabajando con mi proyecto, en el Modulo 7 he generado un código, que me permite copiar y pegar un rango de datos en un objeto chart exportarlo de forma constante al mismo archivo, insertar, copiar y borrar esa imagen para poder adjuntar a una msg de WhatsApp. Si bien realiza todo el procedimiento tengo dos problemas... uno que si bien yo defino el rango, "Hoja1.Range("A1:F46").Select" al hacerme todo el procedimiento me adjunta 6 hojas en formato imagen en whats app y debería ser solo la primera con datos. y otro detalle es que me gustaría si me pueden ayudar a encontrar una forma que ese rango sea variab…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.9k visitas
  10. Started by gatolafo,

    Amigos Muchas gracias por este necesario e impresionante sitio y ayuda prestada. Tengo una duda tengo un macros para guardar ciertos datos de manera vertical, pero mi gran duda ahora es se puede hacer algo similar pero de forma horizontal? Sub copia() Dim Datos As Range, Dato As Range, x As Byte Set RECUENTO = Range("R3:U3") With Sheets("Hrs").Cells(Rows.Count, 2).End(xlUp)(2) For Each Dato In RECUENTO .Offset(, x) = Dato: x = x + 1 Next Dato End With End Sub Lo que necesito es copiar un rango fijo (q7:v404) a otra hoja y que estos sean copiados hacia la derecha (despues de la ultima columna vacia) Desde ya mu…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 4k visitas
  11. Started by yoel30,

    Saludos, Estoy iniciando con macros y tengo una macro con la siguiente linea: For Each a In Range(Cells(1, ActiveCell.Column), Cells(ultimoRenglon, ActiveCell.Column)) a.Activate 'si el valor en la celda es p entonces copia la fila If a.Value = "p" Then a.EntireRow.Copy Destination:=Sheets("Hoja2").Range("A6001").End(xlUp).Offset(1, 0) end if Todo trabaja bien pero el codigo me copia toda una fila y necesito copiar un rango especifico, osea que copie las filas que cumplan con la condicion pero que esten entre C2 y H2. Alguna idea se los agradeceria.

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 1k visitas
  12. Started by Sulpicio,

    ¡Hola a todos! Soy nuevo en este foro y tengo un problema en Excel y bueno pues a ver si hay suerte y alguien me puede echar un cable. Antes que nada comentar que mis conocimientos son casi nulos y el código contenido en el ejemplo no es de mi autoría sino que lo he ido sacando de internet buscando y adaptándolo a mis necesidades. Tengo una plantilla para facturas en la que introduzco datos en la hoja1 (Factura) y un seguimiento de las facturas que se van realizando , en la hoja 2 (Control Facturas) Mediante código tengo la posibilidad de insertar filas según la extensión de la factura en cuestión. También por código copio la información necesaria de la factura a la h…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 600 visitas
  13. Started by oshimate,

    HOLA DE NUEVO A TODOS. MIREN, ME GUSTARIA COPIAR SOLO UN RANGO DE CELDAS QUE ESTAN VISIBLES A LA MISMA FILA PERO EN OTRA COLUMNA. YA TENGO LOS FILTROS PERO NO ME SALE EL COPIADO Y PEGADO ESPECIAL. ASI TENGO MI CODIGO. Sub filtrop() X = Range("A1").Value ActiveSheet.Range("A2:E11").AutoFilter Field:=3, Criteria1:=">" & X, Operator:=xlFilterValues ActiveSheet.Range("A2:E11").AutoFilter Field:=2, Criteria1:="<" & X, Operator:=xlFilterValues ActiveSheet.Range("A2:E11").AutoFilter Field:=5, Criteria1:=">0" Range("E3").End(xlDown).SpecialCells(xlCellTypeVisible).Copy .PasteSpecial(xlPasteValues).Columns (4) Application.Cu…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 733 visitas
  14. Buen día!! (ó buena noche dependiendo de donde me lean!!) En el adjunto el cual trabajo a diario necesito hacer copias del formato justo debajo (Indico con diferentes colores el encabezado y el cuerpo para que se entienda mejor, no llevan ningún color de fondo). El encabezado (A1:M1o) cambia mensualmente en "Compras correspondiente al mes de (Enero, Febrero, .....) de (2014, 2015....)" y el cuerpo( A11:M41) cambia dependiendo del número de facturas, en este caso la primera línea del encabezado cambia a subtotales, no siendo así en todos los meses. La copia debe ser idéntica en formatos, fórmulas, alto de fila y ancho de columnas. Cuál puede ser la forma de que se pregunte…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 714 visitas
  15. Started by yiyilans,

    Copiar rangos discontinuos solo si cumple 2 condiciones [ATTACH]40820.vB[/ATTACH][ATTACH]40821.vB[/ATTACH][ATTACH]40822.vB[/ATTACH]Buenas tardes mis estimados: Edito mi mensaje porque creo que hice una historia, además de que solo me gustaría me orientaran, Me podrían orientar si se puede copiar rangos discontinuos de la hoja1 (acumulado) a hoja2(reportes) y que cumplan dos condiciones: 1.- con un InputBox copiar solo lo que sean Elektra y 2.- si se puede otro InputBox y con ello elegir el año y solo copiar los registros de ese año, la fecha que tomo para hacer el filtro es del titulo “REG_fechahora”. Mis títulos no son los mismos pero los relaciono en un archi…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.7k visitas
  16. Soy principiante en esto . El tema en cuestión es que tengo un libro. En la primera hoja tengo un botón que me copia Código: Sub Copiarypegar()'Seleccionamos todo el área contínua de datos, desde la celda donde estamos situadosRange("A24:O24").Select 'seleciona el rango especifico'ActiveCell.CurrentRegion.Select'CopiamosSelection.Copy'Pegamos en A24 de la hoja 2Sheets("Daily Report").SelectRange("A24").Select 'el control se hará sobre la columna A, a partir de la filaWhile ActiveCell.Value <> "" 'Busca la ultima filaActiveCell.Offset(1, 0).Select 'si la celda contiene datos, pasa a la fila siguienteWendActiveSheet.PasteSpecialApplication.CutCopyMode = FalseRange(…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.1k visitas
  17. Started by Barnon,

    Buenas, Agradecería por favor vuestra ayuda con la siguiente hoja de cálculo que adjunto, para crear una macro en VBA que haga lo detallado a continuación: - Seleccionar solo los valores de las columnas R, S, T que lleven la fórmula de multiplicar las columnas V * F (en el archivo se aprecia). - Copiar estos valores seleccionados a su fila análoga de las columnas J, K, L. - Inicializar a cero los valores en fila análogas de la columna V y X. Muchas gracias. Saludos. Libro1.rar

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 561 visitas
  18. Hola tengo varios archivos con diferentes rangos y registros los cuales necesito pasar a otro libro en excel he investigado un poco en la red o youtube para ver si exiten ejemplos similires a lo que requiero pero no encuentro nada ,no tendria problema en copiar rangos completos o continuos pero los registros que necesitos van salteados con diferencia desde 3 filas hasta 20 .Adjunto los archivos .Espero que alguien me puede asesorar Buen día a todos 1. Estado Analítico de Ingresos.xls 2. Estado Analítico del Ejercicio del Presupuesto de Egresos Clasificación por Objeto del Gasto.xls

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 958 visitas
  19. Started by lil1234,

    Hola Buen Día De nuevo yo haciendo preguntas. De ante mano quiero agradecer la amable colaboración que siempre me han brindado. Tengo el siguiente código Private Sub CommandButton1_Click() Worksheets("Hoja1").Select 'selecciona la hoja en la que se va a trabajar Range("A1").Select ' Selecciona la celda de la hoja que se va a modificar sobre esta se crea la nueva fila ActiveCell.FormulaR1C1 = TextBox1 ' a la celda seleccionada le escribe el valor de la caja de texto r1c1 lee o escribe valor Selection.EntireRow.Insert TextBox1 = Empty TextBox2 = Empty TextBox1.SetFocus End Sub Private Sub TextBox1_Change() Dim valorb As String, dato As St…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.9k visitas
  20. Quiero copiar solo el resultado desde una macro que tiene formulas por día. Cada día la información se actualiza y la forma va a buscar x, hace el procedimiento y devuelve el resultado. Esto lo hace varias veces por día, todos los días. Por lo que a veces se truene el excel al querer manipular los resultados. Por ello siento que sería mejor pasar solo los resultados a un nuevo libro, una vez que la formula tenga dicho resultado. He visto que se pueden copiar datos condicionalmente, la condición aquí sería que la formula esté resulta. O tal vez hay otra forma más fácil pero no la encuentro.

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 393 visitas
    • 1 seguidor
  21. Started by JFlor,

    Buenas tardes, He estado buscando y tratando de adaptar el código que he podido encontrar, pero no soy capaz de hacerlo y llevo bastante tiempo atascado con ello, por eso pido vuestra ayuda. Estoy creando una serie de macros que me permitan agilizar unas tareas repetitivas en mi trabajo. Una de ellas es la de exportar una sección de la hoja excel a un libro distinto, qué, si existe el libro añade la información en una hoja nueva y si no existe, creará el libro. El principal problema lo tengo en que no sé como recuperar la información desde el archivo que ejecuto la macro. No sé si existe la forma de tener un puntero apuntando al archivo desde el que ejecutas la macro p…

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 1.2k visitas
  22. Started by Edgar Prisciliano,

    Buen día. Amigos, alguien puede darme una mano, estoy haciendo una macro para calcular un surtimiento, ya casi la tengo lista pero en la ultima parte requiero que haga un filtro y de los datos filtrados solo copiar 6 filas de una columna para después pegarlas en otra hoja con la opción de transponer, aunque ya tengo todo el filtro y el pegado no se como indicarle que solo me copie 6 filas, adjunto archivo de ejemplo ya que la original pesa mas de lo permitido, básicamente es después de aplicar ciertos filtros poder copiar 6 filas de la columna F. Muchas gracias. Filtro.rar

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.1k visitas
  23. Hola buena tarde tengo un problema estoy realizando una macro que me copie solo las celdas visibles despues de filtrar aqui la cuestion es que quiero si es que se puede que sobreescriba en la misma hoja y borre todo lo que no me sirvio del filtro buscando en internet parece que no se puede, estuve checando el foro y encontre una solucion [solucionado] Macro para copiar las celdas visibles | Ayuda Excel que a mi me sirve en ocasiones y en otras me arroja un error 1004 como solucionar eso? y otra cuestion es como copiar solo los datos que me arrojo la formula concatenar obviamente igual mediante macro? pienso utilizar la funcion Range(ActiveCell, ActiveCell.End(xldown)).Se…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 2.2k visitas
  24. Started by Potter08,

    Hola buenas noches me podrian ayudar con este archivo ejemplo, necesito copiar en hoja resumen los ingresos por dias y las salidas por dia en hojas resumen de tabla de control de inventarios, espero sus comentario gracias. adjunto ejemplo y un intento de macro pero me he quedado trabado explicación en archivo modulo vba de antemano gracias, salu2 Ejemplo Resumen.xls

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 909 visitas
  25. Started by Domingo,

    Buenos días a todos, explico brevemente mi problema: Estoy intentando copiar las datos (solo los datos) de una celda (que contiene una fórmula Condicional) concreta de la Hoja "Tesorería" y pegarlo como un valor en la Hoja "Saldos Banco" en una celda concreta. No se exactamente cual es el código que hay que poner para hacerlo, paso el código de la macro a ver si me podéis ayudar con el problema. Sub CopiarDiciembre2021() 'Desactivar eventos pantalla Application.ScreenUpdating = False 'Importe INGRESO (Pagos BANCO) '.... Sheets("Tesorería").Activate '.... i = 8 'comienzo el bucle For i = 8 To 8 'compruebo que el valor…

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 1.3k 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.