Microsoft Office Tutorials and References
In Depth Information
19.10 Makros testen und Fehler aufspüren
zahlen(i) = Temp
End If
Next j
Next i
Sub LottozahlenGenerator()
Dim i%, zahlen(5), j%
Dim mtext As String
’ Zufallszahlengenerator
Randomize
’ Erste Zahl ziehen, Variable belegen
zahlen(0) = Int(Rnd * 49) + 1
’ Die nächsten Zahlen
For i = 1 To 5
Randomize
zahlen(i) = Int(Rnd * 49) + 1
’ Prüfen, ob Zahl schon gezogen fist
For j = 0 To i - 1
If zahlen(j) = zahlen(i) Then
’ Zahl schon gezogen
i = i - 1
Exit For
End If
Next j
Next i
’ Meldungstext konstruieren
For i = 0 To 5
mtext = mtext & "Zahl " & i + 1 & ": " _
& vbTab & zahlen(i) & vbCr
Next i
’ Meldung ausgeben
MsgBox "Hier die Lottozahlen vom nächsten
Samstag:" _
& vbCr & vbCr & mtext, vbInformation, _
"Lottozahlengenerator"
End Sub
19.10 Makros testen und Fehler
aufspüren
Ein neues Makro testen Sie, wie zuvor bereits
beschrieben, indem Sie es starten. Dazu klicken Sie in der
Symbolleiste Visual Basic auf das Startsymbol oder wählen
Ansicht/Makros/Makros anzeigen , markieren das Makro
und starten mit Ausführen . Leider werden Sie in den
meisten Fällen anstelle des gewünschten Diagramms
oder der Kalkulation auf dem Blatt erst einmal eine
lapidare Fehlermeldung zu Gesicht bekommen. Neue
Makros laufen nie auf Anhieb fehlerfrei, und auch der
erfahrenste Programmierer produziert Fehler, die er dann mit
mehr oder weniger Aufwand im Code aufspüren muss.
Um diesen Aufwand so gering wie möglich zu halten,
stellt Excel einige Textwerkzeuge zur Verfügung.
19.10.1 Die Fehlermeldung
Wenn beim Ablauf des Makros ein Fehler auftritt, stoppt
der Editor das Makro und meldet den Fehler in einer
Dialogbox. Die Fehlermeldung selbst weist auf den Fehler
hin, fist aber in ihrer Abstraktheit für Einsteiger oft nicht
allzu nützlich.
1. Klicken Sie auf Debuggen , um sofort in das
Modulblatt zu schalten. Die fehlerhafte Anweisung wird
markiert.
Listing 19.28 Makro »Lottozahlengenerator«
2. Mit Beenden schließen Sie das Makro, ohne zum
Editor zurückzukehren.
Für die Sortierung des Datenfeldes benutzen Sie das
BubbleSort-Verfahren. Es gibt mehrere Varianten
davon, hier eine kurze, die eine dritte Variable einführt.
Binden Sie die DIM -Anweisungen am Anfang der
Prozedur ein und die Sequenz vor der letzten Schleife, die den
Meldungstext produziert:
Dim First%, Last%, Temp%
First = LBound(zahlen())
Last = UBound(zahlen())
For i = First To Last - 1
For j = i + 1 To Last
If zahlen(i) zahlen(j) Then
Temp = zahlen(j)
zahlen(j) = zahlen(i)
3. Die Hilfe gibt Auskunft über den Fehler, der unter
dem angezeigten Fehlercode gemeldet wird.
Eine Liste aller auffangbaren Fehler enthält der
Knowledge-Base-Artikel KB142138. Suchen Sie ihn im
Browserfenster.
 
Search JabSto ::




Custom Search