Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Excel VBA, Zelleninhalt umdrehen

Excel VBA, Zelleninhalt umdrehen
12.08.2022 17:20:23
ErEl
Hallo Ihr VBA Expertinnen, Experten,
ich habe bur geringfügige VBA Kenntnisse möchte jedoch gerne folgende Aufgabe lösen, bin leider bisher nicht fündig geworden und drehe mich im Kreis, daher würde ich mich auf Euere Unterstützung sehr freuen. Ich möchte gern den Zelleninhalt von bestimmten Zellen, die mehrere Zeilenumbrüche enthält reversieren (umdrehen).
Der Text einer Zeile enthält immer das aktuelle Datum sowie eine Namensabkürzung, gefolgt von einem Doppelpunkt. Den Doppelpunkt ":" könnte man als delimiter verwenden (das habe ich auch gemacht).
Zum Verständnis soll folgendes Beispiel dienen.
VORHER:
03.02.2022, EE: 9876
15.03.2022, EE: XYZ
25.04.2022, EE: 1234
10.05.2022, EE: ABC
NACHHER:
10.05.2022, EE: ABC
25.04.2022, EE: 1234
15.03.2022, EE: XYZ
03.02.2022, EE: 9876
Ich habe auch versucht die Aufgabe durch Hilfszellen zu lösen. Meine Idee war dabei,
- den Zelleninhalt gemäß der "SPLIT Funktion" auf mehrere Zellen zu verteilen,
- danach in umgekehrte Reihenfolge in eine andere Zelle zu schreiben.
-> jedoch wird die Zelle dabei immer überschrieben, das darf jedoch nicht passieren
-> die Texte müsste man alle eben in umgekehrte Reihenfolge wiedergeben (ich konnte sie quasi nicht verketten)
- zum Schluss den Inhalt der Hilfszellen wider löschen
Ich lade mal meine Datei hoch, inder Hoffnung das jmd. mir schnell helfen könnte.
Schonmal vielen Dank im Voraus.
MfG, erel

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel VBA, Zelleninhalt umdrehen
12.08.2022 20:11:36
Daniel
Hi
probier mal diese Funktion:

Function Umdrehen(txt As String, Optional Trz As String = vbLf) As String
Dim T1, T2
Dim i As Long
T1 = Split(txt, Trz)
ReDim T2(-UBound(T1) To 0)
For i = 0 To UBound(T1)
T2(-i) = T1(i)
Next
Umdrehen = Join(T2, Trz)
End Function
code in ein allgemeines Modul einfügen und beispielsweise als Funktion in B2 einsetzen: =Umdrehen(A2)
oder in einem eigenen Makro verwenden.
Gruß Daniel
Anzeige
AW: Excel VBA, Zelleninhalt umdrehen
14.08.2022 17:01:51
erel
Hallo Daniel,
vielen herzlichen Dank für das schnelle Feedback. Im Grundegenommen funktioneirt Dein Code super als Funktion (=Umdrehen(Ax).
Jedoch hat das in meinem Fall einen Nachteil, man kann keinen weiteren Text mehr in die jeweilige Zelle schreiben. In meinem Fall handelt es sich um ein lebendes Dokument, um eine offene Punkte Liste. Daher würde ich mich sehr freuen, wenn ich den Code als fertige Makro haben könnte, ich habe es nicht hinbekommen.
VG, Erel
AW: Excel VBA, Zelleninhalt umdrehen
15.08.2022 15:31:18
Daniel
das ist ein fertiges Makro, das du beliebig einsetzen kannst.
für ein vollständiges Makro müsstest du auch vollständige Daten liefern, inklusiver vollständiger genauer Beschreibung, was das Makro machen soll.
wir sind keine hellseher
wenn der Zellinhalt aus mehreren Teilen besteht von dem nur ein Teil umgedreht werden soll, dann kannst du ja die Funktion ein eine größere Formel einbetten:

=Teil1 & Umdrehen(Teil 2) & Teil3
dann wird nur der Teil2 umgedreht und Teil1 und Teil2 bleibt so wie er ist.
oder du passt dir die Funktion entsprechend an.

Function Umdrehen(txt As String, Optional Trz As String = vbLf) As String
Dim T1, T2
Dim i As Long
T1 = Split(txt, Trz)
i = UBound(T1)
ReDim T2(-i To 0)
T2(0) = T1(i)
T2(-i) = T1(0)
For i = 1 To UBound(T1) - 1
T2(-i) = T1(i)
Next
Umdrehen = Join(T2, Trz)
End Function
du kannst dir die Funktion auch umbauen, wenn du beispielsweise möchtest, dass die erste und letzte Zeile bleiben, dann geht das auch so:
Anzeige
AW: Excel VBA, Zelleninhalt umdrehen
12.08.2022 17:30:41
onur
1) Und wo ist jetzt die Datei?
2) Ich würde, statt die Symptome zu bekämpfen, die Ursache des Übels beseitigen: Warum musst du denn mehrere Datensätze in eine einzige Zeile quetschen? Für sowas ist Excel nicht erstellt worden.
AW: Excel VBA, Zelleninhalt umdrehen
14.08.2022 17:10:49
erel
Hallo Onur,
vielen Dank für Dein schnelles Feedback. Da ich neu in diesem Formum bin, konnte ich die Datei nicht auf Anhieb uploaden, daher konnte ich sie erst im zweiten Schritt uploaden, sie befindet sich unter Antwort. In meinem Fall handelt es sich um ein lebendes Dokument, um eine offene Punkte Liste. Daher ist es durchaus üblich, dass man in eine Zelle mehrere Zeilen Text schreibt. Z.B. wöchentlich den Status zu einem bestimmten Punkt eintragen.
Übrigens, Daniel konnte die Datei auch finden :-)
VG, Erel
Anzeige

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige