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

Makro verkuerzen?

Makro verkuerzen?
31.05.2006 17:24:59
DeutschlansistWeltmeister
Hi,
habe hier ein Makro, meine erste Variable wird so 5000 gross. Mein Computer stuerzt aber jedes mal ab, wenn ich dieses laufen lasse. Gibt es eine Moeglichkeit dies besser zu gestalten, bzw. zu verkuerzen?
With Worksheets("ABC")
For i = 2 To a
If .Cells(i, "B") = .Cells(i + 1, "B") Then
If .Cells(i, "H") = .Cells(i + 1, "H") Then
If Mid(Cells(i, "G").Value, 1, 3) = Mid(Cells(i + 1, "G").Value, 1, 3) Then
Rows(i & ":" & i).Interior.ColorIndex = 40
Rows(i & ":" & i).Interior.Pattern = xlSolid
Rows(i + 1 & ":" & i + 1).Interior.ColorIndex = 45
Rows(i + 1 & ":" & i + 1).Interior.Pattern = xlSolid
b = b + 1
If .Cells(i, "E") .Cells(i + 1, "E") Then
.Cells(i, "E").Interior.ColorIndex = 3
.Cells(i, "E").Interior.Pattern = xlSolid
.Cells(i + 1, "E").Interior.ColorIndex = 3
.Cells(i + 1, "E").Interior.Pattern = xlSolid
End If
End If
End If
End If
Next
End With

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro verkuerzen?
31.05.2006 19:16:06
Spiel
Hi DiW,
ich sehe in deinem Code nichts warum dadurch Excel abstürzen sollte. Ich habe ihn mal lesbarer gemacht.
Option Explicit
Sub tt()
With Worksheets("ABC")
For i = 2 To a
If .Cells(i, "B") = .Cells(i + 1, "B") Then
If .Cells(i, "H") = .Cells(i + 1, "H") Then
If Mid(Cells(i, "G").Value, 1, 3) = Mid(Cells(i + 1, "G").Value, 1, 3) Then
Rows(i & ":" & i).Interior.ColorIndex = 40
Rows(i & ":" & i).Interior.Pattern = xlSolid
Rows(i + 1 & ":" & i + 1).Interior.ColorIndex = 45
Rows(i + 1 & ":" & i + 1).Interior.Pattern = xlSolid
b = b + 1
If .Cells(i, "E") <> .Cells(i + 1, "E") Then
.Cells(i, "E").Interior.ColorIndex = 3
.Cells(i, "E").Interior.Pattern = xlSolid
.Cells(i + 1, "E").Interior.ColorIndex = 3
.Cells(i + 1, "E").Interior.Pattern = xlSolid
End If
End If
End If
End If
Next
End With
End Sub

Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
Anzeige
AW: Makro verkuerzen?
31.05.2006 20:33:01
DeutschlandistWeltmeister
Ich hatte gedacht, dass das Problem in den mehreren Bedingungen liegt, da zuvor ja eine Schleife lauft. Das Problem ist, dass es lauft und lauft und lauft...Das ganze Makro sieht wie folgt aus:

Private Sub CommandButton1_Click()
info = MsgBox("It is possible that this feature needs a couple of minutes.", _
vbOKCancel + vbInformation, "Information")
If info = vbCancel Then
Exit Sub
End If
a = 2
With Worksheets("ABC")
Do While Not IsEmpty(.Cells(a, 1))
Loop
ques = MsgBox("Are all cells written with capital Letters?", vbYesNo)
If ques = vbNo Then
Else
Application.ScreenUpdating = False
For U = 3 To 14
For i = 2 To a
.Cells(i, U) = UCase(.Cells(i, U))
Next
Next
End If
For i = 2 To a
If .Cells(i, "B") = .Cells(i + 1, "B") Then
If .Cells(i, "H") = .Cells(i + 1, "H") Then
If Mid(Cells(i, "G").Value, 1, 3) = Mid(Cells(i + 1, "G").Value, 1, 3) Then
Rows(i & ":" & i).Interior.ColorIndex = 40
Rows(i & ":" & i).Interior.Pattern = xlSolid
Rows(i + 1 & ":" & i + 1).Interior.ColorIndex = 45
Rows(i + 1 & ":" & i + 1).Interior.Pattern = xlSolid
b = b + 1
If .Cells(i, "E") <> .Cells(i + 1, "E") Then
.Cells(i, "E").Interior.ColorIndex = 3
.Cells(i, "E").Interior.Pattern = xlSolid
.Cells(i + 1, "E").Interior.ColorIndex = 3
.Cells(i + 1, "E").Interior.Pattern = xlSolid
End If
End If
End If
End If
Next
End With
Application.ScreenUpdating = True
MsgBox "Check the highlighted rows."
End Sub

Anzeige
AW: Makro verkuerzen?
01.06.2006 09:18:04
Harald
For i = 2 to a
b = b + 1
next
?
wieso nicht a = a + 1
kein Wunder, dass es läuft und läuft und läuft ;-)
Gruss Harald

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige