Spalten Kopf automatisch vor jede Zeile schreiben
#1
Hallo liebe Leute,
ich habe folgendes Problem und konnte dieses auch nicht mit diversen mtrans Funktionen lösen.
  • In Zeile 1 stehen diverse ID's die nach rechts fortlaufend sind (pro Spalte genau eine ID)
  • unter der jeweiligen Spalte stehen Produktnamen, die der im Spaltenkopf stehenden ID zugehörig sind
Nun soll die ID aus dem Spaltenkopf vor jedes, der unterliegenden Produkte, in die vorhergehende Spalte geschrieben werden.

Ausgangslage:
A1 = ID1
A2 = Produkt1 zu ID1
A3 = Produkt2 zu ID1

B1 = ID2
B2 = Produkt1 zu ID2
B3 = Produkt2 zu ID2

Ziel:

A1 = ID1
A2 = ID1
A3 = ID2
A4 = ID2

B1 = Produkt1 zu ID1
B2 = Produkt2 zu ID1
B3 = Produkt1 zu ID2
B4 = Produkt2 zu ID2

Ich denke es wird deutlich wenn man das Excel Sheet vor sich hat. Ein weiteres Problem das es zu lösen gilt, ist das die Spalten nahtlos aneinander angrenzen, weswegen man die ID nicht einfach vor die Spalte schreiben kann. Im folgenden werde ich das Excel Sheet hochladen, eventuell hat jemand ja eine Formel parat die ich nicht auf dem Schirm habe. Vielen Dank für eure Mithilfe. LG


Angehängte Dateien
.xlsx   Excel_Beispielausschnitt.xlsx (Größe: 43,04 KB / Downloads: 7)
Top
#2
Hallo,

Zitat:Ich denke es wird deutlich wenn man das Excel Sheet vor sich hat.

... und wo ist sie dann?
zwei mal das Hochladen angedroht und nicht einmal zu finden  :05:


Ob ich das nun richtig verstanden habe, weiß ich nicht, aber wenn ich mehrere  Einträge zu einem machen will,
dann fällt mir adhoc das Verketten ein. Aber wie gesagt, daß ist nur das, was ich aus Deinem Beitrag "erlesen" habe.

SPÄTER:
Na gut, während Du Deinen Beitrag komplettiert hast, habe ich meinen geschrieben.
[-] Folgende(r) 1 Nutzer sagt Danke an Käpt'n Blaubär für diesen Beitrag:
  • lkoch
Top
#3
Hallo Käpt'n Blaubär,
entschuldige bitte den Upload Fehler - jetzt sollte das Sheet unter dem Post abrufbar sein.
Beste Grüße
Top
#4
Hallo,

mit folgendem Makro werden die Daten in ein neues Arbeitsblatt geschrieben:

Sub DatenUmschaufeln()
 Dim vQuelle As Variant, vZiel As Variant
 Dim lngSpalte As Long, lngZeile As Long, lngZiel As Long
 
 vQuelle = Tabelle1.Cells(1).CurrentRegion.Value
 Redim vZiel(1 To Ubound(vQuelle, 1) * Ubound(vQuelle, 2), 1 To 2)
 
 For lngSpalte = 1 To Ubound(vQuelle, 2)
   For lngZeile = 2 To Ubound(vQuelle, 1)
     If vQuelle(lngZeile, lngSpalte) <> 0 Then
       lngZiel = lngZiel + 1
       vZiel(lngZiel, 1) = vQuelle(1, lngSpalte)
       vZiel(lngZiel, 2) = vQuelle(lngZeile, lngSpalte)
     Else
       Exit For
     End If
   Next lngZeile
 Next lngSpalte
 
 Worksheets.Add.Cells(1, 1).Resize(Ubound(vZiel, 1), Ubound(vZiel, 2)).Value = vZiel
End Sub

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • lkoch
Top
#5
Ein kleiner Ausschnitt deiner Daten, ist das so gemeint? (-> Mit Power Query)
Irgendwie widerspricht sich deine Textbeschreibung dem Muster darunter ...


Angehängte Dateien
.xlsx   GMG-CC - Zusatzspalte.xlsx (Größe: 16,49 KB / Downloads: 4)
Beste Grüße
  Günther

Excel-ist-sexy.de
  …schau doch mal rein!
Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
Top
#6
(05.04.2016, 15:23)Kuwer schrieb: mit folgendem Makro werden die Daten in ein neues Arbeitsblatt geschrieben

Hey Uwe,
es hat geklappt! Vielen vielen Dank für die schnelle Hilfe. Jetzt kann ich wieder weiter in den Daten wühlen :P
LG

PS: Auch an alle anderen ein großes Dankeschön für ihre Mithilfe - von meiner Seite aus wäre dieser Thread abgeschlossen (erfolgreich)
Top


Gehe zu:


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