Anzeige
Archiv - Navigation
1160to1164
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
Inhaltsverzeichnis

Gültigkeit Fehlermeldg variabel mehrsprachig

Gültigkeit Fehlermeldg variabel mehrsprachig
Jörg-HH
Hallo zusammen,
meine Datei soll mehrsprachig sein. Das klappt bei Zellen per Formel ganz einfach, bei Kommentaren muß ich per VBA auf Zellen mit hinterlegten Texten hinweisen.
Kann ich die Texte der Fehlermeldung bei der Gültigkeitsprüfung ebenfalls auf einfache Weise von woanders herholen (=AB33 oder so klappt leider nicht) oder muß ich da VBA bemühen? Falls ja - wie spreche ich eine Gültigkeitsmeldung in VBA an?
Grüße - Jörg

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

Betreff
Benutzer
Anzeige
Tipp: Makroaufzeichnung
19.06.2010 16:22:17
Erich
Hi Jörg,
ohne VBA wird das vermutlich nicht gehen.
"wie spreche ich eine Gültigkeitsmeldung in VBA an?"
Das bekommst du ganz leicht mittels Makroaufzeichnung raus.
Würde ich jetzt auch tun :-) (brauche ich kaum).
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: Makroaufzeichnung
19.06.2010 16:30:50
Jörg-HH
Hi Erich
ja - natürlich. Geht ganz einfach. Darauf hätte ich auch bei meinem VBA-Level selbst drauf kommen sollen :-))
Schönes WE!
Jörg
Gültigkeit variable Meldungstexte
19.06.2010 22:07:59
Jörg-HH
Hallo Erich und alle Anderen,
hab jetzt mal versucht, das in einen Code zu tun - beim Aufruf der Sub im Modul gibt's Mecker... warum?
https://www.herber.de/bbs/user/70157.xls
Andere Frage: Muß ich den Aufruf in die Worksheet_Change tun oder gibt es andere Möglichkeiten?
vG Jörg
Anzeige
Wann soll die Sprache wechseln?
20.06.2010 10:35:09
Erich
Hi Jörg,
da wäre zuerst einmal das Ziel zu klären.
Wann soll sich denn die Sprache ändern? Doch wohl nicht bei jeder Eingabe in die Tabelle.
Vielleicht immer beim Öffnen der Mappe?
Wonach richtet sich die auszuwählende Sprache, woher nimmt VBA die Info - vom Betriebssystem?
Dass es einen Fehler in a() gibt, ist kein Wunder. Nach
Dim Target As Range
schreibst du
With Target.Validation
Aber was ist Target? Eine leere Variable des Typs Range - also Nothing. Das hat kein "Validation".
Mit der Variablen "Target" aus Worksheet_Change() hat das überhaupt nichts zu tun.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
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
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige