Informationen und Beispiele zum Thema MsgBox | |
---|---|
![]() |
MsgBox-Seite mit Beispielarbeitsmappe aufrufen |
Betrifft: Variablen Wert trennen
von: Timothy
Geschrieben am: 27.01.2010 09:14:34
Hallo miteinander,
habe folgendes Problem:
Ich möchte gerne einen variablen Wert in verschiedenen Zellen trennen.
In einer Zelle steht z.B. xxxe#B, dann muß ich e#B von xxx trennen und e von B trennen (für xxx und # will ich später eine andere Variable einsetzen).
In der nächsten steht z.B. nur xxx, dann muß ich gar nur xxx ausgeben.
In der nächsten steht z.B. xxxB, dann muß ich wieder B von xxx trennen.
In der nächsten steht z.B. xxx#G, dann muß ich G von xxx trennen.
-> Diese 4 Möglichkeiten gibt es, das xxx ist immer gleich und 3 Zeichen lang!
Ich würde es gerne so machen, dass ich schaue ob nach xxx etwas angehängt ist, wenn ja dann: 1. xxx mit Buchstaben ohne das Zeichen "#" (z.B. xxxB) dann ist Suffix(1) = der Buchstabe und _ Suffix(2)="" 2. xxx alleine ohne Zusatz (z.B. xxx) dann ist Suffix(1) = "" und Suffix(2) = "" 3. xxx mit Buchstabe und nach "#" ein Buchstabe (z.B. xxxe#B) dann ist Suffix(1)=e und Suffix(2) _ =B 4. xxx mit einem Buchstabe nach "#" (z.B. xxx#G) dann ist Suffix(1)="" und Suffix(2)=G
Betrifft: AW: Variablen Wert trennen
von: Rudi Maintaire
Geschrieben am: 27.01.2010 09:56:07
Hallo,
sowas?
Function Trennen(sText As String) Select Case Len(sText) Case 3: Trennen = Array(sText, "", "") Case 4: Trennen = Array(Left(sText, 3), Right(sText, 1), "") Case 5: Trennen = Array(Left(sText, 3), "", Right(sText, 1)) Case 6: Trennen = Array(Left(sText, 3), Mid(sText, 4, 1), Right(sText, 1)) End Select End Function
Sub tt() Const sText As String = "xxxB#E" MsgBox Trennen(sText)(0) & vbLf & Trennen(sText)(1) & vbLf & Trennen(sText)(2) End Sub
Betrifft: AW: Variablen Wert trennen
von: Timothy
Geschrieben am: 27.01.2010 10:11:54
Hallo Rudi,
ah, also nicht mit Split() arbeiten.......!! Danke!!
Passt soweit, nur kann es jetzt natürlich sein, dass ich einen Wert "xxxabc#cba" habe, also Trennen(swert) (1) und Trennen(swert) (2) können mehrere Zeichen haben. Dann funktioniert dein Code leider nicht....
Betrifft: AW: Variablen Wert trennen
von: Rudi Maintaire
Geschrieben am: 27.01.2010 10:32:23
Hallo,
dann splitten wir doch.
Function Trennen(sText As String) Dim sTmp sTmp = Split(sText, "#") Select Case UBound(sTmp) Case 0 If Len(sTmp(0)) = 3 Then Trennen = Array(sTmp(0), "", "") Else Trennen = Array(Left(sTmp(0), 3), Mid(sTmp(0), 4), "") End If Case 1 If Len(sTmp(0)) = 3 Then Trennen = Array(sTmp(0), "", sTmp(1)) Else Trennen = Array(Left(sTmp(0), 3), Mid(sTmp(0), 4), sTmp(1)) End If End Select End Function
Sub tt() Const sText As String = "xxxjkl#ght" MsgBox Trennen(sText)(0) & vbLf & Trennen(sText)(1) & vbLf & Trennen(sText)(2) End Sub
Betrifft: AW: Variablen Wert trennen
von: Timothy
Geschrieben am: 27.01.2010 10:43:58
Weltklasse Rudi,
jetzt geht auch das!!!! Vielen Dank!!!!
Und ich hab die ganze Zeit hin und her versucht...;);) Super, geile Sache!!
Gruß
Tim
Betrifft: AW: Variablen Wert trennen
von: Timothy
Geschrieben am: 27.01.2010 11:08:18
Ah, jetzt hab ich doch noch was vergessen....
Ich darf einer Constanten doch keine Variable zuordnen. Mein Wert ändert sich aber von Zelle zu Zelle ;)
Wie kann ich das dann machen???
Sub tt() Const sText As String = "xxxjkl#ght" MsgBox Trennen(sText)(0) & vbLf & Trennen(sText)(1) & vbLf & Trennen(sText)(2) End Sub
Betrifft: AW: Variablen Wert trennen
von: Timothy
Geschrieben am: 27.01.2010 11:13:00
Stopp,
alles klar, funktioniert.....;);) War ich wieder zu voreilig......!!!
Danke trotzdem!