Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1908to1912
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
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

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.
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

314 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige