Saltar al contenido
View in the app

A better way to browse. Learn more.

Ayuda Excel

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Macro copiar pegar ??

publicado

Hola buenas, Feliz año nuevo !!!

Copiar B4:E4 las celdas contienen fórmulas, pegar este rango tal cual con sus fórmulas cada 11 filas y que finalice como ejemplo en la fila 5.000 .

Saludos..

 

Featured Replies

publicado

Saludos, en base a lo explicado y sin libro de ejemplo considero participar con la siguiente propuesta:

Sub CopiarPegarFormulas()
    Dim i As Long
    Dim contador As Long
    contador = 0
    Application.ScreenUpdating = False
    For i = 4 To 5000 Step 11
        Range("B4:E4").Copy
        Cells(i, 2).PasteSpecial Paste:=xlPasteFormulas
        contador = contador + 1
    Next i
    Application.CutCopyMode = False
    Application.ScreenUpdating = True
    MsgBox "Ayuda Excel, se han copiado " & contador & " formulas"
End Sub

Esa macro copia las fórmulas que están en B4:E4 cada 11 filas, lo que debería realizar lo expuesto por el consultante llegando a la 5,000. Indudablemente puede quedar más optimizado pero bueno, agregue que no "brinque" la pantalla y un contador con un mensaje que indique cuantas fórmulas pego.

Saludines

Editado el por Israel Cassales

publicado

Un código más corto:

Sub CopiarPegarFormulas()
    Dim i As Long
    For i = 4 To 5000 Step 11
        Range("B4:E4").Copy Destination:=Cells(i, 2)
    Next i
End Sub

Con eso concluyo mi participación.

publicado
  • Autor
hace 2 horas, Israel Cassales dijo:

Un código más corto:

Sub CopiarPegarFormulas()
    Dim i As Long
    For i = 4 To 5000 Step 11
        Range("B4:E4").Copy Destination:=Cells(i, 2)
    Next i
End Sub

Con eso concluyo mi participación.

Hola buenas.

La macro es tal cual he pedido.

Pero cuando la llevo a la práctica no me da el resultado de copiar cada 11 filas, son tantos los datos en A 5300 que no los puedes ver todos y no cuadra siempre la copia cada 11 Filas.

Por lo que veo ahora que para conseguir lo que quiero y no fallar de copiar B4:E4 es con el criterio  de LUIS JUEVES en A.

O sea donde este en A LUIS JUEVES copiar  B4:E4.

Subo libro, no me deja subir el libro y pesa 5,45 MB ???

Saludos….

publicado
Sub CopiarPegarFormulas()
    Dim i As Long
    For i = 4 To 5000
        If Cells(i, 1).Value = "LUIS JUEVES" Then
            Range("B4:E4").Copy Destination:=Cells(i, 2)
        End If
    Next i
End Sub

Esa macro recorre todas las filas desde la 4 hasta la 5000 y, si encuentra “LUIS JUEVES” en la columna A (celda A4, A5, etc.), copia el rango B4:E4 a la fila correspondiente.

Aquí, Cells(i, 1) se refiere a la celda en la fila i y la columna 1 (que es la columna A). Entonces, si el valor en esa celda es “LUIS JUEVES”, la condición se cumple y se ejecuta el código dentro del If, que copia el rango B4:E4 a la fila correspondiente.

publicado
hace 1 minuto , eugeniocol dijo:

nada no me deja ni en Binario y pasado a rar, puf......

En realidad no debería ser tan complicado, lo pesado debe ser por los datos. Yo recomendaría hacer una copia y eliminar todos los datos excepto algunos para ejemplo. Sin formatos, sin hojas que no aportan o condicionan el resultado. Por otro lado la macro anterior debe cumplir con lo que cambiaste.

Saludines.

publicado
  • Autor
hace 25 minutos , Israel Cassales dijo:
Sub CopiarPegarFormulas()
    Dim i As Long
    For i = 4 To 5000
        If Cells(i, 1).Value = "LUIS JUEVES" Then
            Range("B4:E4").Copy Destination:=Cells(i, 2)
        End If
    Next i
End Sub

Esa macro recorre todas las filas desde la 4 hasta la 5000 y, si encuentra “LUIS JUEVES” en la columna A (celda A4, A5, etc.), copia el rango B4:E4 a la fila correspondiente.

Aquí, Cells(i, 1) se refiere a la celda en la fila i y la columna 1 (que es la columna A). Entonces, si el valor en esa celda es “LUIS JUEVES”, la condición se cumple y se ejecuta el código dentro del If, que copia el rango B4:E4 a la fila correspondiente.

Por fin todo ok, salvo algo que no viera en un principio.

Gracias.

saludos...

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.