250 Aufrufe
Gefragt in Tabellenkalkulation von
Hallo,

ich möchte gerne ein Makro ausführen lassen, wie eine Zelle per Formel geändert wurde, ist so etwas möglich?

Viele Grüße

Karlheinz

11 Antworten

0 Punkte
Beantwortet von beverly_ Experte (3.6k Punkte)
Hi Karlheinz,

überwache mit dem Worksheet_Change-Ereignis des Tabellenblattes die Zellen, auf die sich die Formel bezieht.

Bis später, Karin
0 Punkte
Beantwortet von
Hallo Karin,

vielen Dank für deine schnelle Antwort. Ich werde es so bald als möglich testen.

Viele Grüße

Karlheinz
0 Punkte
Beantwortet von
Hallo Karin,

ich habe es getestet, aber bei mir funktioniert es nicht so einfach. Hier mein Code:

Private Sub Worksheet_Change(ByVal Target As Range)
ActiveSheet.Unprotect

If Target.Column = 54 Then  
Cells(Target.Row, 55) = IIf(Target = "", "", Now)
End If

ActiveSheet.Protect
End Sub

Ich denke, da müsste der Code scheinbar umgeschrieben werden, aber wie? Ich suche und finde meistens meine Codes im Internet, ich selbst kann das leider nicht selbst  schreiben.

Viele Grüße

Karlheinz
0 Punkte
Beantwortet von beverly_ Experte (3.6k Punkte)
Hi Karlheinz,

dein Code macht folgendes: trage in Spalte 55 der aktiven Zeile Datum + Uhrzeit ein wenn in Spalte 54 der aktiven Zeile etwas eingetragen wird. Wird dagegen der Inhalt in Spalte 54 gelöscht dann lösche in Spalte 55 ebenfalls den Inhalt. Das hat nun nichts mit einer Formel in einer Zelle zu tun. Deshalb stellt sich die Frage: was genau willst du denn mit VBA erreichen?

Bis später, Karin
0 Punkte
Beantwortet von
Hallo Karin,

der Wert in Spalte 54 soll jetzt durch eine Formel modifiziert werden, deshalb die Frage. Ich sammle verschiedene Daten, die sich öfter mal ändern. Damit ich sehe, in welchem Abschnitt die Werte sich geändert haben, wir das Datum aktualisiert. Jetzt, durch die Formel klappt das nicht mehr.

Ich hoffe, ich habe es etwas verständlich erklärt

Viele Grüße

Karlheinz
0 Punkte
Beantwortet von beverly_ Experte (3.6k Punkte)
Hi Karlheinz,

leider machst du damit nichts klarer.

Wenn in Spalte 54 eine Formel steht und du in dieselbe Spalte etwas von Hand einträgst, dann wird die Formel überschrieben und durch den fixen Eintrag ersetzt.

Jetzt meine konkrete Frage: welche Formel steht in Spalte 54?

Bis später, Karin
0 Punkte
Beantwortet von
Hallo Karin,

ich glaube, du hast da etwas falsch verstanden. Anfangs war in Spalte 54 keine Formel enthalten, da wurde der Wert von Hand eingetragen, da funktionierte der Code einwandfrei.  Da jetzt die Daten immer mehr werden und auch rechnerisch aufwendiger werden, enthält Spalte 54 jetzt eine ganze einfache Formel ("Wenn(Daten!C5>0;Daten!C5;)"). Da ja jetzt nichts mehr von Hand eingetragen wird, funktioniert auch der Code nicht mehr. Es wäre aber für mich vorteilhaft, wenn das Datum trotz Formel eingetragen werden würde. Wenn es aber zu schwierig bzw. zu aufwendig ist, trage ich halt die Werte wieder von Hand ein.

Viele Grüße

Karlheinz
0 Punkte
Beantwortet von beverly_ Experte (3.6k Punkte)

Hi Karlheinz,

doch, ich habe schon richtig verstanden, dass in Spalte 54 eine Formel steht und hatte dir deshalb folgendes empfohlen (mein Beitrag von 01.03.):

Hi Karlheinz,

überwache mit dem Worksheet_Change-Ereignis des Tabellenblattes die Zellen, auf die sich die Formel bezieht. 

Und deine Formel - die du nun endlich gepostet hat - bezieht sich auf die Zelle C5 in Tabelle Daten. Ergo: überwache die Zelle C5, bzw. alle Zellen der Spalte C, auf die sich die Formeln in Spalte 54 beziehen.

Bis später, Karin

0 Punkte
Beantwortet von

Hallo Karin,

- die du nun endlich gepostet hat -

es tut mir Leid, dass ich nicht immer sofort Antworten kann, ich habe den Haken bei "Benachrichtigung" gesetzt, aber ich bekomme keine Email, also muss ich auf verdacht im Forum schauen, ob sich etwas getan hat.

Ich wusste nicht, dass es wichtig ist, welche Formel da steht, ich dachte Formel ist Formel, Hauptsache der Code läuft. 

Wenn ich soviel Ahnung von VBA hätte, könnte ich den Code ja ändern, habe ich aber nicht. Ich wusste auch nicht, dass ich ein anderes Tabellenblatt überwachen kann. Ich versuche ja zu lernen, aber das klappt einfach nicht so, wie ich es möchte.

Viele Grüße

Karlheinz

0 Punkte
Beantwortet von beverly_ Experte (3.6k Punkte)

Hi Karlheinz,

das hat nichts damit zu tun dass du VBA nicht so gut beherrscht sondern einfach damit, dass du hättest rückfragen können, wenn dir an meiner Antwort etwas unklar ist. Als Helfer kann man 1. nicht wissen, wie gut ein Fragesteller das Thema beherrscht und 2. kann man nicht in die Mappe schauen um selbst herauszufinden, was der Fragesteller denn tatsächlich erreichen möchte, wie die Originalbedingungen aussehen und auf was geachtet werden muss. Lade also bitte hier im Forum eine Beispielmappe hoch.

Mit VBA überwacht man, wie ich schon geshrieben hatte, die Zellen, auf die sich die Formel bezieht. Und wenn sich diese Zellen eben auf einem anderen Tabellenblatt befinden als die Formel, überwacht man diese Zellen auf diesem anderen Tabellenblatt - das Formelergebnis ändert sich ja nur, wenn eben diese Ausgangszellen geändert werden.

Bis später, Karin

...