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

Daten sortieren in String nach zeichen Array

Daten sortieren in String nach zeichen Array
chris
Hallo VBa Experten, ich muss euch heute mal wieder um Hilfe bitten.
ich habe einen Code(unten) dieser steckt in einer schleife (xx)
in dieser Schleifen füge ich namen hinzu.
In jeder zelle steht ein name und ein kürzel.Das kürzel kommt nach dem 2 leerzeichen.
Also z.b
"Christian" "Nachname" "AKürzel" "usw..."
"Michael" "Nachname" "FKürzel" "usw... "
"Thomas" "Nachname" "BKürzel" "usw... "
Jetzt füge ich diese in eine Variable ein mit einem zeilenumbruch nach jeder zeile chr(10) (siehe unten)
leider sind die Daten aber nicht so sortiert wie ich das gerne hätte.Da ist auch schon das Problem.
Es soll nicht nach dem namen sortiert werden sondern nach dem Kürzel.Also nach Kürzel.
Wie könnte ich das in VBA umsetzen ?
Also das in der variable Unterschriften die ganzen Namen sortiert nach kürzel stehen.
Unterschriften = Unterschriften & Chr(10) & User.Worksheets("daten").Cells(Zeile_Db, xx)
ich hoffe ihr könnt mir helfen.
Würde mich sehr freuen.
Danke
Gruß Chris

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

Betreff
Benutzer
Anzeige
AW: Daten sortieren in String nach zeichen Array
06.10.2009 17:21:51
Tino
Hallo,
bin mir nicht sicher ob Du es so meinst, drücke auf den Button in der Tabelle.
https://www.herber.de/bbs/user/64914.xls
Gruß Tino
AW: Daten sortieren in String nach zeichen Array
06.10.2009 19:57:22
chris
Tino absolut genau das was ich gesucht habe !!!!!!!!
Vielen Dank und schönen Abend noch !
AW: Noch einmal offen Tino ?! danke
07.10.2009 08:23:03
chris
Hallo Tino,
wie schon gestern gesagt klappt es perfekt.
Nur ein problem gibt es noch.
ich habe die Namen und Kürzel schon in einem Array und nicht in einer Tabelle.
das Array sieht so aus:
vor1 Michael Dkürzel1
vor2 Guenter Bkürzel2
usw..
Und das Array ist eigentlich kein Array sondern ein String.
Aber in dem String sind schon nach jedem Kürzel zeilenumbrüche also chr(10)
Wie kann ich dein sortier Makro auf diesen String anwenden ?
Würde mich noch einmal sehr über Hilfe freuen.
Vielen dank
Anzeige
AW: Noch einmal offen Tino ?! danke
07.10.2009 15:30:25
Tino
Hallo,
versuche mal und ersetzen den Code in Modul2 durch diesen.
Sub SortiereString()
Dim Bereich As Range
Dim meAr, tempAr(), TextAr
Dim A As Long, AA As Long
Dim strMeinText As String

strMeinText = "Christian Nachname AKürzel" & Chr(10) & _
              "Michael Nachname FKürzel" & Chr(10) & _
              "Christian Nachname AKürzel" & Chr(10) & _
              "Michael Nachname FKürzel" & Chr(10) & _
              "Christian Nachname AKürzel" & Chr(10) & _
              "Michael Nachname FKürzel" & Chr(10) & _
              "Christian Nachname AKürzel" & Chr(10) & _
              "Michael Nachname FKürzel" & Chr(10) & _
              "Christian Nachname AKürzel" & Chr(10) & _
              "Michael Nachname FKürzel" & Chr(10) & _
              "Christian Nachname AKürzel" & Chr(10) & _
              "Michael Nachname FKürzel" & Chr(10) & _
              "Thomas Nachname BKürzel"

meAr = Split(strMeinText, Chr(10))

Redim Preserve tempAr(Ubound(meAr), 0)

For A = 0 To Ubound(meAr)
    If InStr(meAr(A), " ") > 0 Then
        TextAr = Split(meAr(A), " ")
        For AA = Lbound(TextAr) To Ubound(TextAr)
            If AA > Ubound(tempAr, 2) Then Redim Preserve tempAr(Ubound(tempAr), AA)
            tempAr(A, AA) = TextAr(AA)
        Next AA
    End If
Next A

prcQuickSort Lbound(tempAr), Ubound(tempAr), 2, True, tempAr

strMeinText = ""

For A = 0 To Ubound(tempAr)
   
    For AA = 0 To Ubound(tempAr, 2)
     strMeinText = strMeinText & tempAr(A, AA)
     If AA < Ubound(tempAr, 2) Then strMeinText = strMeinText & " "
    Next AA
    If A < Ubound(tempAr) Then strMeinText = strMeinText & Chr(13)
Next A

 MsgBox strMeinText
End Sub
Gruß Tino
Anzeige
AW: Daten sortieren in String nach zeichen Array
06.10.2009 19:42:02
Chris
Servus Namensvetter,
ich hab hier auch noch was (etwas anders als bei Tino und mit Erklärung), aber ich denke die Lösung von Tino ist sehr gut.
https://www.herber.de/bbs/user/64916.xls
Makro mit Alt+F8 ausführen.
Gruß
Chris
AW: Daten sortieren in String nach zeichen Array
06.10.2009 19:58:41
chris
Hallo Chris,
auch Dir noch einmal vielen dank !
gruß Chris :)

301 Forumthreads zu ähnlichen Themen


Hallo
ich habe ein Problem. Vielleicht ist es schwierig, vielleicht aber auch nicht.
Ich habe eine Text-Datei mit Spaltentrennzeichen "|" (besser als ";" der Übersichtlichtlichkeit halber) und verschiedenen Längen der Spalten.
Ich will diese in Excel überarbeiten und als Text-Dat...
Anzeige

Hallo Leute,
ich benötige mal Eure Hilfe. Ich würde gerne über ein Makro den Zellinhalt teilen. In der Zelle können folgende Kombinationen vorkommen:
Testeintrag 1 Testwert 1 -> Testeintrag 2 Testwert 2
oder
Testeintrag 1 Testwert 1 -> Testeintrag 2 Testwert 2 -> Testei...

Hallo!
Manchmal wird bei der Eingabe eines längeren Textes in eine Zelle ein Return gesetzt. Wenn man dann diese Datei in ein Textfile speichert, so erhält man in der Textdatei an diesen Stellen ein leeres Quadrat. Wie kann man bitte verhindern, dass in der Textdatei solche Zeichen gesetzt...
Anzeige

Mahlzeit zusammen.
Folgende Aufgabenstellung versuche ich zu lösen:
Liste mitz ca. 5.000 Zeilen, bestehend aus Artikelnummer, Bezedichnung und Preis.
Die Länge der Datensätze ist unterschiedlich, die Anzahl der Leerstellen dazwischen auch.
Ich möchte nun die Artikelnummer (alph...

Liebes Forum,
ich suche ein Macro welches mir alle Zeichen links vom "-" (Minus) in eine neue Spalte B und alle Zeichen rechts vom Minus in die neue Spalte C kopiert. Das "-" (Minus) kann ggf. öfter vor kommen, ich möchte es nur auf das erste von links beziehen.
Konkret
Textxyz 79.x...

Liebes Forum,
ich suche ein Macro welches mir alle Zeichen links vom "-" (Minus) in eine neue Spalte B und alle Zeichen rechts vom Minus in die neue Spalte C kopiert. Das "-" (Minus) kann ggf. öfter vor kommen, ich möchte es nur auf das erste von links beziehen.
Konkret
Textxyz 79.x...
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige