Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro automatisch starten

Makro automatisch starten
08.12.2014 20:04:30
Friedhelm

Hallo liebe Excel Gemeinde,
ich bin in der Tabelle1 und möchte durch ein Makro einen Hinweis bekommen, wenn auf Tabelle2 sich der Wert von "ja" auf "nein" in der Spalte D ändert.
Es können mehrere Hundert Zeilen sein, die den Wert ja oder nein haben. Ich möchte in der MsgBox auch den Wert der entsprechenden Spalte A angezeigt bekommen.
Ich habe Beispiel gefunden wie es auf dem gleichen Tabellenblatt geht bekomme es aber nicht umgesetzt wenn die Änderung auf einem anderen Tabellenbaltt ist.
Ich bitte um eure Hilfe
Friedhelm

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro automatisch starten
08.12.2014 20:08:44
Hajo_Zi
Hallo Friedhelm,
nur wenige sehe Dein Makro und können ein anpassen.
Der Code gehört unter Tabelle2.

AW: Makro automatisch starten
08.12.2014 20:38:11
Friedhelm
Hallo Hajo,
es gibt noch kein Makro sondern bei euch gefundene Beispiele die ich so nicht nutzen kann.
Ich dachte es wäre leichter so ein Makro neu aufzubauen.
Das gefundene Beispiel:
Private Sub Worksheet_Calculate()
If Range("AE12") = 1 Then
MsgBox "Eins"
ElseIf Range("AE12") = 2 Then
MsgBox "Zwei"
End If
End Sub
Mein Problem ist, wie schreibe ich es, wenn ich auf Tabelle1 bin, Werte eingebe die dazu führen das auf Tabelle2 in der Spalte D der Wert von ja auf nein wechselt.
Gruß
Friedhelm

Anzeige
AW: Makro automatisch starten
09.12.2014 08:58:40
Friedhelm
Guten Morgen,
da Problem von gestern ist noch offen, ich hatte nur nicht das Häkchen für die offene Frage gesetzt.
Vielleicht finden wir noch eine Lösung
Gruß
Friedhelm

Calculate kennt kein Target
09.12.2014 19:00:38
Frank
Hallo Friedhelm,
Dein Problem ist eher, dass Worksheet_Calculate kein Target kennt, wie Worksheet_Change. Damit wirst Du nicht erfahren, in welcher Zelle sich was geändert hat, es sei denn, Du schreibst beim Öffnen der Arbeitsmappe die aktuellen Werte ('Ja' oder 'Nein') in eine extra Spalte und vergleichst nach jeder Eingabe in Tabelle 1, ob beide Spalten noch identisch sind. Hat sich eine Zeile geändert, kannst Du dann den zugehörigen Wert in Spalte A anzeigen lassen. Nach Anzeigen der MsgBox musst Du natürlich dann die jetzt aktuellen Werte wieder in die Sicherungsspalte schreiben.
Machbar - aber sinnvoll?
Wie komplex ist denn die Berechnung, die zu 'Ja' oder 'Nein' führt? Vielleicht ist es einfacher´, die Eingabewerte zu überwachen, die dann zum Wechsel führen?
Grüsse,
Frank

Anzeige
AW: Calculate kennt kein Target
10.12.2014 15:33:01
Friedhelm
Hallo Frank,
danke das du dich des Themas angenommen hast.
Der Begriff Target sagt mir nichts. Meine Überlegung geht dahin, wenn sich durch Berechnung ein Wert von JA auf NEIN ändert, kann dann ein Makro eine MsgBox öffnen?
Dein Vorschlag mit der Zusatzspalte ist interessant, aber der Vergleich nach jeder Eingabe ist nicht machbar, ev. kann man nach jedem Öffnen der Datei den Vergleich durchführen.
Vielleicht finden wir aber noch eine bessere Lösung.
Gruß
Friedhelm

Achtung - viel Text!
10.12.2014 15:50:06
Frank
Hallo Friedhelm,
das Worksheet_Change-Ereignis kennt die Adresse der Zelle, in der sich etwas geändert hat (das Target). Das gibt einem die Möglichkeit, bestimmte Zellen (auch ganze Zeilen oder Spalten) zu überwachen. Das gelingt aber nur im aktiven Tabellenblatt.
Das Worksheet_Calculate-Ereignis weiss dagegen nichts von einzelnen Zellen, wird aber auch ausgeführt, wenn das Blatt nicht aktiviert ist (wie bei Dir der Fall sein soll).
Den Code ins Calculate-Ereignis zu schreiben, hiesse, jede Berechnung in jeder Zelle (in Blatt 2) würde den Code zur Ausführung bringen. Das heisst, Du bekommst zwar eine Nachricht, wenn auf Blatt 2 etwas berechnet wurde, weisst aber nicht, wo. Und Du weisst auch nicht, welcher Wert da vorher stand (soviel zu wenn sich durch Berechnung ein Wert von JA auf NEIN ändert). Demzufolge müsstest Du nach jeder Berechnung in Blatt 2 alle Werte auf Veränderung prüfen (damit fällt auch das flach: ev. kann man nach jedem Öffnen der Datei den Vergleich durchführen). Das geht aber nur, wenn Du eine 'Sicherungskopie' der vorherigen Werte hast - die Berechnung wird ja sofort ausgeführt und das Ergebnis eingefügt. Deshalb müsstest Du auch nach jeder Änderung alle Werte neu sichern und nach jeder Änderung alle Werte auf Veränderung prüfen.
Grüsse,
Frank

Anzeige
AW: Achtung - viel Text!
11.12.2014 12:25:13
Friedhelm
Hallo Frank,
vielen Dank für diese ausführliche Erläuterung.
Hierdurch ist es mir möglich den beschriebenen Zusammenhang zu verstehen.
Ich werden also überlegen, ob ich mir einen Wert in die dann aktuelle Tabelle lege, der dann mit dem Worksheet_Change-Ereignis auszuwerten ist
Ich würde dann dafür ggf. eine neue Nachricht aufmachen.
Danke und Gruß
Friedhelm

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige