Mr. D Geschrieben 24. Mai 2004 Geschrieben 24. Mai 2004 Hi, also ich hab ein kleines problem also ich hab ne If Abfrage die im moment auch funktioniert If zelle.Value >= "208444" And zelle.Value <= "208530" And Not zelle.Value = "208470" And Not zelle.Value = "208471" And Not zelle.Value = 208472 Then So jetzt möchte ich aber die Anweisung: zelle.Value >= "208444" And zelle.Value <= "208530" And Not zelle.Value = "208470" And Not zelle.Value = "208471" And Not zelle.Value = 208472 in einer Variable haben also: Abfrage = zelle.Value >= "208444" And zelle.Value <= "208530" And Not zelle.Value = "208470" And Not zelle.Value = "208471" And Not zelle.Value = 208472 so das funktuioniert aber nicht....er mekert rum "Objekt nicht definiert" woran kann das liegen? Also ganz am Schluss sollte es so aussehen: Abfrage=zelle.Value >= "208444" And zelle.Value <= "208530" And Not zelle.Value = "208470" And Not zelle.Value = "208471" And Not zelle.Value = 208472 ... ... If Abfrage Then ... ... Zitieren
robotto7831a Geschrieben 24. Mai 2004 Geschrieben 24. Mai 2004 Hallo, ich glaube nicht, dass das geht. Was für einen Datentype sollte denn dann die Variable Abfrage haben? Frank Zitieren
Mr. D Geschrieben 24. Mai 2004 Autor Geschrieben 24. Mai 2004 hmm das weiß ich no net ganz sogenau...vielleicht integer oder so,.... naja hintergrund dessen ist das die Abfrage später vom Benutzer selbst verändert werden kann ohne das dieser in den Quellcode rein muss. Also das es ne maske gibt die die Variable ausliest -> Benutzer kann änderungen machen -> variable einliest und dann halt das was er benutzer eingegeben hat dan abfrägt. Zitieren
-roTekuGeL- Geschrieben 24. Mai 2004 Geschrieben 24. Mai 2004 hmm das weiß ich no net ganz sogenau...vielleicht integer oder so,.... naja hintergrund dessen ist das die Abfrage später vom Benutzer selbst verändert werden kann ohne das dieser in den Quellcode rein muss. Also das es ne maske gibt die die Variable ausliest -> Benutzer kann änderungen machen -> variable einliest und dann halt das was er benutzer eingegeben hat dan abfrägt. das ganze geht sicherlich, aber nicht so wie du dir das vorstellst... beschreib doch mal etwas näher was der User alles auswählen können soll... Zitieren
Mr. D Geschrieben 24. Mai 2004 Autor Geschrieben 24. Mai 2004 Ok ich versuchs mal zu erklären: So jetzt gibt es ja schon die Abfrage irgendwo im Script, diese Abfrage soll "rausgeholt" werden und dem benutzer in einer Maske angezeigt werden. Danach kann der Benutzer(nachdem er die entsprechende abfrage gewählt hat, weil es mehrere sind) diese editieren, heißt er kann was hinzufügen zb. am schluss "and not zelle.value=999" oder was weglöschen. wenn er fertig ist soll die editierte abfrage gespeichert werden. Dan wenn er sein Script/Makro ausführt kommt irgendwo im script die abfrage die dan so ausgeführt werden soll wie der benutzer das voher verändert hat! ich hoffe das es jetzt verständlicher ist Zitieren
-roTekuGeL- Geschrieben 24. Mai 2004 Geschrieben 24. Mai 2004 oh also wenn du dir ne ganze Abfrage so aufbauen lassen willst wirds schwierig... weiß nicht obs ne Funktion gibt, mit der man Coding Interpretieren kann... Zitieren
Gast Geschrieben 24. Mai 2004 Geschrieben 24. Mai 2004 @ Mr. D Bevor Du die Variable "Abfrage" verwendest musst Du sie deklarieren. Dim Abfrage as Boolean Abfrage=(zelle.Value >= "208444") And (zelle.Value <= "208530") And Not (zelle.Value = "208470") And Not (zelle.Value = "208471") And Not (zelle.Value = 208472) ... ... If Abfrage Then ... ... Zitieren
-roTekuGeL- Geschrieben 24. Mai 2004 Geschrieben 24. Mai 2004 @ Mr. D Bevor Du die Variable "Abfrage" verwendest musst Du sie deklarieren. Dim Abfrage as Boolean Abfrage=(zelle.Value >= "208444") And (zelle.Value <= "208530") And Not (zelle.Value = "208470") And Not (zelle.Value = "208471") And Not (zelle.Value = 208472) ... ... If Abfrage Then ... ... ich glaube er hat es anders gemeint... also dass er die Abfrage in dem String speichert und dann ausführen kann... Zitieren
robotto7831a Geschrieben 24. Mai 2004 Geschrieben 24. Mai 2004 Soll der Benutzer SQL oder VBA schreiben? Frank Zitieren
-roTekuGeL- Geschrieben 24. Mai 2004 Geschrieben 24. Mai 2004 Soll der Benutzer SQL oder VBA schreiben? Frank also ohne jetzt genaueres zu wissen vermute ich mal VBA Zitieren
Mr. D Geschrieben 24. Mai 2004 Autor Geschrieben 24. Mai 2004 @LoneGunman ja hab ich aber als Integer *g* werds mal mit boolean versuchen sobald ich kann @palvoelgyi hmm eigentlich gar keine bzw sollte ohne datenbank funktionieren....man müsste den "text" doch auch in ne variable schreiben lassen können oder? Zitieren
Mr. D Geschrieben 24. Mai 2004 Autor Geschrieben 24. Mai 2004 hmm warum kann ich den jetzt nich editieren...naja egal... sorry hab mich falsch ausgedrückt bei meinem letzten post *zeigt nach oben* @palvoelgyi meinst du als Datenbank oder wie er den Text reinschreiben soll bzw die Änderung? also das dan in vba... Zitieren
NoOneKnows Geschrieben 24. Mai 2004 Geschrieben 24. Mai 2004 Sowas lässt sich über VBScript machen. Ist zwar eine üble Lösung, sollte aber funktionieren: Dim code As String Dim myScript As Object Set myScript = CreateObject("ScriptControl") code = "Function Test(meinValue)" & vbCrLf & _ "If meinValue > 2000 Then" & vbCrLf & _ "test = True" & vbCrLf & _ "Else" & vbCrLf & _ "test = False" & vbCrLf & _ "End If" & vbCrLf & _ "End Function" myScript.Language = "VBScript" myScript.AddCode code Debug.Print myScript.Run("Test", 2005) An der Stelle des script-codes kannst du dann die Bedingung einfügen und den Wert kannst du an die Funktion übergeben und bekommst das Ergebnis zurück. Hoffe das hilft dir weiter... Zitieren
Mr. D Geschrieben 24. Mai 2004 Autor Geschrieben 24. Mai 2004 Hi, also dein script sieht eigentlich ganz gut aus auser das es irgendwie net geht *gg* nee...ich kriegst in excel nicht zum laufen...er führts zwar aus aber aber er gibt nichts zurück....bzw der "Debug.Print myScript.Run("Test", 2005)" Befehl macht nichts..... Zitieren
NoOneKnows Geschrieben 24. Mai 2004 Geschrieben 24. Mai 2004 Okay, du kannst auch folgendes schreiben: Dim result As Boolean ... result = myScript.Run("Test", 2005) Dann steht im result eben das Ergebnis der Bedingung, also ob Wahr oder Falsch. Beim Debug.Print schreibt er das Ergebnis ins Direktfenster der Makro-IDE. Wenn du für 2005 eine kleinere Zahl einsetzt wirst du sehen, das es funzt... Zitieren
Mr. D Geschrieben 24. Mai 2004 Autor Geschrieben 24. Mai 2004 Wow!!! :uli es funktioniert soweit perfekt!! thx so jetzt erstelle ich mal alles und wenn es dan funktioniert dan bin ich wirklich happy Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.