Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Nur bestimmte Werte als Eingabe zulassen

Nur bestimmte Werte als Eingabe zulassen
06.12.2022 22:49:41
Gula
Hallo zusammen,
ich habe ein Makro, welches mir automatisch eine Schichtfolge erstellt.
Soweit so gut und es funktioniert auch. Nun würde ich gerne noch eine Überprüfung mit einbauen, das mir mit einer MessageBox anzeigt, wenn nicht einer der vier Werte eingegeben wurde (ABA, BCB, CDC, DAD). Also nur diese vier Eingaben sollen zugelassen werden. Alles andere soll in einer MessageBox mit Fehlermeldung resultieren.
Für die korrekte Eingabe des Datums habe ich eine solche Überprüfung hinbekommen, aber eben nicht für die Schichtfolge. Vielleicht könnt ihr mir helfen.
Vielen Dank und Grüße
Hier der relevante Auszug aus dem Makro.

'Eingabemaske für das Datum
Dim sTxt As String
sTxt = InputBox("Bitte Datum eingeben:" & Chr(13) & "Format TT.MM.YYYY")
If sTxt = "" Then Exit Sub
'Eingabe prüfen ob gültiges Datum
ActiveCell.NumberFormat = "0#"".""?"".""""20""?"
If Not IsDate(sTxt) Then
MsgBox ("Sie haben ein falsches Datum eingegeben!")
Exit Sub
End If
Range("B2").Value = CDate(sTxt) 'MsgBox sTxt
Range("B2:D2").Select
Selection.AutoFill Destination:=Range("B2:CP2"), Type:=xlFillDefault
Range("B2:CP2").Select
'Eingabemaske für Schichtfolge
Dim FO As String
FO = "=Index(xxx;REST(SPALTE(A1)+VERGLEICH(""yyy"";xxx;0)-3;12)+1)"
FO = Replace(FO, "xxx", "{""A"";""ABA"";""A"";""B"";""BCB"";""B"";""C"";""CDC"";""C"";""D"";""DAD"";""D""}")
FO = Replace(FO, "yyy", InputBox("Start mit Schicht: ABA, BCB, CDC, DAD"))
With Range(Range("B6"), Cells(6, Cells(1, 1).CurrentRegion.Columns.Count))
.FormulaLocal = FO
.Formula = .Value
End With
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nur bestimmte Werte als Eingabe zulassen
06.12.2022 23:11:29
Gula
onur, danke für deine Nachricht, aber ich benötige eine Lösung auf VBA Ebene.
Anzeige
AW: Nur bestimmte Werte als Eingabe zulassen
06.12.2022 23:10:19
Daniel
Hi
Im Prinzip so:

Dim SF as String 'Schichtfolge
Do
SF = InputBox("Start mit Schicht: ABA, BCB, CDC, DAD")
SF = UCase(SF)
Select Case SF
Case ""
Exit Sub
Case "ABA", "BCB", "CDC", "DAD"
Exit do
Case else
End Select
Loop
Diese Do-Schleife führst du direkt nach der Bemerkung 'Eingabemaske für Schichtfolge aus
Und ersetzt dann in der Folge die Inputbox durch die Variable SF:

FO = Replace(FO, "yyy", SF)
Gruß Daniel
Anzeige
AW: Nur bestimmte Werte als Eingabe zulassen
06.12.2022 23:21:51
Gula
Daniel, ich danke dir vielmals!
So funktioniert es perfekt.
Merci
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige