Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Makro automatisch starten

Forumthread: Makro automatisch starten

Makro automatisch starten
03.05.2002 15:47:49
Mike
Hallo,
ich habe in einem Modul folgendes Makro stehen:
Option Explicit
Sub BerDopp()
Dim c As Range
Dim SuBe As String
Dim laR As Long
laR = Cells(Rows.Count, 1).End(xlUp).Row
SuBe = "A1:A" & laR
Range(SuBe).Interior.ColorIndex = xlNone
For Each c In Range(SuBe)
If WorksheetFunction.CountIf(Range(SuBe), c.Value) > 1 Then _
c.Interior.ColorIndex = 36
Next c
End Sub
Um es auszuführen, muss ich es über Alt + F8 starten.
Wie müsste es verändert und wohin geschrieben werden, damit es automatisch startet?

Gruß
Mike

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Ereignisprozedur
03.05.2002 16:18:12
Martin Beck
Hallo Mike,

das ginge als Ereignisprozedur. Die Frage ist bloß, bei welchem Ereignis das Makro automatisch starten soll, z.B. beim öffnen der Datei, beim Eintrag in eine (bestimmte?) Zelle, beim Wechsel des Tabellenblattes usw.

Gruß
Martin Beck

Re: Ereignisprozedur
03.05.2002 16:33:32
Mike
Hi Martin Beck,
wenn ich Veränderungen in Spalte A vornehme, soll das Makro gleich ausgeführt werden.

Gruß
Mike

Anzeige
Re: Ereignisprozedur
03.05.2002 17:24:33
Martin Beck
Hallo Mike,

folgenden Code dem Klassenmodul der Tabelle zuweisen (rechter Mausklick auf das Register und dann "Code zuweisen":

Gruß
Martin Beck

Re: Ereignisprozedur
03.05.2002 18:47:22
Mike
Hallo Martin,
irgenwie habe ich etwas durcheinandergebracht. Sorry.
Wie kann ich es anstellen, dass nachfolgendes Makro, das in einem allg. Modul steht, automatisch gestartet wird, wenn in Spalte A Veränderungen vorgenommen werden?
Jetzt muss ich das noch manuell über Alt+F8 starten.

Option Explicit
Sub InSpaltenTrennen()
Application.ScreenUpdating = False 'Bildschirmaktualisierung abschalten.
Dim c As Range
Dim t1 As String, t2 As String
For Each c In Selection
t1 = Left(c.Text, InStr(c.Text, ",") - 1)
t2 = Right(c.Text, Len(c.Text) - InStr(c.Text, ","))
t2 = Left(t2, Len(t2) - 1)
c.Offset(0, 1).NumberFormat = "@"
c.Offset(0, 1).Value = t1
c.Offset(0, 2).NumberFormat = "@"
c.Offset(0, 2).Value = t2
Next c
Application.ScreenUpdating = True 'Bildschirmaktualisierung wieder einschalten.
End Sub

Gruß
Mike

Anzeige
Re: Ereignisprozedur
04.05.2002 13:57:34
Martin Beck
Hallo Mike

Zuweisung siehe frühere message.

Gruß
Martin Beck

Forumthreads zu verwandten Themen