online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon RPB vom 02.02.2019, 12:34 Options

Wie kann man ein Makro starten wenn ein bestimmter Wert in ein Zelle erreicht ist

Ich möchte ein bestimmtes aufgenommenes Makro automatisch ausführen wenn ein bestimmter Zielwert in einer Zelle erreicht ist

Danke


Antwort schreiben

Antwort 1 von Beverly vom 02.02.2019, 13:06 Options

Hi,

wenn sich der Wert aus einer Formelberechnung ergibt ohne dass ein Wert in eine Zelle eingegeben wird auf die sich die Formel bezieht, dann verwende das Worksheet_Calculate Ereignis dafür. Bezieht sich der Formelwert auf eine Zelle in die ein Wert eingegeben wird, kannst du das Workshet_Change Ereignis verwenden.

Bis später,
Karin

Antwort 2 von RPB vom 02.02.2019, 13:22 Options

Danke Karin,

da ich aber kein VBA kann eine bitte.

Ich möchte das Makro X ausführen wenn Zelle X100>1001
kannst du mir den gesamten Quelltext schreiben.

1000000 Dank

Ralf

Antwort 3 von Beverly vom 02.02.2019, 13:36 Options

Hi Ralf,

du müsstest aber noch mitteilen, wie sich der Wert 1001 ergibt: also entweder durch Änderung einer (anderen) Zelle und wenn ja welcher, oder werden Daten aus einer externen Datenquelle eingelesen, sodass kein direkter Einrag in eine Zelle, der mittels ET abgeschlossen wird, erfolgt. Davon hängt der Code ab.

Bis später,
Karin

Antwort 4 von RPB vom 02.02.2019, 13:45 Options

Hallo Karin,

der Wert 1001 fragt nur eine andere Zelle ab (z.B. A1)
in der das Datum (aber als Zahlenwert vorliegt).

Danke bis bald

Ralf

Antwort 5 von Beverly vom 02.02.2019, 14:17 Options

Hi Ralf,

irgendwie reden wir aneinander vorbei. Nochmal ganz langsam: wenn Zelle X100 (Spalte X Zeile100) den Wert 1001 übersteigt, soll der Code ausgelöst werden. Der Wert in X100 bezieht sich z.B. (Zitat von dir) auf Zelle A1 - und welche noch? Es müssen alle Zellen geprüft werden, die in die Formel in X100 eingehen, ob dort eine Veränderung vorgenommen wurde.

Bis später,
Karin

Antwort 6 von RPB vom 02.02.2019, 16:34 Options

Hallo Karin

Deine Worte haben mich noch mal veranlasst über das Problem neu nachzudenken.

Vielleicht ist eine andere Lösung besser: Wenn ein anderes Makro den Wert in Zelle X100 einträgt, braucht die Abfrage der Zelle X100 nur einmal beim Start von Excel geprüft werden. Ist der Zielwert (eine Zahl) dann über >1001 soll das Makro X automatisch starten.

Antwort 7 von Beverly vom 02.02.2019, 16:57 Options

Hi Ralf,

leider verstehe ich nun gar nichts mehr...

Wenn du ein Makro bei Öffnen der Arbeitsmappe ausführen willst, brauchst du nur unter DieseArbetismappe folgenden Code zu schreiben

Private Sub Workbook_Open()
    If Worksheets("Tabelle1").Range("X100") > 1001 Then dein_makroname
End Sub


Bis später,
Karin

Antwort 8 von RPB vom 02.02.2019, 18:06 Options

Danke Karin,

Ist das ein Problem das Excel nicht beendet wird sondern Wochenlang durchläuft. Erfolgt trotzdem eine Aktualiesierung
wenn z.B. auf ein anderes Tabellenblatt gewechselt wird.

Leider bin ich nur Ing. und habe mich mit Programmierung noch nicht befassen müssen, so das ich gleich ein Syntaxfehler habe.

Private Sub Workbook_Open()
If Worksheets("Tabelle1").Range("X100") > 1001 Then Makro_X()
End Sub

Antwort 9 von gast34 vom 02.02.2019, 18:17 Options

Syntax Error!

then Call "makro_x"

Antwort 10 von RPB vom 02.02.2019, 18:26 Options

Danke Gast 34

warum wird das makro nicht gestartet wenn ich die arbeitsmappe öffne.

Private Sub Workbook_Open()
If Worksheets("Tabelle1").Range("A1") > 1001 then Call "makro_x"
End Sub

mfg

Ralf

Antwort 11 von Beverly vom 02.02.2019, 18:31 Options

Hi Ralf,

dann muss der Code nicht im Workbook_Open Ereignis sondern im Workbook_SheetActivate Ereignis stehen und sollte so aussehen:

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    If Worksheets("Tabelle1").Range("X100") > 1001 Then Makro_X  ' <== die Klammern mussten weg
End Sub


Er gehört unter DieseArbeitsmappe. Sobald eine beliebige Tabelle aktiviert wird, wird der Code ausgeführt.

Bis später,
Karin

PS:
Zitat:
Leider bin ich nur Ing.

Was ist daran so Schlimmes oder Schlechtes? Ich bin auch nurGeologe und Programmieren ist nur mein Hobby. Niemand braucht sich doch für etwas zu enschuldigen oder gar zu schämen, was er (noch) nicht beherrscht. Jeder hat irgendwann einmal angefangen... :-)

Antwort 12 von RPB vom 02.02.2019, 19:02 Options

Hey Karin,

geht irgendwie nicht obwohl das macro im editor läuft.

Macro.xls - Tabelle1 (code)

Geologe feiner Job

mfg

Ralf

Antwort 13 von Beverly vom 02.02.2019, 20:08 Options

Hi Ralf,

Was willst du damit sagen: "Macro.xls - Tabelle1 (Code)"?

Beschreibe doch bitte einmal ganz genau Schritt für Schritt, wass in deiner Arbeitsmappe passiert und wann was ausgeführt werden soll. Versuche, es dabei so erklären, wie du selbst es erklärt haben möchtest, wenn du davon überhaupt keine Ahnung hättest - denn ich kenne weder deine Arbeitsmappe noch den Prozess, den du damit nachvollziehen willst.

Bis später,
Karin

Antwort 14 von RPB vom 03.02.2019, 14:41 Options

Hallo Karin,

wenn es Dir möglich sein sollte schicke mir mal eine Beispieltabelle auf meine Mail dann begreif ich das schneller ;-)

mfg

Ralf

ralf-peter@dr-buenning.de

Antwort 15 von Beverly vom 03.02.2019, 15:08 Options

Hi Ralf,

da du nicht auf meine Frage/Bitte eingegangen bist, muss ich vom vorherigen Stand ausgehen. Der Code in der hochgeladenen Arbeitsmappe bewirkt folgendes: wenn du die Arbeitsmappe verlässt und wieder aktivierst, wird eine MsgBox angezeigt, wenn der Wert in Tabelle1!A1 > 1001 ist. Wert in A1 ergibt sich aus Formel =B1+C1. Ich habe A1 genommen, da sie im direkten Sichtbereich liegt.

Bis später,
Karin

Link zum Download

Antwort 16 von RPB vom 03.02.2019, 16:28 Options

Danke Karin,

jetzt bin ich dahintergestiegen.

Warum schreibts Du ( Then Makro_X ) das hat den Syntaxfehler rausgeworfen bei (Then X) ging es endlich.

Ich teste das mal gleich in meiner Anwendungssoftware.
dann melde ich mich wieder.

bis bald

Ralf

Antwort 17 von Beverly vom 03.02.2019, 16:49 Options

Hi Ralf,

es gibt 2 Möglichkeiten: entweder du schreibst Then Call ("Dein_Makro") oder du schreibst Then Dein_Makro. Welche Excelversion verwendest du? Ich arbeite mit 2002 und 2003 und in beiden funktioniert die letztgenannte Variante problemlos.

Bis später,
Karin

Antwort 18 von RPB vom 03.02.2019, 18:48 Options

Hallo Karin,

Ich verwende 2003, ich habe die Variante schon in mein Programm eingefügt. Es funktioniert sogar wie ich es mir gedacht habe - 1000 Dank

Bis bald

mfg

Ralf

Ähnliche Themen

Makro
Pascal412  02.03.2007 - 97 Hits - 1 Antwort

Makro in Excel: Dateiname aendern
chris011  12.06.2007 - 31 Hits - 1 Antwort

Inhalt einer Zelle in Abhängigkeit vorgeben
ullrichm  19.06.2007 - 155 Hits - 6 Antworten

Kontrollkästchen
Rudi81  12.10.2007 - 133 Hits - 7 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026