Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
396to400
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
396to400
396to400
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Msg Box einblenden nach Prüfung

Msg Box einblenden nach Prüfung
12.03.2004 22:40:42
Stefan
Hallo zusammen,
ich versuche gerade ein VBA-Makro zu schreiben, dass folgendes durchführt:
Es soll zunächst einen Wert in einer Zelle prüfen.
Falls Wertj größer 0, dann Msg Box, bei Klick auf OK soll der Vorgang abgebrochen werden
Falls Wert gleich 0, dann keine Msg Box und Ablauf des restlichen Makros (Ausblenden von Zellen)

Sub evenly()
Range("J65").Select
If Wert = 1
MsgBox "Sorry, the number of classes is not devidible by the number of bands", vbOKOnly, "not devisible"
End If
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 2
ActiveWindow.SmallScroll Down:=13
Rows("79:103").Select
Selection.EntireRow.Hidden = True
End Sub


Ich bin bei der VBA-Programmierung total blank, und kann deshalb auch mit den Fehlermeldungen herzlich wenig anfangen.
Deshalb bin ich für jede Hilfestellung sehr dankbar.
Danke im voraus,
Stefan

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Msg Box einblenden nach Prüfung
12.03.2004 22:59:20
Uwe
IF Bedingung THEN
...
[ELSE
....]
END IF


Sub evenly()
Range("J65").Select
If Wert = 1 Then
MsgBox "Sorry, the number of classes is not devidible by the number of bands", vbOKOnly, "not devisible"
Else
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 2
ActiveWindow.SmallScroll Down:=13
Rows("79:103").Select
Selection.EntireRow.Hidden = True
End If
End Sub

AW: Msg Box einblenden nach Prüfung
13.03.2004 02:15:27
Stefan
Hallo Uwe,
es funktioniert leider nicht - die Msg Box wird nicht eingeblendet.
Das Feld, dass das Makro auslöst ist ein Options-Button. Die Zelle, die überprüft werden soll, ist keine Eingabe-Feld, sondern Ergebnis einer Formel. Muss deshalb VBA anders aufgebaut werden?
Wäre nett, wenn du dir das noch mal anschauen könntest. Vielen Dank!
Stefan.
Anzeige
AW: Msg Box einblenden nach Prüfung
13.03.2004 05:28:59
Uwe
Das war wohl mit mein Fehler, Stefan,
denn ich hatte mich nur auf die Ausführbarkeit des Codes konzentriert, ohne auch die Logik der Abfragen zu beachten.
Natürlich muß die Variable Werte aufweisen können, die entweder 1 oder nicht 1 sind. Die entsprechende Logik dafür geht aus der Routine nicht hervor, so dass auch angenommen werden hätte können, dass es sich um eine globale Variable bei der Variablen Wert handelt. Wenn Du bei der VBA-Umgebungsparametereinstellung (Extras ... Optionen, Registerblatt Editor) die Option Variablendeklation erforderlich markierst, dann wird wohl klar, das der Inhalt von Wert nie 1 sein kann, da er nirgends gesetzt wurde (meine Vermutung).
Nun erwähnst Du noch, dass ein Optionfeld in Deinem Programm eine Rolle spielen soll.
Wenn der Wert diese Optionsfeldes in dem IF-Block das Verzweigungskriterium darstellen soll und das Optionsfeld den Namen OptionButton1 hat, dann ist für die IF-Bedingungsabfrage ein anderer Ausdruck zu formulieren, der an Stelle des zu streichenden Ausdrucks Wert=1 zu setzen ist.
Ist das Kontrollkästchen des Optionsfeldes gefüllt, dann ist das Element gesetzt und die Value-Eigenschaft ist true, was einem numerischen Wert von [-1] entspricht! Andernfalls ist die Auswahl des Elements aufgehoben, die Value-Eigenschaft des Objekts ist false, was numierisch durch den Wert 0 ausgedrückt wird.
Nun kommt es auf die von Dir vorgesehene Logik an, wie Du die Bedingung des IF-Blocks formulieren mußt:
If OptionButton1.Value Then oder gleichwertig
If OptionButton1.Value=true Then oder gleichwertig
If OptionButton1.Value=-1 Then
stehen dafür, dass bei gefülltem Kontrollkästchen, die Nachricht ausgegeben wird, ansonsten, also wenn das Kontrollkästchen leer ist, werden die Zeilen 79 bis 103 ausgeblendet.
Soll jedoch die Value-Eigenschaft genau anders herum integretiert werden, so sind die folgenden IF-Abfragen gleichwertig eisetzbar:
If OptionButton1.Value=false Then oder
If OptionButton1.Value=0 Then
So sollte es funktionieren, wobei ich dem Sinn der Scroll-Anweisungen nicht weiter nachgehe.
Gruß,
Uwe
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige