PDA

Vollständige Version anzeigen : VBA if-Anweisung, Strings vergleichen


Marcel87
20.02.2009, 10:19
Hallo alle miteinander!

Ich habe folgenden Code-Schnipsel:



Dim sStr As String
Dim sSuche As String

'string der gefunden werden soll
sSuche = "windows"

'string der durchsucht werden soll, in diesem Fall eine Eigenschaft eines Visio-Shapes
sStr = vsoShape1.CellsSRC(visSectionProp, intPropRow2, visCustPropsValue).FormulaU

If InStr(1, sStr, sSuche, vbTextCompare) <> 0 Then

'Ausführen wenn "windows" im Feld "Betriebssystem" enthalten ist
MsgBox ("Windows Betriebssystem") 'Call RemoteDesktop()


Else

If sStr = "" Or sStr = "-" Then
'Ausführen wenn Feld "Betriebssystem" leer ist oder "-" enthält
MsgBox ("Kein Betriebssystem eingetragen!")

Else

'Ausführen wenn "windows" NICHT im Feld "Betriebssystem" enthalten ist
MsgBox ("Betriebssystem: " + sStr + ", bitte verwende einen SSH Client um mit dem Rechner eine Remoteverbindung herzustellen!")

End If

End If


Soweit klappt alles wunderbar, nur die 2. If-Anweisung will nicht so recht...
egal was ich für "If sStr .. Then" eintrage, es wird immer der untere Else zweig ausgeführt mit der MsgBox des Betriebssystems, auch wenn z.B. sStr = "-" ist!
Wie muss ich die Abfrage gestalten, dass, wenn sStr leer ist oder "-" enthält, ich eine MsgBox bekomme?... oder hab ich irgendwo anders was übersehen oder steh ich einfach nur aufm schlauch xD ?! Oo

Hoffe auf Hilfe :rolleyes:
MfG
Marcel

Marcel87
20.02.2009, 11:05
Kommando zurück! :D
Hab den Fehler gefunden...
Code ist richtig, doch sStr enthielt minimal andere Werte als gedacht!
Beim Auslesen aus einer Shape-Eigenschaft enthält der String vorne und hinten noch Gänsefüßchen / Anführungsstriche , schneidet man die ab, so funktioniert alles wie erhofft =)