Anzeige
Archiv - Navigation
1272to1276
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ültigkeitsfeld als VBA-Trigger nehmen?

Gültigkeitsfeld als VBA-Trigger nehmen?
Hans
Hallo,
in einer Tabelle wechsle ich über ein Gültigkeitsfeld die Sprache der einzelnen Beschriftungen aus, in dem ich je nachdem, ob die Gültigkeit "englisch", "deutsch" oder "französich" gewählt wurde andere Beschriftungstexte über WVerweis hereinziehe.
Über VBA tausche ich den Text in Fuß- und Kopfzeilen aus.aus.
Dieser Austausch wird gestarten mit dem Druck:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Kann ich irgendie den Trigger ausnutzen, dass ein VBA-Code abläuft, wenn ich eine andere Auswahl im Gültigkeitsfeld nehme, d.h., wenn ich dort eine andere Sprache wähle, dass dann schon die Texte in Kopf- und Fußzeile ausgetauscht werden und nicht erst beim Druckbefehl?
Gruß
Hans
AW: Gültigkeitsfeld als VBA-Trigger nehmen?
24.07.2012 15:58:15
Beverly
Hi Hans,
benutze das Worksheet_Change Ereignis des Tabellenblattes.


AW: Gültigkeitsfeld als VBA-Trigger nehmen?
24.07.2012 16:12:55
Hans
Hallo,
ein Codesegment soll nur ablaufen, wenn eine ganz bestimmte Zelle geändert wird und nicht, wenn irgendeine Zelle auf dem Blatt geändert wird.
Das geht anscheinend (gegoogelt) irgendwie mit der Sequenz:
If Not Application.Intersect...
Aber ich kann zu wenig VBA, um den Code zu komplettieren. Wie müsste die komplette Code-Sequenz aussehen, wenn ich nur ein Makro starte, wenn ich bspw. Zelle D1 ändere?
Gruß
Hans
Anzeige
AW: Gültigkeitsfeld als VBA-Trigger nehmen?
24.07.2012 16:14:06
Hans
sorry Haken vergessen bei Frage noch offen
AW: Gültigkeitsfeld als VBA-Trigger nehmen?
24.07.2012 16:23:35
Bertram
Hallo Hans,
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("D1")) Is Nothing Then Exit Sub
'Hier dann der Rest deines Codes
End Sub
Gruß
Bertram
AW: Gültigkeitsfeld als VBA-Trigger nehmen?
24.07.2012 16:47:36
Hans
Sorry, aber da ändert sich gar nichts, egal, was ich auf Tabelle 1 in Feld D1 ändere.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("D1")) Is Nothing Then Exit Sub
Sheets("Tabelle2").Select
ActiveSheet.Unprotect "Password"
With ActiveSheet
.PageSetup.LeftHeader = .Range("'Tabelle2'!P1").Value
.PageSetup.LeftFooter = .Range("'Tabelle2'!P2").Value
ActiveSheet.Protect "Password", DrawingObjects:=True, Contents:=True, Scenarios:= _
False
Sheets("Tabelle3").Select
ActiveSheet.Unprotect "Password"
With ActiveSheet
.PageSetup.LeftHeader = .Range("'Tabelle3'!P1").Value
.PageSetup.LeftFooter = .Range("'Tabelle3'!P2").Value
.PageSetup.CenterFooter = .Range("'extern 2'!P3").Value
ActiveSheet.Protect "Password", DrawingObjects:=True, Contents:=True, Scenarios:= _
False
End Sub
Gruß
Hans
Anzeige
AW: Gültigkeitsfeld als VBA-Trigger nehmen?
24.07.2012 17:13:45
Hans
Hallo,
auch die Umstellung auf die negierte Variante bringt nichts:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("M1")) Is Nothing Then
AW: Gültigkeitsfeld als VBA-Trigger nehmen?
24.07.2012 18:15:45
Beverly
Hi Hans,
das Worksheet_Change Ereignis kann man auch genau auf die Änderung einer bestimmten Zelle beziehen - also bei Änderung z.B. der Zelle D1 wird der Code gestartet:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$D$1" Then MsgBox "Die Zelle D1 wurde geändert"
End Sub


Anzeige
AW: Gültigkeitsfeld als VBA-Trigger nehmen?
25.07.2012 07:44:49
Hans
Hallo Beverly,
das funktioniert leider nicht, wie gewünscht.
Wenn ich in die Zelle einen anderen Wert eintippe, dan funktioniert es. Wenn ich über das Pull Down Menü der Gültigkeitsdefinition einen Wert auswähle, dann funktioniert es nicht. Und genau über dieses Pull Down Menü wähle ich die ausschließlich zugelassenen Werte aus.
Gruß Hans
AW: Das funktioniert doch ohne Probleme ...
25.07.2012 08:53:21
Hans
Hallo Matthias,
danke, habe Deine Zeilen reinkopiert und jetzt funktioniert es.
Gruß
Hans
Anzeige
AW: Das funktioniert doch ohne Probleme ...
25.07.2012 10:08:05
Beverly
Hi Hans,
das hat auch schon mit meinem Code funktioniert.


Genau das meinte ich doch !
25.07.2012 10:17:08
Matthias
Hallo Karin
Keine Ahnung was Hans falsch gemacht hat ...
Die erste Zeile im Code bei mir war nur ein Überbleibsel und ist nicht notwendig.
Wahrscheinlich hat Hans den Code in ein Modul kopiert und nicht in das Worksheet
Gruß Matthias

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige