Userform Starten, wenn Zellwert sich ändert...?

Gismo19

Ensign
Registriert
Okt. 2007
Beiträge
151
Hi zusammen,

kurz um was es geht:

Ich hab eine Zeitsaldenliste erstellt und möchte, wenn ich die "Geh-Zeit" eingetragen hab,
(dann ENTER) dass die Userform aufgerufen wird.
In excel 2010

Die Userform hab ich soweit hinbekommen, jedoch das makro nicht.
Ich hab wo anders folgendes gefunden und an meine Tabelle angepasst, da ich eigentlich
überhaupt keine Ahnung vom Makroschreiben hab... ;)

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Range("G3").Value > 0 Then
UserForm1.Show
End If
End Sub

Das einzige was passiert, wenn ich auf "Ausführen" klick, ist, dass mich excel auffordert ein
Makro anzulegen...?

Wenn ich das ganze aber so schreibe:

Private Sub Workbook_Open()
UserForm1.Show
End Sub

dann gehts. Komischer weiße??? So will ichs aber net...:grr:

Auserdem weiß ich nicht ob das dann nur für diese eine Zelle gilt oder für die ganze spalte?
Ebenso auch im Userform das übernehmen in die besagte Zelle?

Sollte natürlich für jede Zeile gelten, da pro zeile = neuer tag
 
Sorry, dass du übers Wochenende keine Antwort bekommen hast. Es gibt hier leider auch Leute, die ein Privatleben haben... So, Ironie aus.

Hast du in dem Makro mal einen Haltepunkt gesetzt, um nachzuforschen, was da passiert? Eventuell wird das gar nicht aufgerufen, oder deine Wertüberprüfung ist nicht in Ordnung.
 
Moin,

dem ersten Absatz von WingX schließe ich mich voll an.

Ansonsten finde ich es gut, dass du mit Experimentieren versuchst, dem Fehler näher zu kommen. Die folgende Lösung ist nicht perfekt aber immerhin nachvollziehbar und als Grundlage für weiteres lernen gedacht:
Code:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
   'komplette Spalte C berücksichtigen
   If Target.Column = 3 And Target.Value > 0 Then UserForm1.Show
End Sub
Für den Anfang sollte das reichen. Später kannst du beispielsweise mit
Code:
Application.Intersect(Target, Range("B3:B500"))
den Bereich sehr schön eingrenzen.
 
Zurück
Oben