Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1068to1072
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
Inhaltsverzeichnis

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ß

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
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

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige