Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Fehler beim Deklarieren einer Public Variable

Forumthread: Fehler beim Deklarieren einer Public Variable

Fehler beim Deklarieren einer Public Variable
16.04.2009 21:37:36
Felix
Hallo zusammen!
Ich habe hier ein kleines Problem mit einer "Public-Variablen". Diese wird in "Diese Arbeitsmappe" initialisiert, und in Workbook open auf "False" gesetzt:

Public xSave As Boolean
Private Sub Workbook_open()
Application.ScreenUpdating = False
'Speichern einschalten:
xSave = False 'True = Aus; False = Ein!!!
ComboBox1_Change
ComboBox2_Change
Range("H5").Select
If ActiveCell.Value = "" Then
Range("A1").Select
Schreibschutz_Ein
UserForm1.Show
Else
Range("A1").Select
End If
Application.ScreenUpdating = True
End Sub


Nun der Code in "User Form1": Beim drücken von ComBut3 soll der Wert auf "True" gesetzt werden:


Public xSave As Boolean
Private Sub CommandButton3_Click()
Dim xSave As Boolean
'Nur anschauen!
xSave = True
UserForm1.Hide
End Sub


Das Speichern soll dadurch verhindert werden. Die Abfrage hierfür befindet sich ebenfalls in "Diese Arbeitsmappe:


Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If xSave = True Then
MsgBox ("Speichern nicht möglich!")
Else
End If
Cancel = xSave
End Sub


Der Wert für xSave ändert sich laut Überwachung nach "Open Workbook" allerdings nicht mehr! Was mache ich verkehrt? Womöglich liegt es daran, daß ich "xSave" zweimal deklariere? Tue ich das allerdings nicht, bekomme ich in der UserForm eine Fehlermeldung...
Hoffe mal, es ist so einigermaßen verständlich!
Danke schonmal im Vorraus
Gruß

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Fehler beim Deklarieren einer Public Variable
16.04.2009 21:56:20
Daniel
Hi
wenn du es 2x deklarierst, hast du auch 2 verschiedene Variablen.
damit Variablen wirklich "Public" sind und auch von Makros aus anderen Modulen oder Userforms benutzt werden können, müssen in einem allgemeinen Modul deklariert werden (z.B. Modul1) und nicht in einem Klassenmodul wie "DieseArbeitsmappe"
Gruß, Daniel
Anzeige
AW: Fehler beim Deklarieren einer Public Variable
16.04.2009 22:08:32
Rainer
Nebenbei hast Du xSave in dem Code oben dreimal deklariert. ;)
In der UserForm hast Du auch die Anweisung Dim xSave ... drinnen. Das muss da auch raus.
Gruß
Rainer
AW: Fehler beim Deklarieren einer Public Variable
16.04.2009 22:16:50
Felix
Danke euch beiden!
Hab's jetzt hinbekommen. - In einem öffentlichen Modul deklariert und alle Anderen rausgenommen!
Hatte die: Dim xSave... übrigens drin, da es vorher immer als "nicht deklariert" gemarkt wurde. - Weil die Public-Variable vorher ja in einem Private-Sub stand! - Völlig verwirrt... =)
Jetzt passt Alles! Danke nochmal für die schnelle Hilfe!
Gruß
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige