Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1944to1948
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

makro automatisch ausführen, in der geänderten Zelle

makro automatisch ausführen, in der geänderten Zelle
27.09.2023 10:20:17
Ronny
Hallo zusammen

ich habe eine Frage, man kann ja über

Private Sub Worksheet_Change(ByVal Target As Excel.Range)

Private Sub Worksheet_Change(ByVal Target As Excel.Range)


Application.ScreenUpdating = False


Call Dienstplan_färben

Application.ScreenUpdating = True

End Sub



das Makro bei Änderung allein starten lassen.

Kann man irgendwie definieren, das dieses Makro nicht auf dem kompletten Blatt angewendet wird, sondern nur in der geänderten Zelle?

Ich würde gern die Dauer der Ausführung verringern, weil es aktuell lange dauert bis das Makro durchgelaufen ist.

MFG Ronny

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

Betreff
Datum
Anwender
Anzeige
AW: makro automatisch ausführen, in der geänderten Zelle
27.09.2023 10:25:18
onur
Das gepostete Makro macht nix ausser ein anderes (Dienstplan_färben) aufzurufen. Wenn du also ein Problem damit hast, musst du es dort suchen.
AW: makro automatisch ausführen, in der geänderten Zelle
27.09.2023 10:45:55
Ronny
Ach ja da war ein fehler ich habe in der Makro was aufgerufen wird eine Range festgelegt in der das Makro ausgeführt wird.

Sub Dienstplan_färben()


Dim Zelle As Range
Dim bereich As Range
Dim Bereich2 As Range

Set bereich = Range("A3:AF25")



Kann ich die Range auf die zellen ändern in denen die getätigte Änderung stattgefunden hat?

LG Ronny
AW: makro automatisch ausführen, in der geänderten Zelle
27.09.2023 10:47:37
onur
Es gibt jetzt eine neue Erfindung, die sich Satzzeichen nennt. Die macht Sätze verständlich!
Anzeige
AW: makro automatisch ausführen, in der geänderten Zelle
27.09.2023 10:57:11
Ronny
Hier mal die Beispieldatei

https://www.herber.de/bbs/user/163129.xlsm



Also ich würde gern, das wenn ich die Zelle F4 ändere, er das Makro ausführt und zwar nur in der Zelle F4.
Wenn ich die Zelle J7 ändere, er das Makro nur in Zelle J7 ändert usw.

Also das Makro nur in der Zelle ausgeführt wird in der auch die letzte Änderung war.


Das Makro überprüft nach Zellinhalt und färbt diese dann in der entsprechenden Farbe.

Habe es diesmal extra mit mehr Satzzeichen versucht,

LG

Ronny
Anzeige
AW: makro automatisch ausführen, in der geänderten Zelle
27.09.2023 11:19:15
onur
"Habe es diesmal extra mit mehr Satzzeichen versucht, " - Das war aber nett von dir? Hat doch gar nicht wehgetan - oder ?
1) Das Makro, das du zuerst gepostet hattest, kann doch gar nicht gelaufen sein, da es im Modul der Mappe statt im Modul des Blattes steht.
2) Wozu brauchst du ein Makro, um Zellen je nach Wert zu färben ? Das kann man einfach mit bedingter Formatierung erreichen.
AW: makro automatisch ausführen, in der geänderten Zelle
27.09.2023 12:33:44
Ronny
Hallo Onur,

Zu 1)

Ich hatte es in der Beispielmappe ins falsche Modul gespeichert.

zu 2)

ich würde es ungern über bedingte Formatierung machen, da ich andere bedingte Formatierungen schon laufen habe und es in VBA für mich einfacher ist neue farbbedingungen zu erstellen als diese dann in den Bedingten Formatierungen einzufügen.

Bisher klappte mein Mappe auch immer so.

Wenn ich es über Worksheet activate mache geht es auch weiterhin sehr schnell. Jedoch ändert er natürlich die Farbe nicht wenn ich im activen Blatt etwas ändere. Dies war mein Ziel.


Da ich gleich keinen Zugriff mehr auf die Datei habe, kann ich mich erst wieder am Montag damit beschäftigen.

Falls du oder jemand anders meinst, das dies generell nicht möglich ist, bedanke ich mich trotzdem schon einmal für deine Mühe.

LG

Ronny
Anzeige
AW: makro automatisch ausführen, in der geänderten Zelle
27.09.2023 10:26:24
Oberschlumpf
Hi

dieser Code...


Private Sub Worksheet_Change(ByVal Target As Excel.Range)

If Target.Address = "$A$1" Then
Application.ScreenUpdating = False
Call Dienstplan_färben
Application.ScreenUpdating = True
End If

End Sub

...würde dein Makro nur starten, wenn du - nur - in Zelle A1 etwas änderst.

Aber sehr wahrsch würde dein Makro dann auch lange dauern, weil ja egal ist, WO du etwas änderst, sondern wichtig ist, WAS GENAU macht dein Makro?

Daher würd ich vorschlagen, zeig uns per Upload eine Bsp-Datei, mit Bsp-Daten, mit deinem Makro, unnnnd...
...beschreib noch mal genauer, wann genau soll dein Makro gestartet werden, und was genau soll dein Makro eigtl tun?

Ciao
Thorsten
Anzeige

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige