Userform wird zweimal geöffnet

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Userform wird zweimal geöffnet
von: toni
Geschrieben am: 01.12.2003 12:05:22

Hallo VBA'ler,

Mit:


Private Sub Worksheet_Activate()
  Range("G7").Select
End Sub


steuer ich eine bestimmte Zelle an. Wenn diese Zelle aktiv ist, soll eine Userform geöffnet werden:


Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Set RaBereichHeu = Range("G7:G26")
    If Not Intersect(Range(Target.Address), RaBereichHeu) _
    Is Nothing Then frmHeu.Show
    Set RaBereichHeu = Nothing
End Sub


Dort befinden sich die Buttons 'Ja' und 'Nein'. Wird einer dieser Buttons angeklickt soll der entsprechende String ('Ja' oder 'Nein') in die Zelle geschrieben und die Userform geschlossen werden.


Private Sub cmdHeuja_Click()
ActiveCell.Value = "Ja"
     Unload Me
End Sub



Private Sub cmdHeunein_Click()
ActiveCell.Value = "Nein"
     Unload Me
End Sub


Soweit so gut.
Die Userform erscheint allerdings ein zweites mal .
Danach läuft alles normal.
Was mache ich falsch oder besser gefragt, was muss ich ändern???

Wäre schön, wenn mir jemand helfen könnte.

Ciao, Toni
Bild


Betrifft: AW: Userform wird zweimal geöffnet
von: GerdW
Geschrieben am: 01.12.2003 12:09:29


Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Set RaBereichHeu = Range("G7:G26")
  If Not Intersect(Range(Target.Address), RaBereichHeu) Is Nothing Then
     If frmHeu.Visible = False Then frmHeu.Show
  End If
  Set RaBereichHeu = Nothing
End Sub


Gerd


Bild


Betrifft: AW: Userform wird zweimal geöffnet
von: toni
Geschrieben am: 01.12.2003 13:11:37

Hallo Gerd,

vielen Dank für Deine prompte Antwort. Leider klappte es auch so nicht. Ich habe allerdings auch einen Teil des Codes unterschlagen. Vielleicht lag es ja daran:


Private Sub Worksheet_Activate()
With ActiveSheet
  .Unprotect
  Worksheets("WEGebäude").Range("B7:C26").Copy
  .Range("B7").PasteSpecial
  Worksheets("WEGebäude").Range("I7:K26").Copy
  .Range("D7").PasteSpecial
  .Range("B7:F26").Locked = True     'der Bereich wird gesperrt
  .Protect
  .EnableSelection = xlUnlockedCells 'gesperrte Zellen können nicht ausgewählt werden
End With
  Range("G7").Select
End Sub




Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
    'Die ersten fünf Spalten dürfen nicht selektiert werden
    If Not Intersect(Target, Range("B7:F26")) _
    Is Nothing Then Cells(Target.Row, Target.Column + 1).Select
    
    Set RaBereichHeu = Range("G7:G26")
    If Not Intersect(Range(Target.Address), RaBereichHeu) Is Nothing Then
    If frmHeu.Visible = False Then frmHeu.Show
    End If
    Set RaBereichHeu = Nothing
  
End Sub


Der Teil

If Not Intersect(Target, Range("B7:F26")) _
Is Nothing Then Cells(Target.Row, Target.Column + 1).Select

war wohl überflüssig.
Jetzt klappt es auch so.

Nochmal Danke, Toni


Bild

Beiträge aus den Excel-Beispielen zum Thema " Userform wird zweimal geöffnet"