Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Makros automatisch ausführen ?!
#1
Guten Morgen,

ich stehe da vor einer großen Herausforderung. Und zwar habe ich eine Tabelle die von Zeit zu Zeit aktualisiert wird.
Hier werden dann auch z. B. Zeilen eingefügt und genau hier ist mein Problem. Es ist gewünscht, das wenn eine Zeile eingefügt wird, sollen die
bestehenden Macros auf dies Zeile ausgeführt werden.

Ist das überhaupt möglich? Ich habe da nix passendes gefunden.

Grüße aus Duisburg
raiman79
Antworten Top
#2
Hallo Raiman,

im einfachsten Fall vielleicht einfach so. (Ins Klassenmodul der Tabelle)
Wird allerdings auch ausgeführt bei Änderungen in Spalte "A" und so weiter. Ansonsten muss man sich noch die Anzahl der Zeilen  merken und diese auswerten.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
'Ausführen bei Aktionen auf einer Zeile
 If Target.Column < 2 Then
    Call MeinMakro1(Target.Row)
    Call MeinMakro2(Target.Row)
 End If
End Sub
____________________
viele Grüße aus Freigericht
Karl-Heinz
Antworten Top
#3
Hallo,

ich hatte die Frage etwas anderst verstanden:

Es wird eine Zeile eingefügt und der Makro soll diese neue Zeile formatieren.

Die erste Frage ist: Welche Zeile wurde eingefügt?

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column > 1 Then Exit Sub
adr = Range("A1").End(xlDown).Offset(1).Row
Debug.Print adr, ActiveSheet.UsedRange.Row
If adr < Cells(Rows.Count, 1).End(xlUp).Row Then
    ActiveSheet.UsedRange.Rows(adr).Interior.Color = vbYellow
End If
End Sub

mfg
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste