Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
972to976
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
972to976
972to976
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro nach Aktualisierung einer Zelle ausführen

Makro nach Aktualisierung einer Zelle ausführen
25.04.2008 09:27:00
Robin
Moin Cracks,
gibt es eine Möglichkeit, ein Makro automatisch auszuführen, wenn sich der Wert einer Zelle ändert? Ich tippe also was ein, drücke Enter zum Bestätigen und das Makro soll rennen. Am Besten natürlich nur, wenn der Inhalt sich auch wirklich geändert hat.
Vielen Dank für alle Tipps!
Gruß
Robin

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro nach Aktualisierung einer Zelle ausführe
25.04.2008 09:46:00
Renee
Hi Robin,
So (code gehört in die Tabelle, Zelle die geprüft wird ist hier A1):

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address  "$A$1" Then Exit Sub
Application.EnableEvents = False
MeinRennMakro
Application.EnableEvents = True
End Sub


GreetZ Renée

AW: Makro nach Aktualisierung einer Zelle ausführe
25.04.2008 10:34:00
severin
Funktioniert leider nicht. Ich möchte, dass das Makro tabellenblatt_benennen automatisch nach verlassen von Zelle A1 (wo zwingend ein Eintrag gemacht werden muss) aktiviert wird.

Sub tabellenblatt_benennen()
ActiveSheet.Name = [A1]
End Sub


Anzeige
AW: Makro nach Aktualisierung einer Zelle ausführe
25.04.2008 10:42:29
Renee
Hi Severin,
Der Code gehört in das Tabellenblatt, auf dem du den Tabellenblattname automatisch an den Inhalt der Zelle A1 (wenn diese geändert wird!) angepasst wird:

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Address = "$A$1" Then Me.Name = Target.Value
On Error GoTo 0
End Sub


GreetZ Renée

AW: Makro nach Aktualisierung einer Zelle ausführe
25.04.2008 11:06:55
severin
Sorry, ich bin blutiger Anfänger. Wenn ich dieses Makro in mein Tabellenblatt (mit Alt + F11) eingebe erscheint es gar nicht in der Makroauflistung. Wo muss denn welcher Code (Step by Step) eingegeben werden? Die Grundaufgabe ist: In Zelle A1 möchte ich eine Eingabe (Zahl, Datum oder Text) erfassen. Diese wird beim Verlassen (mit Enter, Tab oder Maus) der Zelle automatisch in den Tabellenblattname geschrieben d.h. der Tabellenblattname wird umbenannt. Ich hoffe, ich nerve nicht ;-)

Anzeige
AW: Makro nach Aktualisierung einer Zelle ausführe
25.04.2008 11:26:12
Renee
Hi Severin,
Wenn du alles machst wie vorgeschlagen, musst du das Makro nicht aufrufen und du siehst es auch nicht in der Makroliste, weil das eine Event (Vorgangs) gesteuerte Prozedur ist!
Es passiert alles automatisch, sobald du den Inhalt in der Zelle A1 des Tabellenblatts mit dem Makro veränderst!
GreetZ Renée

AW: Makro nach Aktualisierung einer Zelle ausführe
25.04.2008 11:42:00
Robin
Hey Renee, vielen Dank!
Der Code funktioniert wunderbar! Aber die Kür: Kann ich überprüfen, ob der Inhalt der Zelle verändert wurde? Ansonsten auch nicht tragisch, das wäre nur für die Schnelligkeit.
Viele Grüße
Robin

AW: Makro nach Aktualisierung einer Zelle ausführe
25.04.2008 11:44:00
Robin
Ah, da fällt mir noch ein:
Target.Address "$A$1"
Da wird die Markierung mit einer Zelle verglichen. Wie kann ich denn überprüfen, ob die markierung innerhalb einer Range ist?

Anzeige
AW: Makro nach Aktualisierung einer Zelle ausführe
25.04.2008 11:56:00
Renee
Hi Robin,
Statt nur eine Zelle, ein ganzer Bereich:

IF Intersect(target, Me.Range("A1:A10")) is nothing Then Exit Sub
 ....sonst mache hier was du willst


GreetZ Renée

AW: Makro nach Aktualisierung einer Zelle ausführe
25.04.2008 12:49:52
Robin
Wow, supi! Die Intersect-Methode kannte ich noch nicht. Sag mal, wo erfahre ich denn eigentlich, welche Prozedur bei welchem Event aufgerufen wird? Weiß garnicht, wo ich da suchen soll. Es gibt doch bestimmt auch eine Prozedur, die beim Öffnen des Blattes ausgeführt wird, oder?

AW: Makro nach Aktualisierung einer Zelle ausführe
25.04.2008 13:02:45
Renee
Hi Robin,
Das erfährst du am schnellsten im VB-Editor:
Userbild
1. Tabelle oder DieseArbeitsmappe auswhählen.
2. Dropdown ebenfalls
3. Dropdown zeigt mögliche Events, Name sagt eigentlich wann, aber es gibt auch im VB eine Hilfe!
Greetz Renée

Anzeige
AW: Makro nach Aktualisierung einer Zelle ausführe
25.04.2008 12:59:00
Robin
Okok, wer lesen kann ist klar im Vorteil. Habs gefunden in der Hilfe. Sorry.

AW: Makro nach Aktualisierung einer Zelle ausführe
28.04.2008 10:20:00
Robin
Hallo nochmal, ich hab immernoch eine Frage.
Und zwar versuche ich, die Adresse der veränderten Zelle an eine Prozedur zu übergeben, wofür ich aber anscheinend zu doof bin. Der Code:

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Me.Range("A" & ErstSchraubZeile, "C" & LetzteSchraubZeile)) Is Nothing  _
Then Exit Sub
Application.EnableEvents = False
Call alle_tabellen_ändern(Target)
Application.EnableEvents = True
End Sub


Sub alle_tabellen_ändern(Zelle As Range)
Dim i As Integer
For i = 1 To AnzAuto
Sheets(i).Zelle.Value = Sheets("Referenz").Zelle.Value
Next i
End Sub


Die Fehlermeldung kommt in dieser Zeile:
Sheets(i).Zelle.Value = Sheets("Referenz").Zelle.Value
Und heißt: Objekt unterstützt diese Eigenschaft oder Methode nicht.
Vielen Dank für eure Hilfe!
Robin

Anzeige
AW: Makro nach Aktualisierung einer Zelle ausführe
01.05.2008 15:12:00
Gerd
Hi Robin,
ThisWorkbook.Sheets(i).Range(Zelle.Address).Value = Zelle.Value
Gruß Gerd
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige