Microsoft Excel

Herbers Excel/VBA-Archiv

Funktionsstart nach Makroaufzeichnung

Thema: Funktionsstart nach Makroaufzeichnung
Excel-Version: 8.0 (Office 97)

Betrifft: Funktionsstart nach Makroaufzeichnung
von: Thomas
Geschrieben am: 18.02.2003 - 18:01:12

Hallo Zusammen

Jedesmal wenn ich ein Makro starte oder aufzeichne, wird an einer bestimmte Stelle des Makros eine von mir unter einem modul eingefügte Funktion ausgeführt.
Wie kann ich das verhindern?

mfg Thomas

  

Wie kommt das ?
von: Thomas
Geschrieben am: 18.02.2003 - 19:28:43

Ich habe nochmal einiges versucht, aber immer wieder werden die Funktionen ausgeführt, wenn ich ein Makro starte.

  

von was kommt das ?
von: th.heinrich
Geschrieben am: 18.02.2003 - 20:52:28

hallo auch Thomas,

wie soll das Forum auf diese frage eine antwort finden, wenn Du keinen CODE postest.

die chance im lotto ist 1:14.000.000, Dein prob zu erraten wahrscheinlich noch geringer.

gruss thomas

  

Re: von was kommt das ?
von: Thomas
Geschrieben am: 19.02.2003 - 15:52:15

Hallo Thomas

da mein Problem bei jedem Makro auftaucht, bin ich davon ausgegangen, daß es sich um ein bekanntes (Anfänger-)Problem handelt.
Anscheinend ist doch ein Implementierungsproblem.
Hier der Code:

Funktion:
Addiert Werte von Zellen, die die gleiche Hintergrundfarbe haben.
Function FarbenAddieren(rng As Range) As Double
Dim rngAct As Range
Dim dAdd As Double
For Each rngAct In rng.Cells
If rngAct.Interior.ColorIndex = _
Application.Caller.Interior.ColorIndex Then
dAdd = dAdd + rngAct.Value
End If
Next rngAct

FarbenAddieren = dAdd

End Function

Makro:
Soll von Tabellen (1-4) die Zellen mit gleicher Hintergrundfarbe in eine 5 Tabelle kopieren. Funktioniert aber nicht, aber die Funktion wird immer ausgeführt.
Option Explicit
Sub farben()


' Erstellt von Hajo Ziplies am 28.12.02
' Zellen kopieren von Tabelle1 nach Tabelle2 mit Schriftfarbe 3 bis 6
Dim RaZelle As Range
Dim CellColorIndex As Integer

With Worksheets("Zusammenfassung")
For Each RaZelle In Worksheets(1).Range("c6:ct6")
If RaZelle.Interior.ColorIndex = 6 Then
' Worksheets("Zusammenfassung").Range
RaZelle.Copy Destination:=.Range(RaZelle.Address)
End If
Next RaZelle
End With

End Sub