VBA Copiar Rango reapeated con el offset

votos
-2

Estoy tratando de copiar un rango (filas) repitió varias veces en VBA, donde sé que el nombre de la célula de partida y el tamaño de la gama.

Sub test()
  Dim LastRow As Long, x As Long, a As Long, b As Long
  a = Sheets(sd).Cells(Rows.Count, 1).End(xlUp).Row
  For x = 1 To a
     If Worksheets(sd).Cells(x, 2) = 58117552 Then
      Sheets(sd).Range(Cells(x, 2), Cells(x, 2).Offset(13, 0)).entireRows.Copy
      Sheets(sheet1).Activate
      Sheets(sheet1).Cells(1, 1).Select
      Sheets(sheet1).Paste
      Sheets(sheet1).Activate
    End If
  Next
End Sub

Obviamente, este código no funciona, pero no sé la forma correcta para seleccionar este rango

Gracias por la ayuda

Publicado el 20/10/2018 a las 10:41
fuente por usuario
En otros idiomas...                            


1 respuestas

votos
0

Ese desplazamiento (13) es un poco confuso, pero aquí es el código con los selecciona retirados.

Sub test()
    Dim a As Long
    Dim sh As Worksheet, ws As Worksheet

    Set sh = Sheets("sd")
    Set ws = Sheets("Sheet1")

    With sh
        a = .Cells(.Rows.Count, 2).End(xlUp).Row
        For x = 1 To a
            If .Cells(x, 2) = "58117552" Then
                .Cells(x, 2).Offset(13, 0).EntireRow.Copy ws.Cells(ws.Rows.Count, "A").End(xlUp).Offset(1)
            End If
        Next x
    End With

End Sub
Respondida el 20/10/2018 a las 15:07
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more