Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Wiederholen von Zellinhalten
#1
Hallo zusammen,

ich hoffe ihr könnt mir wieder einmal bei einem Problem weiterhelfen.
Ich habe beiliegend die Datei angehängt - ich denke dann ist klarer was ich brauche...

In einer Tabelle stehen in Spalte G verschiedene Kleidungsstücke.
Daneben stehen dann verschiedene Größen.

Ich würde in den Spalten A und B diese Informationen basierend auf den Daten aus der Tabelle benötigen. Also untereinander in Spalte A in diesem Fall 177 x "T-Shirt" und in Spalte B untereinander die Größen.
Danach untenstehend weiter mit "Tank1" und den Größen usw.

Gerne mittels VBA, wäre aber auch interessant ob sich da via Formel lösen lässt...

Stehe leider gerade (wieder mal) komplett auf dem Schlauch...

Vielen Dank schon einstweilen und lg

Olli


Angehängte Dateien
.xls   Auflistung.xls (Größe: 41 KB / Downloads: 11)
WIN 10 64-Bit Pro / EXCEL Microsoft Office 365 ProPlus 64-Bit
Antworten Top
#2
Hallo Olli,

Code:
Sub AllesInAB()
  Dim i As Long, j As Long, k As Long, l As Long, m As Long
  Dim bolG As Boolean
  Dim varQ As Variant
  Dim varZ() As Variant
  varQ = Range("G1:M13").Value
  ReDim varZ(1 To Application.Sum(Range("M2:M13")), 1 To 2)
  For i = 2 To UBound(varQ, 1)
    For j = 2 To UBound(varQ, 2) - 1
      k = k + l
      l = varQ(i, j)
      If l > 0 Then bolG = True
      For m = 1 To l
        varZ(k + m, 1) = varQ(i, 1)
        varZ(k + m, 2) = varQ(1, j)
      Next m
    Next j
    If bolG = False Then
      k = k + l
      l = varQ(i, UBound(varQ, 2))
      For m = 1 To l
        varZ(k + m, 1) = varQ(i, 1)
      Next m
    Else
      bolG = False
    End If
  Next i
  Range("A1").Resize(Rows.Count - 1, 2).Offset(1) = ""
  Range("A2").Resize(UBound(varZ, 1), 2).Value = varZ
End Sub

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • friedensbringer
Antworten Top
#3
Hallo Uwe,

vielen Dank! Macht genau das was es soll!

Thumps_up

lg

Olli
WIN 10 64-Bit Pro / EXCEL Microsoft Office 365 ProPlus 64-Bit
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste