Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Makro starten in Abhängigkeit von Zellinhalt





Frage

Hallo liebe Excelfreunde, wieder mal stehe ich quasi auf dem Schlauch... Ich möchte ein Makro starten (es soll ein Wasserzeichen in ein Tabellenblatt eingefügt werden), wenn in dem Tabellenblatt "Vorgaben" in der Zelle K14 der Eingabewert kleiner als 1,4 ist. Wenn der Wert größer als 1,4 ist, soll das Wasserzeichen verschwinden bzw. gar nicht auftauchen. Und genau hier liegt das Problem: mit meinem kleinen Anfängermakro schaffe ich es, mit eimem Makro das Makro Wasserzeichen() zu aktivieren und auch entsprechend das Makro Wasserzeichen_aus() anzusprechen. Wenn ich aber gar kein Wasserzeichen habe, da der Wert in Zelle K14 sofort größer als 1,4 ist, oder z.b. von 2,1 auf 2,7 geändert wird, dann bekomme ich eine Fehlermeldung (Laufzeitfehler, das Element... wurde nicht gefunden). Leuchtet mir ja auch ein, aber ich weiß nicht, wie ich es ändern kann, weil ich keine Ahnung von VBA habe:-( Dazu würde ich gerne, wenn in besagtem Tabellenblatt "Vorgaben" K14 kleiner als 1,4 ist, auch in weiteren Tabellenblättern mein Wasserzeichen Makro ausführen lassen (Tabellenblatt "Buchhaltung", "Aufträge", "PM"), und damit bin ich ja total überfordert. Hier mein Makro (steht in Tabelle Vorgaben) Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) If [K14] < 1.7 Then Call Wasserzeichen Else Call Wasserzeichen_aus End If End Sub Ich hoffe, es ist alles verständlich! Kann mir jemand helfen? Vielen Dank schon mal im Voraus für Eure Mühe, viele Grüße Silvia

Antwort 1 von gast123

hi all

setze das makro in deine wunschtabellen

alt +f11/projektexplorer/DeineTabelle

gruss gast123

Antwort 2 von meinTipp

Hallo Silvia,
um den Fehler abfangen zu können, müssten wir wissen, wie die Makros Wasserzeichen und Wasserzeichen_aus aussehen.
Ich weiß momentan nicht genau, was du mit Wasserzeichen meinst.
Also stelle sie bitte hier ein.

Um mit diesem Ereignis mehre Tabellenblätter zu bearbeiten, solltest du
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
im Modul "DieseArbeitsmappe" benutzen.
Dort kann man das Change-Ereignis in allen Tabellenblättern bearbeiten.

Gruss Rolf

Antwort 3 von sisa

Guten morgen Gast123 und Rolf,

vielen Dank Euch Beiden für die Antworten; ich habe das Makro in die Tabellen gesetzt, wie von gast 23 angeregt, und jetzt klappt es auf den ersten Blick erstmal tatsächlich:-) Werde es noch genau prüfen und mich dann ggfls. noch mal melden und meine Codes einstellen.

Danke für die Hilfe nochmals,
viele Grüße
Silvia