nach Sprachumschaltung
21.06.2010 23:21:18
Jörg-HH
Hi Erich
sorry wegen der späten Meldung - hatte gestern zu 100% Tagesgeschäft zu erledigen.
Die Sprache in der ErrorMeldung soll sich ändern, wenn ich eine Sprachumschaltung betätige (ein einfaches Gültigkeits-Dropdown). Die berührt VBA nicht, sondern stellt per Formel in einer Vokabelliste die passende Sprache in die Spalte, aus der die Vokabeln abgegriffen werden. So wird alles per Formeln mit Vokabeln versorgt, außer Kommentaren und Gültigkeiten. Dafür muß ich VBA nur sagen "guck für diese Gültigkeit in Zelle soundso nach dem Text"
Ich hatte das Problem gestern Nacht noch mit einem Kollegen besprechen können, der mir bissl auf die Sprünge geholfen hat.
Meine Vokabelliste steht in Spalte CT und holt sich mit
=INDIREKT(ADRESSE(ZEILE();SPALTE($CT355)+(VERGLEICH($D$1;$CU$350:$CX$350;0))))
aus den rechts daneben liegenden Zellen die passende Sprache, die ich in D1 einstelle.
Jetzt brachte mich der Kollege auf die Idee, die Input-Message, die ich (in der betreffenden Tabelle) nie benutze, als Angel zu verwenden. Ich schreibe also in die Zelle, deren Error-Message ich editieren will, eine fiktive InputMessage und diese auch in die Spalte links von den Vokabeln. Dann lasse ich danach suchen und picke die passende Vokabel rechts davon heraus.
Private Sub ValidationSprachumschaltung()
Dim rng As Range
Dim rngFind As Range
For Each rng In Me.Range("A14:H18")
If rng.Validation.InputTitle "" Then
Set rngFind = Me.Range("CS:CS").Find(rng.Validation.InputTitle, Me.Range("CS1"), LookIn:= _
xlValues, LookAt:=xlWhole)
If Not rngFind Is Nothing Then
rng.Validation.ErrorMessage = rngFind.Offset(0, 1).Value
End If
End If
Next rng
End Sub
Denke mal, du verstehst den Code besser als ich :-)
Gute Nacht... Jörg