Daten in Excel in neue Form kopieren

  • Excel

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von Agent.

    Daten in Excel in neue Form kopieren

    :huh:

    Hallo, ich bin totaler Visual Basic-Anfänger, würde mir aber enorm viel Zeit sparen wenn ich für eine Liste in Excel ein Makro hätte, das folgendes macht:
    Aus einem Arbeitsblatt (transponiert) sollen Daten in ein anderes (Upload) kopiert werden.

    Und zwar aus ca. 100 Spalten und 200 Zeilen in nur noch zwei Spalten fortlaufend.

    In Spalte A sollen sog. Parent-EANS aus maximal fünf Zeilen (unten ZeileParent, ca. 200 mal die selbe EAN), kopiert werden.

    Daneben in Spalte B die unterschiedlichen Child-EANS aus der selben Ursprungsspalte. Das ganze dann 5 mal für 5 Parent-EANS, und nachdem diese nach unten aneinandergereiht sind das ganz nochmal für weitere 100 Spalten.

    Hier was ich mir bislang dachte:



    Visual Basic-Quellcode

    1. Dim lngFilterZeile As Long, lngFilterSpalte As Long
    2. Dim ZählernochzuSpezifizieren As Long
    3. Dim ZeilenCount As Long
    4. Public Const ErsteSpalte As Long = 43 ' Gültigkeit im ganzen Projekt
    5. Public Const LetzteSpalte As Long = 138 ' Gültigkeit im ganzen Projekt
    6. Public Const ErsteZeileParent As Long = 5 ' Gültigkeit im ganzen Projekt
    7. Public Const LetzteZeileParent As Long = 9 ' Gültigkeit im ganzen Projekt
    8. Public Const ErsteZeileChild As Long = 10 ' Gültigkeit im ganzen Projekt
    9. Public Const LetzteZeileChild As Long = 225 ' Gültigkeit im ganzen Projekt
    10. Public Sub EANSkopieren()
    11. ZeilenCount = 2
    12. For i = ErsteSpalte To LetzteSpalte Step 1
    13. For j = ErsteZeileParent To LetzteZeileParent Step 1
    14. For k = ErsteZeileChild To LetzteZeileChild Step 1
    15. ' Parent-Eans einfügen
    16. Sheets("transponiert").Select
    17. Range(.Cells(i, j ).Select
    18. Selection.Copy
    19. Sheets("Upload").Select
    20. Range("(.Cells(A, ZeilenCount)").Select ' gleicher Wert
    21. ActiveSheet.Paste
    22. ' Chiild-Eans einfügen
    23. Sheets("transponiert").Select
    24. Range(.Cells(i, k).Select
    25. Selection.Copy
    26. Sheets("Upload").Select
    27. Range("(.Cells(B, ZeilenCount)").Select ' neuer Wert
    28. ActiveSheet.Paste
    29. ZeilenCount = ZeilenCount + 1
    30. Next k
    31. Next j
    32. Next i
    33. End Sub



    Könnt ihr mir für den richtigen Code helfen?

    LG, Welli

    *** VB-Tag eingefügt ***

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Agent“ ()