Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
384to388
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
384to388
384to388
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Nochmal Userform, sorry

Nochmal Userform, sorry
19.02.2004 16:36:46
Alexandra
Werte Ansprechpartner,
Nochmal wegen meiner Userform:
wie muß ich eine Variable in einer normalen Sub deklarieren,
damit sie an den Code der Userform übergeben werden kann...
Die Variable ist definiert, die Werte gesetzt, aber in der Userform
kann ich nicht drauf zugreifen...
Danke für einen Tip
Alexandra

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nochmal Userform, sorry
19.02.2004 16:38:36
Alex K.
Hallo Alexandra,
in einem Modul musst du die Variable im Kopf des Moduls mit
Public Var As String
definieren.
Hab ich - geht nicht :-(
19.02.2004 16:41:38
Alexandra
deshalb weiß ich ja nicht weiter
AW: Hab ich - geht nicht :-(
19.02.2004 17:03:07
Alex K.
HAllo Alexandra,
die Variable muss in einem MODUL (z.B. Modul1) definiert werden. Wenn du sie in einem Tabellenblatt z.B. Tabelle1 oder in "DieserArbeitsmappe" definiert, funktioniert das nicht!
AW: Nochmal Userform, sorry
19.02.2004 16:45:46
Dirk
Hallo?
Hast Du vielleicht 'n Stück vom Code, den Du posten könntest?
Cheers
AW: Nochmal Userform, sorry
19.02.2004 16:53:56
Alexandra
Na klar:
hier der Code der Userform:
Option Explicit
Public AktWS, PW As String, Ursprung As String

Private Sub UserForm_Initialize()
fKennwort.Text = ""
fKennwort.PasswordChar = "*"
fKennwort.MaxLength = 8
Ursprung = GZelle
End Sub


Private Sub fCancel_Click()
Application.EnableEvents = False
GZelle = Ursprung
Unload Me
Application.EnableEvents = True
End Sub


Private Sub fOK_Click()
If fKennwort.Text = "" Then
MsgBox "Kennwort fehlt", vbOKOnly, "Nachricht"
fKennwort.SetFocus
ElseIf fKennwort.Text <> "" Then
AktWS = ActiveSheet.Name
Select Case AktWS
Case "Service Delivery"
If fKennwort.Text = "Server" Then PW = "ok"
Case "Systems & NW Services"
If fKennwort.Text = "System" Then PW = "ok"
Case "Proj. Mmgt."
If fKennwort.Text = "Project" Then PW = "ok"
Case "Wartung"
If fKennwort.Text = "Wartung" Then PW = "ok"
Case "IMAC"
If fKennwort.Text = "IMAC" Then PW = "ok"
Case "Presales"
If fKennwort.Text = "Sales" Then PW = "ok"
Case "HYD"
If fKennwort.Text = "HYD" Then PW = "ok"
End Select
If PW <> "ok" Then
MsgBox "Kennwort falsch, bitte wiederholen oder abbrechen", vbOKOnly, "Nachricht"
fKennwort.Text = ""
fKennwort.SetFocus
Else
Unload Me
End If
End If
End Sub

Aber hier der Code des Worksheets:
Option Explicit
Public GZelle

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$H$3" Then
GZelle = Range(Target.Address)
Userform1.Show
End If
End Sub

Ich Worksheet Change ruft die Userform auf, die ein Passwort verlangt.
Es gibt 7 Worksheets und in jedem könnte diese Abfrage kommen - je nachdem
welche Zelle geändert wird. Daher muß ich diesen Wert übergeben - mit GZelle
klappt es nicht...
Anzeige
AW: Nochmal Userform, sorry
19.02.2004 16:59:32
Josef Ehrensberger
Hallo nochmal!
Du musst die Public-Variablen in einem ALLGEMEINEN MODUL (z.B. Modul1)
deklarieren, auch wenn Du sie in anderen Modulen füllst und verwendest!
Siehe auch mein Beispiel weiter unten.
Gruß Sepp
AW: Nochmal Userform, sorry
19.02.2004 17:16:48
Alexandra
Hallo Sepp,
GZelle ist jetzt im Modul1 definiert mit public.
GZelle soll die ZellAdresse aufnehmen:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$H$3" Then
Set GZelle = Target.Address     <---- hier möchte ich den Wert $H$3 an GZelle über
Userform1.Show                        geben! Meldung: Type Mismatch! Target.Address
End If                                     enthält aber den Wert $H$3. Auf GZelle will
ich dann in der Userform zugreifen.
End Sub

Anzeige
AW: Nochmal Userform, sorry
19.02.2004 17:25:09
Josef Ehrensberger
Hallo Alexandra!
Also zuerst mal Grundsätzlich zur Variablendeklaration.
Public GZelle As Range
Set GZelle = Target - übergibt den Range Target an die Variable
Public GZelle As String
GZelle = Target.Address - übergibt die Adresse z.B. $A$1 an die Variable.
Mir scheint das du GZelle mal als Range, mal als String verwendet!
Daher kommen warscheinlich Deine Probleme.
Gruß Sepp
AW: Nochmal Userform, sorry
19.02.2004 17:31:07
Alexandra
Jaaaa! Jetzt gehts. Danke!!!
Danke für die Rückmeldung! o.T.
19.02.2004 17:32:22
Josef Ehrensberger
Gruß Sepp
AW: Nochmal Userform, sorry
19.02.2004 16:48:59
Josef Ehrensberger
Hallo Alexandra!
Z.B. so.


'Allgemeines Modul!
Option Explicit
Public myString As String
Sub test()
myString = "Hallo Alexandra!"
UserForm1.Show
End Sub
'Modul der UserForm
Private Sub UserForm_Initialize()
Label1.Caption = myString
End Sub

     Code eingefügt mit Syntaxhighlighter 2.5

Gruß Sepp
Anzeige
AW: Nochmal Userform, sorry
19.02.2004 16:55:22
Alexandra
Hm - genauso habe ich mir das auch gedacht - vielleicht liegt mein Problem dann wohl woanders. Danke!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige