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

Langsames Makro durch Funktion

Langsames Makro durch Funktion
12.02.2007 19:47:15
Roland
Hallo VBA Spezialisten
ich habe folgendes Problem:
Wenn ich untenstehende Funktion eingefügt habe, braucht ein anderes Makro, dass sich in einem anderen Modul befindet ca. 4 min. entferne ich die Funktion braucht das Makro nur noch ca. 1 min.
Bei einem Abbruch des Makros habe ich festgestellt, dass die Abbruchstelle in der Funktion wahr. Warum durchläuft ein Makro, dass in einem anderen Modul liegt diese funktion, die mit dem eigentlich ausgeführten Makro nichts zu tun hat?
Oder wie kann ich die Funktion während des Ausführen des Makros deaktivieren?
Besten Dank für eure Hilfe
mfg. Roland
Ganz unten seht ihr das ausgeführte Makro.

Function Summe3E(Von, Bis, Was)
Dim a%, b%, c%
Dim s As Double
Application.Volatile
a = Sheets(CStr(Von)).Index
c = Sheets(CStr(Bis)).Index
If a >= c Then Summe3E = "vonTabelle muß vor bisTabelle liegen!": Exit Function
For b = a To c - 1
s = s + Sheets(b).Range(Was.Address)
Next
Summe3E = s
End Function


Sub SollArbeitstage()
Dim Zelle As Range
Dim i As Integer
Dim wielange
wielange = Timer
Application.ScreenUpdating = False
For i = 1 To Worksheets.Count - 15 '5
Worksheets(i).Activate
ActiveSheet.Unprotect myPwd
Range("F6:BO" & Cells(Rows.Count, 4).End(xlUp).Row).Select
For Each Zelle In Selection
With Zelle
If Not Cells(4, Zelle.Column) = "" Then
If Not .Interior.ColorIndex = 40 Then
If Not Cells(206, .Column) = "X" And Weekday(Cells(4, .Column), 2) < 6 Then
.Value = "°"
End If
End If
End If
End With
Next
Range("A5").Select
ActiveSheet.Protect myPwd
Next i
'Worksheets("Übersicht").Select
Application.ScreenUpdating = True
MsgBox Timer - wielange
End Sub

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Langsames Makro durch Funktion
12.02.2007 20:24:54
Hubert
Hi,
lies dir die Hilfe zu Application.Volatile
durch, dann sollte es klar sein.
In deiner Sub wird unnötiger Weise selektiert, das bremst.
mfg Hubert
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige