String als Prüfung bei If-Abfrage

nammder

Mitglied
Moin!
Ich habe ein Problem beim Erstellen einer If-Abfrage
In einem Skript erstelle ich auf Grund verschiedener Kriterien einen String der später bei einer If-Abfrage geprüft werden soll.

Code:
PruefString = "InStr(zwString, sSuchText) = 0 And SucheNicht = False"

Nun soll später dieser String "PruefString" bei einer If-Abfrage verwendet werden, in etwa wie folgt:
Code:
If PruefString Then

         Columns(i).EntireColumn.Hidden = True
Else
         Columns(i).EntireColumn.Hidden = True
End If

Versuche ich das Skript wie oben beschrieben durchzuführen bekomme ich einen Fehler "Typen unveträglich: Laufzeitfehler 13"

Meine Frage daher, wie kann ich den String als Bedingung in der If-Abfrage verwenden?
Oder ist das gar nicht möglich.
Vielen Dank und Gruß
Stefan
 
Warum müssen die Parameter erst in den String und nicht gleich in die IF Abfrage?

Code:
PruefString = "InStr(zwString, sSuchText) = 0 And SucheNicht = False"

Wenn zwString und sSuchText Variablen sind, dürfen diese nicht unter Anführungszeichen stehen

Code:
PruefString = "InStr(" & zwString & "," & sSuchText & ") = 0 And SucheNicht = False"
 
Sub mySub
Dim PruefString as Boolean

Pruefstring=InStr(zwString, sSuchText) = 0 And SucheNicht = False

If Pruefstring Then
DoSomething
Else
DoSomethingElse
End IF

End Sub
 
Hallo Zusammen,
erstmal vielen Dank für eure Antworten.

@peppijunior: den String "PruefString" erzeuge ich Variabel, es steht also immer was anderes drinne und den String baue ich eben erst im Skript zusammen, daher speichere ich die Abfrage hier zwischen

@Zvoni: wegen dem oben beschriebenen Vorgehen, weiß ich noch nicht, ob das so funktionieren kann.

Gruß,
 
Hallo Zusammen,
erstmal vielen Dank für eure Antworten.

@peppijunior: den String "PruefString" erzeuge ich Variabel, es steht also immer was anderes drinne und den String baue ich eben erst im Skript zusammen, daher speichere ich die Abfrage hier zwischen

@Zvoni: wegen dem oben beschriebenen Vorgehen, weiß ich noch nicht, ob das so funktionieren kann.

Gruß,

Was ist variabel? Der komplette "PruefString" oder sind nur zwString und sSuchText variabel? Mit kompletter "PruefString" meine ich, kann es passieren, dass der PruefString mal

PruefString=Instr(blabla,blublu)=0 and SucheNicht=False

heissen kann, das nächste Mal aber

PruefString=Left(Blabla,8) And SucheNicht=False
heissen kann
 
Guten Morgen,

ja richtig, der komplette String "PruefString" ist Variabel. Sprich die Bedinungen ändern sich.

Gibt es da ne Möglichkeit, das zu lösen oder muss ich da umdenken?
Gruß, nammder
 
Guten Morgen,

ja richtig, der komplette String "PruefString" ist Variabel. Sprich die Bedinungen ändern sich.

Gibt es da ne Möglichkeit, das zu lösen oder muss ich da umdenken?
Gruß, nammder

Umdenken! Mir ist keine Programmiertechnik bekannt, die so etwas erlaubt. Du musst im Prinzip voraus denken und für jede Eventualität eine eigene Bedingung erstellen.
 
Moin!
Schade, dass mein erster Ansatz nicht funktionieren kann.
Na ja, dann werd ich halt umdenken und das Ganze hier beenden.

Danke trotzdem für die Hilfen.
Gruß, Stefan
 

Neue Beiträge

Zurück