VBA: cree nuevas filas y complételas automáticamente con datos de diferentes hojas

VBA: cree nuevas filas y complételas automáticamente con datos de diferentes hojas

Tengo 2 hojas con la siguiente información:

HojaB
Artículo 1
Artículo 2

HojaC
UbicaciónA
UbicaciónB
UbicaciónC

Y estoy tratando de obtener el siguiente resultado en la HojaA:

HojaA
Artículo1 UbicaciónA
Artículo1 UbicaciónB
Artículo1 UbicaciónC
Artículo2 UbicaciónA
Artículo2 UbicaciónB
Artículo2 UbicaciónC

Utilizo este código vba para copiar los elementos de la Hoja B a la Hoja A, pero cada elemento se puede almacenar en diferentes ubicaciones, por lo que me gustaría haber enumerado en la Hoja A cada elemento de la Hoja B y todas las ubicaciones posibles que se enumeran en la Hoja C. La idea de SheetA es tener un resumen con toda la información.

Worksheets("SheetB").ListObjects("ArtikelDBTable").ListColumns("ARTIKEL").DataBodyRange.Copy _
Destination:=Worksheets("SheetA").ListObjects("WerbemittelTable").ListColumns("ARTIKEL").DataBodyRange

Gracias.

Respuesta1

Esta es la solución que encontré:

Sub Makro1()

    Dim i As Long
    Dim ii As Long
    Dim i3 As Long
    Dim i4 As Long
    Dim LastRowSht2 As Long
    Dim LastRowSht3 As Long
    Dim wb As Workbook
    Dim sht1 As Worksheet
    Dim sht2 As Worksheet

    Set wb = ThisWorkbook
    Set sht1 = wb.Sheets("Tabelle1")
    Set sht2 = wb.Sheets("Tabelle2")
    Set sht3 = wb.Sheets("Tabelle3")

    'Find the last row (in column A) with data.
    LastRowSht2 = sht2.Range("A:A").Find("*", searchdirection:=xlPrevious).Row
    LastRowSht3 = sht3.Range("A:A").Find("*", searchdirection:=xlPrevious).Row
    ii = 2
    i4 = 2

    For i = 2 To LastRowSht2

        For i3 = 2 To LastRowSht3
            sht1.Range("A" & ii) = sht2.Range("A" & i).Value
            sht1.Range("B" & ii) = sht3.Range("A" & i4).Value
            ii = ii + 1
            i4 = i4 + 1
        Next i3
        i4 = 2
    Next i
 End Sub

información relacionada