3.1k Aufrufe
Gefragt in Tabellenkalkulation von
ich erhalte die obere Fehlermeldung.
Eigentlich habe ich die Befehlzeile in ähnlicher Funktion die gehen ohne Fehlermeldungen.
Was hier falsch sein soll ist mir Schleierhaft.

Private Sub CommandButton1_Click()
'Fehlermeldung Variable nicht definiert
Dim DruckStarten As Integer

Mldg = "Wollen Sie Ihre Eingabe als Übersicht ausdrucken?" & Chr(10) & _
"Gesamt und Einzeldruck möglich!" & Chr(10) & "" & Chr(10) & _
"Dann wählen Sie JA" & Chr(10) & _
"bei Nein erfolgt nur Speicherung und Startseitenansicht"

stil = vbYesNoCancel + vbCritical + vbDefaultButton2
DruckStarten = MsgBox(Mldg, stil, "Änderungen abspeichern?!")
If DruckStarten = vbCancel Then End
If DruckStarten = vbYes Then PortionsGroßDruck
If DruckStarten = vbNo Then ActiveWorkbook.Close SaveChanges:=False
If DruckStarten = vbCritical Then End
End If
End Sub

11 Antworten

0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi :-)

ich schliesse mich der Fehlermeldung an hihi ^^

variablen deklarieren ^^

gruss nighty
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi :-)

nutze Option explicit

gruss nighty
0 Punkte
Beantwortet von
Wie man Sieht steht Option Explizit drüber hatte ich nur nicht in der Anfrage reinkopiert.


Option Explicit

Private Sub CommandButton1_Click()
'Fehlermeldung Variable nicht definiert
Dim DruckStarten As Integer

Mldg = "Wollen Sie Ihre Eingabe als Übersicht ausdrucken?" & Chr(10) & _
"Gesamt und Einzeldruck möglich!" & Chr(10) & "" & Chr(10) & _
"Dann wählen Sie JA" & Chr(10) & _
"bei Nein erfolgt nur Speicherung und Startseitenansicht"

stil = vbYesNoCancel + vbCritical + vbDefaultButton2
DruckStarten = MsgBox(Mldg, stil, "Änderungen abspeichern?!")
If DruckStarten = vbCancel Then End
If DruckStarten = vbYes Then PortionsGroßDruck
If DruckStarten = vbNo Then ActiveWorkbook.Close SaveChanges:=False
If DruckStarten = vbCritical Then End
End If
0 Punkte
Beantwortet von m-o Profi (22.8k Punkte)
Hallo,

wie Nighty schon gesagt, musst du bei Option explicit alle Variablen definieren, also nicht nur DruckStarten sondern auch Mldg und stil.

Gruß

M.O.
0 Punkte
Beantwortet von
ich habe exakt die gleichen Codezeilen in einer anderen Tabelle mit anderen IF Funktionen und da funktioniert der Code.
auch dort habe ich nicht mehr variablen deklariert.
Warum muss ich jetzt mehr machen?
Irgendwie stehe ich da auf dem Schlauch.
0 Punkte
Beantwortet von m-o Profi (22.8k Punkte)
Hallo,

steht in deiner anderen Tabelle auch Option explicit vor dem Code?

Gruß

M.O.
0 Punkte
Beantwortet von
Autsch, da habe ich was übersehen. Auf den anderen Tabellenblätter steht kein Option Explizit.
deshalb geht es dort.

Aber sicherer wäre es doch, wenn auf jedem Blatt Option Explizit stehen würde. oder?
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Option Explizit bedeutet das die Variablen vor ersten Verwendung definiert sein müssen.
Die meisten Programmierer benutze es, bei Laien ist es wohl nicht notwendig, da dies es oft nicht benutzen.

Gruß Hajo
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi :)

fuer mich als Wirrkopf ist Option explicit ein segen hihi

gruss nighty
...