Herbers Excel-Forum - das Archiv

VBA Makro: String Funktionen

Bild

Betrifft: VBA Makro: String Funktionen
von: murir

Geschrieben am: 05.04.2005 09:32:46
Hallo,
Ich habe in einer Spalte einer Excel Tabelle folgende Daten:
CN=KV_LAP1,OU=Light,OU=Wirtschaft,OU=User,DC=berufzug,DC=ch
CN=KV_LAP12,OU=Light,OU=Wirtschaft,OU=User,DC=berufzug,DC=ch
etc..
Diese stammen aus einem LDAP Export aus unserem ADS. Nun möchte ich die Daten der Spalten ein bisschen Formatieren damit es nachher so aussieht:
z.B.
Wirtschaft\KV_LAP1
Wirtschaft\KV_LAP12
Also soll er beim 2. OU= den Teil bis zum nächsten , abschneiden, einen \ hinnzufügen und dann der Teil von CN= bis zum nächsten komma abschneiden und nach dem \ hinzufügen. Und das soll dann in der Zelle stehen.
Hat jemand eine Idee wie ich das am besten machen könnte?
Bin für jede Hilfe dankbar.
Gruss
Bild

Betrifft: nur als Formel
von: Panicman

Geschrieben am: 05.04.2005 10:26:19
Hallo murir,
ich kann dir nur mit einer Formel helfen:
Spalte A stehen deine Texte
Spalte B diese Formel für
B1 =TEIL(A1;SUCHEN("OU";A1;SUCHEN("OU";A1;1)+1)+3;SUCHEN(",";A1;SUCHEN("OU";A1;SUCHEN("OU";A1;1)+1)+3)-(SUCHEN("OU";A1;SUCHEN("OU";A1;1)+1)+3))&"\"&TEIL(A1;4;SUCHEN(",";A1;1)-4)
und runterkopieren.
Gruß
Holger
Bild

Betrifft: AW: VBA Makro: String Funktionen
von: Tom

Geschrieben am: 05.04.2005 10:28:44
ich hätte einen sehr umständlichen Lösungsvorschlag anzubieten, kann es dir aber leider nicht programmieren, da ich mit VBA schon ne zeit lang nicht mehr gearbeitet habe.
duchsuch den string nach den Kommata und schreib die stellen an denen du ein Komma gefunden hast in Variablen.
dann kannst den string mit LeftString nach und nach ausschneiden und in weitere Strings schreiben die du dann anschließend wieder zusammansetzen kannst.
Left(String, n) oder
Left$(String, n)
ist nur so ein gedankengang, sry das es nicht konkreter geht.
Bild

Betrifft: AW: VBA Makro: String Funktionen
von: u_

Geschrieben am: 05.04.2005 10:37:27
Hallo,
ungetestet:
Sub test()
Dim K1 As Integer, K2 As Integer, OU2 As Integer, i As Integer
Dim strOU2 As String, str1 As String
Application.ScreenUpdating = False
For i = 1 To Cells(65536, 1).End(xlUp).Row
OU2 = InStr(InStr(1, Cells(i, 1), "OU=") + 3, Cells(i, 1), "OU=") + 3
K1 = InStr(Cells(i, 1), ",")
str1 = Mid(Cells(i, 1), 4, K1 - 4)
K2 = InStr(OU2, Cells(i, 1), ",")
strOU2 = Mid(Cells(i, 1), OU2, K2 - OU2)
Cells(i, 1) = strOU2 & "\" & str1
Next i
Application.ScreenUpdating = True
End Sub

Gruß
 Bild
Excel-Beispiele zum Thema "VBA Makro: String Funktionen"
Nach Textimport Strings in Zahlen wandeln Textstring in berechenbare Formel umwandeln
Zahlenstring mit Formel auslesen und Fehlermeldung verhindern Wertermittlung in Abhängigkeit eines Zeichens in einem String
Sortierung mit Formel-Leerstrings am Ende Stringeingaben von HHMM und HHMMSS in Zeit wandeln
Aufteilen eines Strings mit Zeilenumbrüchen Aufhebung der Suchstringbegrenzung von 255 Zeichen
Strings, die wie Zahlen aussehen, in Zahlen umwandeln Aus einem String mit Datumsangabe das Jahr auslesen