Intelligente Gültiglkeit ? gibts sowas in der Art

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Intelligente Gültiglkeit ? gibts sowas in der Art
von: udo
Geschrieben am: 30.10.2003 21:03:34

Hallo ihr Lieben aus dem Forum, ...

Ich hab da mal wieder ein Läckerli ;-)

Habt ihr schon mal über eine Möglichkeit einer Art inteligenter Gültigkeit
nachgedacht ?

Also das man zB.:
Einen best. Bereich ganz normal als Gültigkeit definiert, den man dann verschiedenen Zellen zur Verfügung stellt ( verknüpft ), dann aber die Fehlermeldung ausschaltet, sodass man auch noch weitere Daten in die Zelle
eingeben kann, auch wenn diese bisher noch nicht zur Gültigkeit gehören.

Das geht ja schon, aber gibt es auch ne Möglichkeit, die nun neu eingegebenen
Werte somit gleich in die Gültigkeit aufzunehmen ? ( ohne diese in der eigentlich als Gültigkeitsbereich definierten Spalte ... noch zuvor eingeben muss.

Also das dieser Wert autom. mit aufgenommen wird sozusagen.

Ich hab bisher die neuen Werte erst in die Gültigkeitsspalte neu eingegeben, damit diese dann nachher ebenfalls in den eigentlichen Zellen für die die Gültigkeit ja gelten soll, dann dort zur Verfügung stehn.

Wäre also klasse wenn es die Gültigkeit merkt das ein Wert in eine Zelle eingegeben wurde der noch nicht gültig ist, und diesen dann mit aufnimmt.

Um das irgendwie zu realisieren könnte ich mir vorstellen, das man die Spalte
die man als Gültigkeit definiert, das man dort genügend freie leere Zellen unterhalb mit einbezieht, wo sich dann neu Werte automatisch eintragen, und
ganz perfekt wäre das sich dann die Gültigkeitvorgabe nach jeder erweiterung alphabetisch sortiert.

--------------------------------------------------------------------------

Vielleicht hat sich ja der Eine oder Andere von Euch auch schon mal diese
Frage gestellt? Meint ihr das könnte man lösen ?

Freu mich schon auf Eure Anregungen, vielleicht gibts da nen Weg , das wir das gemeinsam lösen könnten ...

Also ich erwarte jetzt nicht unbedingt eine fertige Lösung, ( ausser Jemand hat schon eine Lösung dafür ? ), ... ist vielmehr als Anregung für Alle gedacht .

Lieben Gruß einstweilen

udo D.

Bild


Betrifft: AW: Intelligente Gültiglkeit ? Kann man kreieren.
von: Boris
Geschrieben am: 30.10.2003 21:29:21

Hi Udo,

ich hab mal ne kleine Beispieltabelle hochgeladen. Geht aber nur in Verbindung mit VBA. Das ist alles noch nicht 100% ausgereift und wasserdicht - soll aber auch nur das mögliche Prinzip verdeutlichen.

Der enthaltene VBA-Code ist nur ein Worksheet-Change-Ereignis. Mehr Code ist nicht drin.

https://www.herber.de/bbs/user/1684.xls

Grüße Boris


Bild


Betrifft: Hi Boris, Mensch das is ja geil, ....
von: udo
Geschrieben am: 30.10.2003 21:51:58

... also das is es. wow, Hut ab ...

Ich schau mir das mal in aller Ruhe an, um es nach zu vollziehen.
Aber hier schon mal Gratulation an dich , und ein herzliches Dankeschön ;-)

Wenn mir noch was einfällt poste ich später mal noch,

Super... ,

Das is es ;-)

Gruß udo


Bild


Betrifft: AW: Intelligente Gültiglkeit ? Kann man kreieren.
von: Rainer Quaas
Geschrieben am: 30.10.2003 22:18:00

Hallo Boris,

zufälligerweiser wollte ich gerade die gleiche Frage ins Forum stellen, auch von mir ein herzliches Dankeschön. Will versuchen den Code noch etwas umzuformen, damit die Einträge gleich in alphabethischer Reihenfolge erscheinen.

Gruß Rainer


Bild


Betrifft: Etwas optimierter Code mit Abfrage und Sortierung
von: Boris
Geschrieben am: 30.10.2003 22:36:39

Hi Rainer, hi Udo,

noch 2 kleine Ergänzungen:

1.) Bei einem neuen Eintrag wird gefragt, ob dieser mit in die Listenauswahl übernommen werden soll (w/Schreibfehlern z.B.)

2.) Die Liste sortiert sich immer alphabetisch.

Option Explicit


Private Sub Worksheet_Change(ByVal Target As Range)
Dim WsI As Worksheet
Dim C As Range
Set WsI = Worksheets("Internes")
On Error GoTo FEHLER
If Target.Validation.InCellDropdown Then
    With WsI
        Set C = .Range("A:A").Find(Target, , , xlWhole)
        If C Is Nothing Then
            If MsgBox("Wollen Sie den Eintrag " & Target & " mit in die Listenauswahl übernehmen?" _
                , vbYesNo, "Neuer Eintrag") = vbNo Then Exit Sub
            .Range("A65536").End(xlUp).Offset(1) = Target
            .Range("A:A").Sort .Range("A1"), xlAscending
        End If
    End With
End If
FEHLER:
End Sub


Grüße Boris


Bild


Betrifft: AW: Etwas optimierter Code mit Abfrage und Sortierung
von: Ra
Geschrieben am: 30.10.2003 22:55:42

Hallo Boris,

warst schon wieder schneller; grad' wollt' ich meinen Code ins Forum stellen, Deiner ist jedoch besser.

Gruß Rainer


Bild


Betrifft: AW: Noch mal nachgehakt
von: Rainer Quaas
Geschrieben am: 30.10.2003 23:09:23

Hallo Boris,

jetzt hat's mich gepackt.

Kleiner Exkurs:
Wie müßte die Codezeile aussehen, um den Listenbereich in ein Array einzulesen und nur die Eintäge in der Array-Variablen sortieren?

Gruß Rainer


Bild


Betrifft: Excel-Array - null Problemo ; VBA-Array -
von: Boris
Geschrieben am: 30.10.2003 23:15:02

Hi Rainer,

...ist (noch) nicht mein Ding, da ich mich bei VBA noch so ziemlich in den Kinderschuhen befinde.
Allerdings sehe ich hier auch nicht die Notwendigkeit, die Einträge in eine Array-Variable zu packen.

Grüße Boris


Bild


Betrifft: AW: Excel-Array - null Problemo ; VBA-Array -
von: Rainer Quaas
Geschrieben am: 30.10.2003 23:25:48

Hallo Boris,

Du hast vollkommen recht; in diesem Fall bringt es nicht viel.

Mir ging's halt nur darum, wie man Datenfelder in Variable packt und wie man dann diese Variablen manipulieren, sortieren, erweitern usw. kann. Der Code läft halt viel schneller (bei großen Datenbeständen) ab, wenn zuvor die Daten aus den Zellen in ein Array eingelesen werden. Nur habe ich keine Ahnung wie man mit Array-Variablen umgeht.
Der Vorteil ist halt auch das die Ursprungsdaten nicht verändert werden und nur die Daten im Array "benutzt" / "verändert" werden.

Gruß Rainer


Bild


Betrifft: AW: Excel-Array - null Problemo ; VBA-Array -
von: PeterW
Geschrieben am: 30.10.2003 23:35:32

Hallo Rainer,

schau mal links unter Excel-FAQ - xlBasics - Variablen und Arrays; dürfte zumindest einen ersten Eindruck geben.

Gruß
Peter


Bild


Betrifft: AW: Excel-Array - null Problemo ; VBA-Array -
von: Rainer Quaas
Geschrieben am: 31.10.2003 10:24:05

Hallo Peter,

danke für den Hinweis.

Gruß Rainer


Bild


Betrifft: Also das ist mal ein toller thread geworden,..
von: udo
Geschrieben am: 30.10.2003 23:39:06

Ich muss euch sehr danken für eure tollen Vorschläge, Jungs. Vielleicht kann ich euch auch was gutes tun, hab da ne tolle Überraschung in Form einer Exceldatei.
Kann man immer brauchen, ist was zum Vokabeltraining.

hat ca. 3MB gezippt. wenn ihr mir eure email an udo-d@web.de schickt, dann schick ich euch ne Kopie rüber, als kleines dankeschön meinerseits.

Find ich klasse eure Beiträge, Danke schön,...

Lieben Gruß udo


Bild


Betrifft: AW: Auswahlliste gegen Gültigkeitsliste
von: Rainer Quaas
Geschrieben am: 31.10.2003 10:22:27

Hallo Udo und Boris,

dies mit der erweiterbaren Gütligkeitsliste ist schon ganz angenehm, noch besser würde ich es aber finden, wenn statt der Gültigkeitsliste eine selbstdefinierte "Auswahlliste" über die rechte Maustaste aufzurufen wäre.

Die Standard-Auswahlliste berücksichtigt nur Einträge die überhalb der aktuellen Zelle stehen. Ist es möglich eine selbstdefinierte "Auswahlliste" per VBA zu erzeugen vielleicht mit Autotexterkennung?

Gruß Rainer


Bild


Betrifft: AW: Auswahlliste gegen Gültigkeitsliste
von: udo
Geschrieben am: 31.10.2003 16:44:26

Hallo Rainer,

Sorry , aber ich versteht deinen Einwand nicht ga´nz, da der Vorschlag von
Boris bei mir perfekt funktioniert.

Hast du auch alle deine Zellen markiert für die die Gültigkeit gelten soll, und dort dann die Gültigkeit noch zusätzlich zugewiesen ?

In Beispiel von Boris sind ja nur die gelben Zellen mit der Gültigkeit belegt.

Oder hab ich dich da jetzt völlig falsch verstanden ?

Gruß einstweilen

udo


 Bild

Beiträge aus den Excel-Beispielen zum Thema " Tabellen kopieren"