Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen

String

Betrifft: String
von: Jan
Geschrieben am: 11.04.2003 - 17:22:31

Gibt es eine Möglichkeit in einem String:
vertex:struct(x:0.568800000mm,y:0.652800000mm,z:23.652300000mm)
genau die Zahlen mit den Einheiten herauszufiltern.
Ich möchte danach einen Wert für x, y, z haben. Am besten noch mit Einheit. Es könnte statt mm auch m stehen
Vielen Dank für eure Mühen.
Jan

  

Ergänzung
von: Jan
Geschrieben am: 11.04.2003 - 17:33:54

In dem String können aber auch zufällig Leerzeichen vorkommen.:

vertex_____:struct(x:______0.68800000_____mm,y: 652800000___mm,z:____23.652300000_______mm)
Unterstriche sind beliebige Zahl von Lehrzeichen.
Geht es dass ich z.B nach dem 3.":" suche und dann bis zum nächsten "," oder ")" einlese.
Danke

  

Re: Ergänzung
von: Michael Scheffler
Geschrieben am: 11.04.2003 - 17:43:09

Hi,

schau Dir mal die Funktionen "InStr" (prüft, wo ein Teilstring im String ist), "Left" (liefert Dir den linken Teil des Trings zurück) und "Mid" bzw. "Right" an.

Das Ganze in eine Schleife packen. Beim dritten Auftauchen eines Doppelpunkts schneidest Du den Rest heraus.

Gruß

Micha

  

Re: String
von: ChrisL
Geschrieben am: 11.04.2003 - 18:01:45

Hallo Jan

Habe mich mal an der Aufgabe versucht, allerdings habe ich die Leerzeichen nicht berücksichtigt. Müsste dazu auch noch tiefer grübeln aber muss jetzt weg. (glaube im XP gibts sowas wie Replace(String, " ", "") oder ähnlich. Wenigstens ein Anfang...

Option Explicit

Private Sub CommandButton1_Click()
Dim SuchString As String, XWert As String, YWert As String, ZWert As String
Dim PositionKlammer As Byte, PositionKomma As Byte

SuchString = "vertex:struct(x:0.568800000mm,y:0.652800000mm,z:23.652300000mm)"

'Werte zwischen Klammern ausschneiden
PositionKlammer = InStr(SuchString, "(")
SuchString = Mid(SuchString, PositionKlammer + 1, Len(SuchString) - PositionKlammer - 1)

'X Wert ermitteln
PositionKomma = InStr(SuchString, ",")
XWert = Mid(SuchString, 3, PositionKomma - 3)
SuchString = Mid(SuchString, PositionKomma + 1, Len(SuchString) - PositionKomma)

'Y Wert ermitteln
PositionKomma = InStr(SuchString, ",")
YWert = Mid(SuchString, 3, PositionKomma - 3)
SuchString = Mid(SuchString, PositionKomma + 1, Len(SuchString) - PositionKomma)

'Z Wert ermitteln
ZWert = Mid(SuchString, 3, Len(SuchString) - 3)

MsgBox XWert
MsgBox YWert
MsgBox ZWert
End Sub


Gruss
Chris


  

Re: String
von: Jan
Geschrieben am: 11.04.2003 - 18:04:30

Danke,
werde ich montag gleich versuchen.
Jan

 

Beiträge aus den Excel-Beispielen zum Thema "String"