Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
584to588
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
584to588
584to588
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Formel für benutzerdefinierte Gültigkeit

Formel für benutzerdefinierte Gültigkeit
17.03.2005 09:52:40
roaky
Ich habe eine Frage, an der ich gestern den ganzen Tag wortwörtlich gekniffelt habe.

folgender Sachverhalt:

... B

1 240
2 246
3 248
Es geht um die Zellen B1 - B3. Ich benötige eine Formel, die als Kontrolle dient. Wenn der Nutzer dieser Mappe die Zelle B1 mit Werten füllt, dann dürfen diese nie höher als die der Zellen B2 und B3 sein - insofern in beiden oder eine der beiden Zellen Daten liegen. Wenn der Nutzer Werte in der Zelle B2 ablegen möchte, dann dürfen diese nie kleiner sein als die Werte in Zelle B1 (insofern dort Daten liegen) und nie größer sein als die Werte der Daten in Zelle B3 (insofern dort Daten liegen). Wenn der Nutzer letztlich Werte in B3 eingeben möchte, dann dürfen diese nie kleiner als die Werte in den Zellen B1 und B2 sein (insofern in eine der beiden oder in beiden Zellen Werte abgelegt sind).

Die Idee war, in Zelle B1 eine benutzerdefinierte Gültigkeit mit folgender Formel zu hinterlegen:
B1=(UND(B1 Für die Zelle B2 habe bin ich genauso mit folgender Formel verfahren:
B2=(UND(B2 > B1;B2 Und in Zelle B3 ist folgende Gültigkeit definiert:
B3=(UND(B3 > B1;B3 > B2))
Diese Formel funktioniert aber nur, wenn jeweils in den beiden anderen Zellen Werte vorliegen. Sobald in mindestens einer der beiden anderen Zellen kein Wert liegt, funktioniert die Formel nicht mehr.
Es kann nämlich sein, dass mal die Zelle B3 mit Werten belegt wird (die beiden anderen Zellen sind noch leer) und erst später mindestens eine der anderen Zellen belegt wird.
Mal als Beispiel:
In Zelle B3 liegt ein Wert "120" vor und ich lege nun in der Zelle B1 einen Wert "140" ab. Hier bringt die Formel keine Nachricht an den Nutzer, das der Wert in B1 nie höher als der Wert in B3 sein darf.

Mhhhh echt komisch, ich weiß ni was ich an den Formeln ändern soll.

Vielleicht hat jemand ne Idee für mich?
Roaky

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formel für benutzerdefinierte Gültigkeit
17.03.2005 10:27:06
Matthias
Hallo Roaky,
für B1:
=ODER(UND(ODER(B1<B2;B2="");ODER(B1<B3;B3=""));B2="")
für B2:
=ODER(UND(ODER(B2>B1;B1="");ODER(B2<B3;B3=""));B2="")
für B3:
=ODER(UND(ODER(B3>B1;B1="");ODER(B3>B2;B2=""));B3="")
Gruß Matthias
kleine Korrektur
17.03.2005 10:34:11
Matthias
Hallo,
für B1 muss es natürlich heißen:

=ODER(UND(ODER(B1<B2;B2="");ODER(B1<B3;B3=""));B1="")
Gruß Matthias
AW: Formel für benutzerdefinierte Gültigkeit
17.03.2005 10:34:57
roaky
Hallo Matthias,
vielen Dank das du dir die Mühe gemacht hast, mir weiterzuhelfen.
Habs gleich mal versucht. Wenn ich jedoch zum Beispiel in B3 eine 120 einfüge (B1 und B2 sind leer) und nun in B1 eine 140 einfüge, dann kommt keine Fehlermeldung obwohl dies ja nicht sein darf. Wenn zum Beispiel in B1 eine 120 steht, in B2 eine 125 steht und ich in B3 eine 105 einfüge, dann kommt eine Fehlermeldung - das ist korrekt.
Sehr komisch...
Anzeige
AW: Formel für benutzerdefinierte Gültigkeit
17.03.2005 10:47:08
Matthias
Hallo Roaky,
Du musst noch den Haken bei "Leere Zellen ignorieren" rausmachen.
Gruß Matthias
AW: Formel für benutzerdefinierte Gültigkeit
17.03.2005 10:52:45
roaky
Super, vielen Dank Matthias jetzt klappt es!
Gruß
Roaky
Noch eine kleine Frage
17.03.2005 11:24:06
roaky
Habe da nochmal eine kleine Frage:
Meine Excel Tabelle besteht jetzt zum Beispiel von A1 bis K45. Der Rest ist alles leer.
Gibt es jetzt eine Gestaltungsmöglichkeit, die komplette Excel Tabelle nur auf die Zellen A1 bis K45 einzuschränken - so dass der Nutzer nur die reine Tabelle sieht und nicht noch die anderen leeren Zellen?
Danke schonmal
Roaky
Blende die Zeilen und Spalten aus...oT
17.03.2005 11:34:27
Boris
Grüße Boris
AW: Noch eine kleine Frage
17.03.2005 11:37:19
Matthias
Hallo Roaky,
entweder ausblenden:
Sub Ausblenden()
Dim r As Range, lz As Long, ls As Integer, i As Long
Set r = ActiveSheet.UsedRange
lz = r(r.Count).Row
ls = r(r.Count).Column
Debug.Print lz, ls
Rows(lz + 1 & ":65536").Hidden = True
Range(Cells(1, ls + 1), Cells(1, 256)).EntireColumn.Hidden = True
End Sub

oder die ScrollArea beschränken:

Sub ScrollBereich_beschränken()
ActiveSheet.ScrollArea = ActiveSheet.UsedRange.Address
End Sub

Letzteres muss aber bei jedem Öffnen der Mappe neu gesetzt werden.
Gruß Matthias
Anzeige
AW: Noch eine kleine Frage
17.03.2005 11:42:46
roaky
Danke schonmal für die Hilfe ;)

Sub Ausblenden()
Dim r As Range, lz As Long, ls As Integer, i As Long
Set r = ActiveSheet.UsedRange
lz = r(r.Count).Row
ls = r(r.Count).Column
Debug.Print lz, ls
Rows(lz + 1 & ":65536").Hidden = True
Range(Cells(1, ls + 1), Cells(1, 256)).EntireColumn.Hidden = True
End Sub

-> mal ganz doof gefragt: wo muss ich das einfügen?
AW: Noch eine kleine Frage
17.03.2005 11:45:57
Matthias
Hallo Roaky,
eigentlich so:
Alt-F11 für VB-Editor,
Menü Einfügen - Modul
dann in dieses Modul.
Aber wenn du kein VBA kannst, dann mach es doch manuell. Die Ausführung ist sowieso nur einmal nötig.
Gruß Matthias
Anzeige
AW: Noch eine kleine Frage
17.03.2005 11:52:00
roaky
Nee nee, passt schon:
hab den Editor mit Alt+F11 gestartet und bin dann auf Modul - Enfügen gegangen. Dann habe ich das Script eingefügt und abgespeichert.
Beim Neustarten waren dann alle leeren Zellen weg.
Vielen Dank - wieder was gelernt ;)

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige