Supportnet / Forum / Tabellenkalkulation
Hallo! Kann mir jemand sagen, wie ich in Excel erzwingen kann, dass ein Feld ausgefüllt werden muß?
Frage
Ich bin gerade dabei ein Sheet zu erstellen, daß bestimmte Daten abfragen soll. Dabei gibt es Felder, die unbedingt gefüllt werden müssen, und Felder die gefüllt werden können, wenn die Daten vorliegen. Um sicherzustellen, daß die entsprechenden Felder auch ausgefüllt werden, suche ich nach einem Weg, der den User nicht weitermachen lässt oder die Datei nicht speichern lässt, bevor die Felder nicht gefüllt sind. Kann mir da jemand weiterhelfen? Vielen Dank für die Mühe vorab!
Antwort 1 von CaroS
Hallo Janine,
mit VBA würde das Zwingen zu einer Eingabe relativ einfach und auf verschiedene Weise zu realisieren sein. Die etwas schwierigere Frage ist allerdings, wann und wie man diese Zwangseingabe auslöst. Soll der Benutzer sofort beim Öfffnen der Mappe oder beim Aktivieren des Tabellenblattes dazu gezwungen werden? Oder erst wenn er versucht, das Tabellenblatt zu verlassen, dann müsste man sich aber extra noch um das Speichern (Workbook_BeforeSave) kümmern. Die Möglichkeiten sind vielfältig.
Eine wäre zum Beispiel (für die Zelle A1), dem Benutzer eine Inputbox vor die Nase zu halten, in die er etwas eingeben muss, um weiterarbeiten zu können.
Gruß,
CaroS
mit VBA würde das Zwingen zu einer Eingabe relativ einfach und auf verschiedene Weise zu realisieren sein. Die etwas schwierigere Frage ist allerdings, wann und wie man diese Zwangseingabe auslöst. Soll der Benutzer sofort beim Öfffnen der Mappe oder beim Aktivieren des Tabellenblattes dazu gezwungen werden? Oder erst wenn er versucht, das Tabellenblatt zu verlassen, dann müsste man sich aber extra noch um das Speichern (Workbook_BeforeSave) kümmern. Die Möglichkeiten sind vielfältig.
Eine wäre zum Beispiel (für die Zelle A1), dem Benutzer eine Inputbox vor die Nase zu halten, in die er etwas eingeben muss, um weiterarbeiten zu können.
Sub Eingabezwang_A1()
Dim titel As String
titel = "Ihr Gehaltswunsch?"
Do
eingabe = InputBox("Bitte einen Wert für Tabelle1!A1 eingeben!", titel)
If Trim(eingabe) = "" Then
titel = "Leerzeichen, keine Eingabe und Abbruch werden nicht akzeptiert."
Else
ActiveWorkbook.Sheets("Tabelle1").Cells(1, 1).Value = eingabe
Exit Do
End If
Loop
End SubGruß,
CaroS
Antwort 2 von nighty
hi all :)
ein beispiel :)
nach gezwungenen eingaben in diesen zellen A2,B2,C2,M2 sind eingaben frei waehlbar
gruss nighty
open ereignis nicht zwingend ist
das ereignis der selection reicht
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Application.EnableEvents = False
Dim rgBereich As Range
Dim zaehler As Range
Set rgBereich = Worksheets("Tabelle1").Range("A2,B2,C2,M2")
For Each zaehler In rgBereich
If zaehler = "" Then
zaehler.Select
Exit For
End If
Next zaehler
Application.EnableEvents = False
End Sub
ein beispiel :)
nach gezwungenen eingaben in diesen zellen A2,B2,C2,M2 sind eingaben frei waehlbar
gruss nighty
open ereignis nicht zwingend ist
das ereignis der selection reicht
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Application.EnableEvents = False
Dim rgBereich As Range
Dim zaehler As Range
Set rgBereich = Worksheets("Tabelle1").Range("A2,B2,C2,M2")
For Each zaehler In rgBereich
If zaehler = "" Then
zaehler.Select
Exit For
End If
Next zaehler
Application.EnableEvents = False
End Sub
Antwort 3 von nighty
hi all
korrigiert
gruss nighty
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Application.EnableEvents = False
Dim rgBereich As Range
Dim zaehler As Range
Set rgBereich = Worksheets("Tabelle1").Range("A2,B2,C2,M2")
For Each zaehler In rgBereich
If zaehler = "" Then
zaehler.Select
Exit For
End If
Next zaehler
Application.EnableEvents = True
End Sub
korrigiert
gruss nighty
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Application.EnableEvents = False
Dim rgBereich As Range
Dim zaehler As Range
Set rgBereich = Worksheets("Tabelle1").Range("A2,B2,C2,M2")
For Each zaehler In rgBereich
If zaehler = "" Then
zaehler.Select
Exit For
End If
Next zaehler
Application.EnableEvents = True
End Sub
Antwort 4 von nighty
hi all :)
einzufuegen unter alt f11/projektexplorer/DeineTabelle
gruss nighty
einzufuegen unter alt f11/projektexplorer/DeineTabelle
gruss nighty

