![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Senior Member
![]() |
![]() 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 |
![]() |
![]() |
![]() |
#2 |
Jr. Member
![]() Registriert seit: 13.07.2004
Alter: 47
Beiträge: 71
|
![]() 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\" |
![]() |
![]() |
![]() |
#3 |
Senior Member
![]() |
![]() 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 |
![]() |
![]() |
![]() |
#4 |
Inventar
![]() Registriert seit: 08.04.2001
Beiträge: 3.101
|
![]() Application.Ontime ?
|
![]() |
![]() |
![]() |
#5 |
Senior Member
![]() |
![]() 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 |
![]() |
![]() |
![]() |
#6 |
Senior Member
![]() |
![]() Um nicht noch einen Thread eröffnen zu müssen (wird langsam peinlich
![]() 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 |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|