Copiar y pegar los datos disponibles de una hoja a otra sin usar tabla en la macro

Tengo una macro que me copia los datos de una tabla a otra hoja, pero me han cambiado el formato y ahora ya no puedo utilizar la macro con tabla.

Sub Detalle_sdc()
Dim NombreHoja As String
Dim HojaDestino As Range
Dim NuevaFila As Integer
Dim FilasFactura As Integer
Dim i As Integer
Dim j As Integer
Dim NumFactura As Integer
NombreHoja = "DETALLE SDC"
FilasFactura = Application.WorksheetFunction.CountA(Range("Datos_sdc[DESCRIPCION]"))
NumFactura = ThisWorkbook.Sheets("SOLICITUD DE COMPRA").Range("G3").Value
With ThisWorkbook.Sheets(NombreHoja)
    For i = 1 To FilasFactura
        Set HojaDestino = ThisWorkbook.Sheets(NombreHoja).Range("A1").CurrentRegion
        NuevaFila = HojaDestino.Rows.Count + 1
        .Cells(NuevaFila, 1).Value = NumFactura
            For j = 0 To 7
                .Cells(NuevaFila, j + 2).Value = ThisWorkbook.Sheets("SOLICITUD DE COMPRA").Cells(21 + i, 1 + j)
            Next j
    Next i
End With
End Sub

Esta es la macro que uso con la llamada a la tabla.

Ahora necesitaría que me empezar a buscar en la fila 21 desde la columna A hasta la G saltando las filas de dos en dos.

1 Respuesta

Respuesta
2

Te invito a SUSCRIBIRTE a mi canal de YouTube:

Excel y Macros

Ahí encontrarás más sobre Excel y Macros:

https://www.youtube.com/channel/UCs644-v3ti4SF7zE_bt_YXA 

Comparte los enlaces en tus redes sociales.


Prueba lo siguiente:

Sub Detalle_sdc()
  Dim sh2 As Worksheet
  Dim LstObj As ListObject
  Dim i As Long, iRow As Long
  '
  Set sh2 = Sheets("SOLICITUD DE COMPRA")
  Set LstObj = Sheets("DETALLE SDC").ListObjects("Datos_sdc")
  '
  For i = 21 To sh2.Range("E" & Rows.Count).End(3).Row Step 2
    If sh2.Range("D" & i).Value <> "" Then
      LstObj.ListRows.Add AlwaysInsert:=True
      iRow = LstObj.DataBodyRange.Rows.Count
      LstObj.DataBodyRange(iRow, 1).Value = sh2.Range("G3").Value 'Número de Factura
      LstObj.DataBodyRange(iRow, 2).Resize(1, 6).Value = sh2.Range("B" & i).Resize(1, 6).Value
    End If
  Next
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas