WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 05.08.2004, 09:10   #1
|\/| E P H I S t 0
Senior Member
 
Registriert seit: 08.11.2003
Beiträge: 117


|\/| E P H I S t 0 eine Nachricht über ICQ schicken
Standard VBA: Vergleichen von Ergebnissen

Hallo!


Ich bin VBA Noob, und würd gern wissen warum folgendes nicht funktioniert:

[...]------------------------------------------------------------
Randomize
Dim z1, z2, erg, antwre

z1 = Int((100 * Rnd) + 1)
z2 = Int((100 * Rnd) + 1)
erg = z1 + z2

antwre = InputBox("Was ist " & z1 & " + " & z2 & " ?", "Rechenaufgabe")
If antwre = erg Then
GoTo mehrr
Else
GoTo mehrf
End If
[...]-------------------------------------------------------------

Es sollte folgendes machen: Rechenbeispiel stellen, bei Richtiger Antwort zur Marke "mehrr" springen, bei falscher zur "mehrf", er springt jedoch immer zu "mehrf", auch bei richtigem Ergebnis.

Was hab ich da falsch gemacht?
(Ich weiß, is ne dumme Frage, und ziemlich "noob-haft", aber jeder fängt mal an.

Dankes
____________________________________
Never touch a running System!

error 042# - please restart this matrix![OK]

\"Eine ausreichend fortgeschrittene Technologie ist von Magie nich mehr zu unterscheiden.\" - Arthur C. Clarke
\"Es ist schwieriger, ein Vorurteil zu zertrümmern, als ein Atom.\" - Albert Einstein


Geändert von einer höheren Macht am 21. Feb 1988 um 23:18
|\/| E P H I S t 0 ist offline   Mit Zitat antworten
Alt 05.08.2004, 09:35   #2
xlazarus
Jr. Member
 
Registriert seit: 13.07.2004
Alter: 47
Beiträge: 71


Idee

Naja, jeder Anfang ist schwer.
... aber über Syntax kann man ja streiten.


Ich denke mal, du solltest vielleicht den Rückgabewert von :

antwre = CInt(inputbox(.....))


auf integer casten, denn sonst vergleichst du ja einen String mit einem Intergerwert, und das ist in Folge immer falsch!
... generell würde ich dir überhaupt empfehlen, deine Variablen ordentlich zu deklarieren, denn da fallen dir solche Fehler schneller auf.

Dim i,y,x as Interger
Dim wort as String

.. etc.

ich hoffe das hilft dir,
XL
____________________________________
give all that you can,
and you\'ll get more than
you need!
\"XL\"
xlazarus ist offline   Mit Zitat antworten
Alt 05.08.2004, 09:37   #3
|\/| E P H I S t 0
Senior Member
 
Registriert seit: 08.11.2003
Beiträge: 117


|\/| E P H I S t 0 eine Nachricht über ICQ schicken
Standard

Des weiteren funktioniert mein "Auto-Aktualisierungs-Makro" auch nicht so ganz wie ich mir das vorstelle:


---------------------------------------------------------------
Worksheets("Tabelle2").Range("A1").FormulaR1C1 = Now()
---------------------------------------------------------------

das sollte jede volle Sekunde ausgeführt werden. Mit GoTo oder Do Loop hat sich Excel jedoch immer aufgehängt:

---------------------------------------------------------------
Top:
Worksheets("Tabelle2").Range("A1").FormulaR1C1 = Now()
If Application.Wait(Now + TimeValue("0:00:01")) Then GoTo Top
---------------------------------------------------------------

was ja auch verständlich ist, da er in einer Endlos-Schleife landet.
Aber es muss doch möglich sein das mit geringe Systemleistung zu Automatisieren, oder?
____________________________________
Never touch a running System!

error 042# - please restart this matrix![OK]

\"Eine ausreichend fortgeschrittene Technologie ist von Magie nich mehr zu unterscheiden.\" - Arthur C. Clarke
\"Es ist schwieriger, ein Vorurteil zu zertrümmern, als ein Atom.\" - Albert Einstein


Geändert von einer höheren Macht am 21. Feb 1988 um 23:18
|\/| E P H I S t 0 ist offline   Mit Zitat antworten
Alt 05.08.2004, 10:05   #4
flinx
Inventar
 
Registriert seit: 08.04.2001
Beiträge: 3.101


Standard

Application.Ontime ?
flinx ist offline   Mit Zitat antworten
Alt 05.08.2004, 10:20   #5
|\/| E P H I S t 0
Senior Member
 
Registriert seit: 08.11.2003
Beiträge: 117


|\/| E P H I S t 0 eine Nachricht über ICQ schicken
Standard

Danke, es hat funktioniert. Sorry nochmal, aber ich kenn mich halt noch nicht so aus.
____________________________________
Never touch a running System!

error 042# - please restart this matrix![OK]

\"Eine ausreichend fortgeschrittene Technologie ist von Magie nich mehr zu unterscheiden.\" - Arthur C. Clarke
\"Es ist schwieriger, ein Vorurteil zu zertrümmern, als ein Atom.\" - Albert Einstein


Geändert von einer höheren Macht am 21. Feb 1988 um 23:18
|\/| E P H I S t 0 ist offline   Mit Zitat antworten
Alt 06.08.2004, 08:01   #6
|\/| E P H I S t 0
Senior Member
 
Registriert seit: 08.11.2003
Beiträge: 117


|\/| E P H I S t 0 eine Nachricht über ICQ schicken
Standard

Um nicht noch einen Thread eröffnen zu müssen (wird langsam peinlich ) schreib ichs hier rein, ist nämlich wieder mal die Frage nach einem Befehl:

Mit welchem Befehl kann man feststellen, also mit Ture oder False Rückgabe, ob ein Sub läuft, oder nicht?

Der zu überprüfende Sub:
--------------------------------------------------------------------
Sub auto()

Worksheets("GUI").Range("D13").FormulaR1C1 = Now()
Application.OnTime Now + TimeValue("00:00:01"), "auto"

End Sub
--------------------------------------------------------------------

Da sich dieser Sub permanent ausführt, müsste man doch feststellen können ob er aktiv ist, und falls er es ist, fragen ob er abgestellt werden soll.

Jemand sollte den Thread in "Diverse VBA-Fragen" ändern

Danke nochmal
Greetz
____________________________________
Never touch a running System!

error 042# - please restart this matrix![OK]

\"Eine ausreichend fortgeschrittene Technologie ist von Magie nich mehr zu unterscheiden.\" - Arthur C. Clarke
\"Es ist schwieriger, ein Vorurteil zu zertrümmern, als ein Atom.\" - Albert Einstein


Geändert von einer höheren Macht am 21. Feb 1988 um 23:18
|\/| E P H I S t 0 ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:52 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag