Supportnet Computer
Planet of Tech

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.

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 Sub


Gruß,
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

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

Antwort 4 von nighty

hi all :)

einzufuegen unter alt f11/projektexplorer/DeineTabelle

gruss nighty

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: