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

Beiträge aus den Excel-Beispielen zum Thema "VBA Makro: String Funktionen"