Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Gültigkeitsprüfung mit VBA

Forumthread: Gültigkeitsprüfung mit VBA

Gültigkeitsprüfung mit VBA
markus
Hallo zusammen,
ich möchte in meiner Tabelle (Blattnamen sollten variabel sein), das nur bestimmte Werte in einem markierten (C7:D41) Berech eingetragen werden dürfen.
Die Gültigkeitsprüfung sollte allerdings das Blatt "Vorgaben" nicht berücksichtigen.
Im Blatt "Vorgaben befinden sich die gültigen Eingabemöglichkeiten (B7:B21).
Weiterhin sollte ein Uhrzeit von 00:00 - 24:00 Uhr eingetragen werden dürfen.
Gibt es dafür eine Lösung?
https://www.herber.de/bbs/user/71289.xls
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Gültigkeitsprüfung OHNE VBA - per NAME
27.08.2010 15:56:07
NoNet
Hallo Markus,
ich nehme an, Du möchtest eine "Gültigkeitsprüfung" OHNE VBA !!?!? - Das funktioniert folgendermaßen :
- Definiere per Strg+F3 einen dynamischen Namen :
   Name : Werte
   Bezieht sich auf :
   =BEREICH.VERSCHIEBEN(Vorgaben!$B$7;;;VERGLEICH(2;1/(Vorgaben!$B$7:$B$21"");ZEILE(Vorgaben!$7:$21));1)
   Bestätige das mit
- Markiere nun im Blatt "Muster1" den Bereich C7:D41
- Wähle im Menü "Daten - Gültigkeit - Zulassen : Benutzerdefiniert - Quelle : Formel" und gib folgende Formel ein :
   =ODER(UND(ISTZAHL(C7);C7>=0;C7
- Bestätige mit und wiederhole das für den Bereich C7:D41 im Blatt "Muster2"
Gruß, NoNet
Anzeige
AW: Gültigkeitsprüfung OHNE VBA - per NAME
27.08.2010 16:10:25
markus
Danke,
nein eigentlich mit VBA, da ich viele Blätter habe, macht das die ganze Geschichte zu lahm,
da im Hintergrund noch eine Statistik läuft.
Gruß Markus
AW: Gültigkeitsprüfung OHNE VBA - per NAME
27.08.2010 16:26:58
markus
Haken vergessen bei "Frage noch offen".
LAHM ? - Das ist doch nicht LAHM....!!!
27.08.2010 16:34:59
NoNet
Hallo Markus,
ich glaube nicht, dass die von mir vorgestellte Methode LAHM ist !!
Hier eine VBA-Lösung, der Code gehört in das Klassenmodul "DieseArbeitsmappe" :
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim rngZelle As Range, rngBereich As Range, bolFehler As Boolean
If UCase(Sh.Name)  "VORGABEN" Then
Set rngBereich = Intersect(Sh.Range("C7:D41"), Target)
If Not rngBereich Is Nothing Then
For Each rngZelle In rngBereich
If IsNumeric(rngZelle) Then
If rngZelle  1 Then bolFehler = True
ElseIf Application.CountIf(Sheets("Vorgaben").Range("B7:B21"), rngZelle) = 0  _
Then
bolFehler = True
End If
If bolFehler Then
MsgBox "Bitte nur Uhrzeiten oder Werte aus Blatt 'Vorgaben!B7:B21' eingeben  _
!", _
vbCritical, "Ungültiger Wert in " & rngZelle.Address
Application.Undo
Exit Sub
End If
Next
End If
End If
End Sub
Gruß, NoNet
Anzeige
AW: LAHM ? - Das ist doch nicht LAHM....!!!
27.08.2010 16:44:51
markus
Hallo NoNet,
wenn du meinst, ich werde beide Möglichkeiten testen und berichten.
Vielen Dank für den Vorschlag.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige