Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1756to1760
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Systematisches verbinden Senkrecht

Systematisches verbinden Senkrecht
06.05.2020 11:50:36
Martin
Hallo Zusammen,
nachfolgend habe ich eine Beispieltabelle hochgeladen, die mein Problem veranschaulicht.
https:\/\/www.herber.de/bbs/user/137304.xlsx
Es geht um einen Export, den ich für einen Import an anderer Stelle aufbereiten muss. Obwohl das im gleichen System passiert.
Eine ID hat mehrere Steps und in einem Step befinden sich .U. mehrere Zeilen Text. Leider wird das vom Export in eine eigene Zelle geschrieben. Mein Problem ist es die Zellen zu verbinden. Es sind insgesamt 7000 Zeilen. Da ist manuelle Arbeit sinnlos.
Meine Wenn-Formel war ziemlich lang und war dann obsolet, nachdem an Stelle X die Zeile eines neuen Steps angefügt wurde. Hier soll die Zusammenfügung neu beginnen.
Hoffentlich ist das als erste Erklärung ausreichend. Als Kurzfassung: Zusammenfügung der Spalte D, bis in Spalte C eine neue Nummer kommt.
Vielen Dank
Grüße
Martin

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: so noch nicht eindeutig ...
06.05.2020 12:01:35
neopa
Hallo Martin,
... stell doch bitte man in Deiner Beispieldatei auch dar, wie Dein angestrebtes Ergebnis dafür aussehen soll.
Gruß Werner
.. , - ...
Mit neuem Excel (365 oder -Online)
06.05.2020 12:03:38
lupo1
E2: =WENNFEHLER(WENN(ODER(B2;C2);TEXTVERKETTEN(;;D2:INDEX(D:D;MIN(WENN(C3:C$9999;ZEILE(C2:C$9998))))));"")
runterziehen und dann filtern nach &gt"". Letzte Zeile manuell korrigieren.
Aufgabenstellung unverständlich
06.05.2020 12:05:45
Martin
Hallo Namensvetter,
deine Aufgabenstellung wäre wesentlich verständlicher, wenn du auch das gewünschte Ergebnis darstellen würdest. Suchst du explizit nach nach einer Formellösung oder ist VBA auch erlaubt?
Viele Grüße
Martin
Anzeige
AW: Systematisches verbinden Senkrecht
06.05.2020 12:54:24
Martin
Danke für die Vorschläge
Hier die neue Version: https:\/\/www.herber.de/bbs/user/137307.xlsx
Sie enthält in Tabelle 2 das gewünschte Resultat
Währenddessen passe ich die Formel an. Es darf auch VBA sein
AW: Systematisches verbinden Senkrecht
06.05.2020 13:18:52
Martin
Hallo Martin,
bitte teste mal nachfolgendes Makro:
Sub Stepper()
Dim iLastRow As Long, iRow As Long
Dim strSteps As String
iLastRow = Cells(Columns(4).Cells.Count, 4).End(xlUp).Row
For iRow = iLastRow To 3 Step -1
strSteps = Cells(iRow, 4) & " " & strSteps
If Cells(iRow, 3)  "" Then
Cells(iRow, 5) = strSteps
strSteps = ""
End If
Next
End Sub
Die gewünschten Ergebnisse werde jetzt in Spalte E geschrieben. Ich wollte nur, dass du eine Kontrollmöglichkeit hast. Wenn alles passt, kannst du Spalte D ja löschen und die nicht mehr benötigten Zeilen einfach per Autofilter löschen. Aber wenn es dir wichtig ist, dann kann ich auch das Löschen der Zeilen per VBA umsetzen.
Übrigens hast du in deiner Beispieldatei bei StepID 100 keine Leerzeichen zwischen die Buchstaben gesetzt, bei SpepID 101 und 201 hingegen schon.
Viele Grüße
Martin
Anzeige
Lösung wie vorgegeben
06.05.2020 13:37:11
Martin
Hallo Martin,
ich habe den Code jetzt noch so angepasst, dass die Zeilen entsprechend deiner Beispieldatei gleich gelöscht und die Ergebnisse direkt in Spalte D geschrieben werden:
Sub Stepper()
Dim iLastRow As Long, iRow As Long
Dim strSteps As String
iLastRow = Cells(Columns(4).Cells.Count, 4).End(xlUp).Row
For iRow = iLastRow To 3 Step -1
strSteps = Cells(iRow, 4) & " " & strSteps
If Cells(iRow, 3)  "" Then
Cells(iRow, 4) = strSteps
strSteps = ""
ElseIf Cells(iRow, 1) = "" Then
Rows(iRow).Delete
End If
Next
End Sub
Über ein kurzes Feedback würde ich mich freuen.
Viele Grüße
Martin
Anzeige
AW: Lösung wie vorgegeben
06.05.2020 13:57:24
Martin
Das funktioniert schon mal wunderbar. Ich habe noch statt dem Leerzeichen ein Chr(10) eingefügt. Mit dem Leerzeichen am Ende kann ich leben. Das kann man noch entfernen.
Jetzt übertrage ich es noch ins Original. Vielen Dank
AW: Lösung wie vorgegeben
06.05.2020 14:03:44
Martin
Danke für das Feedback. Mit der Funktion TRIM kannst du ungewollte Leerzeichen entfernen:
strSteps = Trim(Cells(iRow, 4) & " " & strSteps)
Viele Grüße
Martin
So macht Helfen keinen Spass...
06.05.2020 13:24:29
EtoPHG
Martin,
Was bitte ist der Grund, das für StepId 100 der Step(text) nur aus C besteht?
Was macht es so schwierig das Problem stringent zu beschreiben?
Gruess Hansueli
Anzeige
1 Frage beantwortet, 2te nicht!
06.05.2020 13:27:44
EtoPHG
Hallo Martin W.,
Was soll den nun das Endresultat sein? Verketten mit Umbrüchen, oder Verketten mit Leerzeichen?
Gruess Hansueli (...auf der Wurmsuche in Nasen...)
AW: alternatiiv mit nur 1ner Formel+Autofilter ...
06.05.2020 13:56:42
neopa
Hallo Martin,
... und ausgeblendeter Spalte D sowie Hilfsspalten nach Spalte E.
Folgende Formel in E2:
=WENN(($B2&gt0)*(SPALTE()=5);"_";WENN(($D2="")+($C2="");"";WENN(($C2&gt0)*SPALTE(A2)&lt=WENNFEHLER(VERGLEICH(1;INDEX(($C3:$C8&gt0)+0;);0);1);INDEX($D:$D;ZEILE()+SPALTE(A2)-1)&WENN(F2="";"";ZEICHEN(10)&F2);"")))
Formel weit genug nach rechts und dann alles nach ziehend kopieren
In Spalte E den Autofilter setzen und damit alle echt leeren Zeilenwerte ausblenden.
(in =WENN($B2&gt0;"_"; ... steht bei mir für das "_" das Zeichen [Alt]+255)
Gruß Werner
.. , - ...
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige