Herbers Excel-Forum - das Archiv

Userform bei fehlender Eingabe

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

Betrifft: Userform bei fehlender Eingabe
von: werner h.

Geschrieben am: 13.04.2005 12:51:33
Hallo Zusammen,
bei fehlender Eingabe in Zelle B6 soll eine Userform aufgerufen werden, über die der fehlende Wert eingegeben werden kann - so weit, so gut, das bekommen ich hin.
Aber ich benötige das für alle geraden Zeilennummern B6:B48 (also B6, B8, B10 usw. in dem Bereich), und das übersteigt meine Kenntnisse.
Ich würde mich über Hilfe sehr freuen.
https://www.herber.de/bbs/user/21083.xls
Grüße
Werner
Bild

Betrifft: AW: Userform bei fehlender Eingabe
von: Michel

Geschrieben am: 13.04.2005 13:14:34
Hi,
zum Bleistift so:
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Dim RaBereich As Range
Dim i%
For i = 6 To 48 Step 2
'   Bereich der Wirksamkeit
Set RaBereich = Range("B" & i)
'   überprüfen ob Zelle im vorgegebenen Bereich
If Not Intersect(Range(Target.Address), RaBereich) Is Nothing Then frmNutzlos.Show
Next i
Set RaBereich = Nothing
End Sub

cu
MIchel
Bild

Betrifft: AW: Userform bei fehlender Eingabe
von: werner h.

Geschrieben am: 13.04.2005 16:50:02
Hallo Michel,
danke für die Antwort; allerdings klappt es nicht so richtig, weil die Userform dann bei jedem Klick aufgeht und ggf. Werte in falsche Zellen einträgt.
Es sollte so sein, dass bei Löschen eines Wertes die Zelle nicht verlassen werden kann, ohne einen neuen Wert einzugeben, so dass der Eintrag auch immer in der richtigen Zelle erfolgt.
Grüße
Werner
Bild

Betrifft: AW: Userform bei fehlender Eingabe
von: Willi

Geschrieben am: 17.04.2005 12:02:22
Hallo Werner
Dazu brauchst du folgenden Code:
Codebereich Arbeitsblatt:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i%
For i = 6 To 48 Step 2
If Target.Address = Cells(i, 2).Address And Target = "" Then
UserForm1.Show
End If
Next i
End Sub

Codebereich des Userforms:
Private Sub CommandButton1_Click()
If TextBox1.Value <> "" Then
Selection.Value = TextBox1.Text
Unload Me
End If
End Sub

Private Sub CommandButton2_Click()
Selection.Value = "LEER"
Unload Me
End Sub

Private Sub UserForm_Initialize()
Label1 = "Die Eingabe in Zelle " & Selection.Address & " fehlt"
End Sub

Gruss Willi
 Bild
Excel-Beispiele zum Thema "Userform bei fehlender Eingabe"
Diagramm in Userform XL-Dateien in UserForm listen
UserForm an Excel-Fenster anpassen Fundstellen in UserForm listen
Module und UserForms austauschen In einer Schleife auf Elemente einer UserForm zugreifen
Werte in eine ComboBox einer UserForm übernehmen Zellinhalt als Label-Aufschrift in UserForm
Alle CheckBoxes einer UserForm ansprechen Wenn kein Eintrag, UserForm nicht schließen