Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1220to1224
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 starten

Makro automatisch starten
Franky
Hallo zusammen,
Ich möchte in meiner Beispiel-Datei: https://www.herber.de/bbs/user/75684.xlsm
das Makro starten, wenn sich die Werte in der Spalte A ("A1:A10") ändern.
Dieses Makro funktioniert einwandfrei wenn ich das Makro über die F5-Taste manuell aufrufe!
Sub Inhalte_einfügen()
Range("A1:A10").Select
Selection.Copy
Sheets("Tabelle2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1").Select
End Sub
Wie gesagt, es soll automatisch ablaufen, wenn sich der Wert der festen Zelle ändert: durch direkte Zelleingabe
In diversen Beiträgen soll das angeblich über den Befehl ablaufen:
Sub Worksheet_Change(ByVal Target As Range)
Berechnete Werte sollen dann angeblich mit der Funktion laufen:
Sub Worksheet_Calculate(ByVal Target As Range)
Keines dieser beiden Funktionen konnte ich in meiner Beispiel-Tabelle zu laufen bringen.
Da ich selber Laie auf dem Gebiet bin, bitte ich diese Funktionen in die Beispiel-Tabelle
einzutragen. Ich weiß selber, dass schon viele Beiträge zu diesem Thema gelöst wurden.
Leider konnte ich keine der Beiträge für mich nutzen, weil ich auch nicht genau weiß,
ob der Code in die Tabelle1 oder Tabelle2 geschrieben wird.
Vielen Dank im voraus
Franky
AW: Makro automatisch starten
12.07.2011 22:53:48
Mustafa
Hallo Franky,
rechtsklick auf den Reiter der Tabelle und dann Code Anzeigen.
Dort dann folgenden Code einfügen.
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A1:A10")) Is Nothing Then Exit Sub
Range("A1:A10").Copy Sheets(2).Range("A1")
End Sub

Rückmeldung obs Hilft wäre nett.
Gruß aus der Domstadt Köln.
AW: Makro automatisch starten
12.07.2011 23:06:07
fcs
Hallo Franky,
hier eine Anpassung. Ereignismakros müssen immer unter dem Objekt plaziert werden, in dem das auszuwertende Ereignis passiert.
Gruß
Franz
'Ereignismakro unter Tabelle1
Private Sub Worksheet_Change(ByVal Target As Range)
' Inhalte_einfügen Makro
If Not Intersect(Target, Range("A1:A10")) Is Nothing Then
Range("A1:A10").Copy
Worksheets("Tabelle2").Cells(1, 1).PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Worksheets("Tabelle2").Activate 'Nur erforderlich, wenn du unbedingt die Ansicht auf die _
Tabelle haben willst.
End If
End Sub

Anzeige
AW: Makro automatisch starten
12.07.2011 23:25:42
Franky
Hallo zusammen,
vielen Dank für die Lösung ! - Es läuft prima !!
Franky
Danke für die Rückmeldung owT
12.07.2011 23:29:09
Mustafa

AW: Makro automatisch starten - Noch eine Frage !!
13.07.2011 00:23:24
Franky
Hallo Mustafa und alle anderen,
Wie muss der Code aussehen, wenn sich in der Spalte A Werte berechnen lassen?
Ich bekomme immer einen Debug-Fehler in:
"If Not Intersect(Target, Range("A1:A10")) Is Nothing Then"
Was muss geändert werden ?
Vielen Dank im voraus
Franky
Private Sub Worksheet_Calculate()
'Ereignismakro unter Tabelle1
' Inhalte_einfügen Makro
If Not Intersect(Target, Range("A1:A10")) Is Nothing Then
Range("A1:A10").Copy
Worksheets("Tabelle4").Cells(1, 1).PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Worksheets("Tabelle4").Activate 'Nur erforderlich, wenn du unbedingt die Ansicht auf die _
Tabelle haben willst.
End If
End Sub

Anzeige
_Calculate kennt kein Target! Diese Ereignis-...
13.07.2011 01:44:28
Luc:-?
…Prozedur wird erst nach Abschluss aller Berechnungen des Blattes ausgelöst, Franky!
_Change kennt zwar Target, wird aber nur ausgelöst, wenn sich Zellinhalte ändern, also manuell oder automatisch ein Wert oder eine Fml eingetragen wird. Ein neuer Wert als FmlErgebnis nur auf Grund einer Neuberechnung tut das nicht, nur die Zelle, deren Änderung die Neuberechnung auslöst. Auf die verweist dann auch Target. Wenn du _Calculate benutzen kannst/willst, das auch Sinn macht, ist die fehlerverursachende Zeile und das zugehörige End If zu entfernen.
Hat man dir den geposteten Code so vorgeschlagen…? Nachlesen in der vbHilfe unter Ereignisprozeduren könnte wohl nicht schaden…!
Gruß Luc :-?
Anzeige
AW: _Calculate kennt kein Target! Diese Ereignis-...
13.07.2011 04:43:10
Mustafa
Hallo Luc und Franky,
Wie gesagt, es soll automatisch ablaufen, wenn sich der Wert der festen Zelle ändert: durch direkte Zelleingabe
Deswegen wurde von mir auch nur das Change Ereignis benutzt und nicht das Calculate.
Gruß aus der Domstadt Köln.
AW: _Calculate kennt kein Target! Diese Ereignis-...
13.07.2011 10:02:33
Franky
Hallo Luc und Mustafa,
vielen Dank für den Hinweis. Auch das läuft jetzt prima mit den berechneten Werten.
Franky

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige