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

Absturz, bei Makroausführung, daß andere Makros

Absturz, bei Makroausführung, daß andere Makros
12.07.2002 12:26:49
zusammenfaßt -- Michael Kl.
Hallo zusammen.
Ich habe drei Makros. Das eine blendet Zellen ein, das andere aus. Dies geschieht durch Formatierung der Zellfarbe und der Rahmenformatierung.
Ein drittes Makro soll nun zuerst die Zellen einblenden, dann einen Bereich drucken, und die Zellen anschließend wieder ausblenden.
Bei der Ausführung des dritten Makros stürzt Excel immer ab.
Wenn ich per Hand seperat erst das erste Makro (einblenden) ausführe, dann auf ein Bereich-Drucken-Makro klicke und anschließen wieder manuell auf Ausblenden gehe, klappt es.
Gibt es vielleicht einen Befehl, der es Excel ermöglicht, sich während der Ausführung meines zusammenfassenden Makros (Einblenden, Drucken, Ausblenden) Zeit zu lassen, damit Excel nicht abstürzt?
Vielen Dank schon mal, MfG, Michael.

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Absturz, bei Makroausführung, daß andere Makros
12.07.2002 13:47:00
Hans W. Herber
Hallo,

versuche es mal, indem Du vor und nach der kritischen Stelle folgenden Code setzt:
Application.Wait Now + Timeserial(0,0,3)

hans

Re: Absturz, bei Makroausführung, daß andere Makros
12.07.2002 13:47:18
Otto Ecker
Hallo Michael,

ohne Code läßt sich hier nur schwer was raten. Poste ihn mal. Hast Du deinen kompletten Code schon mal im Einzelschritt durchlaufen lassen ? Makros werden nacheinander abgearbeitet. Wenn die Reihenfolge (einblenden.....) eingehalten wird dürfte eigentlich nichts passieren.

Gruß Otto

Wartebefehl ändert nichts; hier der Code
12.07.2002 15:40:11
Michael Kl.
Hallo ihr beiden.
Der Hinweis von Hans bringt leider nichts. Das Dokument wird zwar gedruckt, aber während des Ausblendens der Zellen stürzt Excel weiter ab.
Hier der Quelltext zum Verständnis:

Das zusammenfassende Makro:
Sub Makro1()
'
' Makro1 Makro
' Makro am 12.07.02 von Michael aufgezeichnet
'

'
Application.Run "'TT-TurnierMichael.xls'!Vergleich_einblenden"
Application.Wait Now + TimeSerial(0, 0, 3)
Application.Run "'TT-TurnierMichael.xls'!spielplan_drucken"
Application.Wait Now + TimeSerial(0, 0, 3)
Application.Run "'TT-TurnierMichael.xls'!Vergleich_ausblenden"
End Sub


Sub Vergleich_einblenden()
'
' Vergleich_einblenden Makro
' Makro am 19.06.02 von Michael aufgezeichnet
'

'
ActiveSheet.Unprotect ""
Range("Y3:AE3").Select
Selection.EntireColumn.Hidden = False
Range("A3").Select
Range("H14:X24").Select
Selection.Font.ColorIndex = 0
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
Selection.Borders(xlInsideVertical).LineStyle = xlNone
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
Range("H14:X14").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Range("H14:J24,K14:M24,N14:P24,Q14:S24,T14:X24").Select
Range("T14").Activate
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Range("T14:X24").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
Selection.Borders(xlInsideVertical).LineStyle = xlNone
ActiveWindow.SmallScroll Down:=-15
Range("A3").Select
ActiveSheet.Protect ""
End Sub

Sub Spielplan_Drucken()
'
' Spielplan_Drucken Makro
' Makro am 19.06.02 von Michael aufgezeichnet
'

' ActiveWindow.SmallScroll Down:=9
Range("A14:X24").Select
Selection.PrintOut Copies:=1, Collate:=True
ActiveWindow.SmallScroll Down:=-12
Range("A3").Select
End Sub

Sub Vergleich_ausblenden()
'
' Vergleich_ausblenden Makro
' Makro am 19.06.02 von Michael aufgezeichnet
'

'
ActiveSheet.Unprotect ""
ActiveWindow.ScrollColumn = 5
Range("Z3:AD3").Select
Selection.EntireColumn.Hidden = True
ActiveWindow.ScrollColumn = 1
Range("A3").Select
ActiveWindow.SmallScroll Down:=9
Range("H14:X24").Select
With Selection.Font
.Name = "Arial"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = 2
End With
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
ActiveWindow.SmallScroll Down:=-12
Range("A3").Select
ActiveSheet.Protect ""
End Sub

Anzeige
Re: Wartebefehl ändert nichts; hier der Code
12.07.2002 16:01:13
Otto Ecker
Hallo,

ich habe mal deinen Code importiert. Aber außer daß jede Menge Papier gedruckt wird passiert bei Excel nichts.

Ich habe allerdings nicht dateiübergreifend die Makros gestartet.

Gruß Otto

Komisch
13.07.2002 10:32:10
Michael Kl.
Bei mir wird nur eine einzige Seite wie gewünscht gedruckt.
Naja, dann wede ich das ganze wohl manuell ablaufen müssen.
Vielleicht liegt es am Arbeitsspeicher.
Danke trotzdem, Micha.
Was bedeutet die folgende Fehlermeldung?
13.07.2002 10:44:29
Michael Kl.
Hallo zusammen.
Geschildertes Problem löst bei mir folgende Fehlermeldung aus nach der man das Programm nur noh beenden kann. Was kann diese wol bedeuten?

EXCEL verursachte einen Fehler durch eine ungültige Seite
in Modul MSO97.DLL bei 017f:306c3840.
Register:
EAX=00000001 CS=017f EIP=306c3840 EFLGS=00010206
EBX=0000d8e4 SS=0187 ESP=0062bed8 EBP=01607278
ECX=000022d7 DS=0187 ESI=0160c000 FS=50cf
EDX=0000d8e4 ES=0187 EDI=01ab4d94 GS=0000
Bytes bei CS:EIP:
f3 a5 53 8b ca 83 e1 03 f3 a4 55 e8 1b fc ff ff
Stapelwerte:
01601d44 01607258 0062bf70 fffffffb 00000000 30733d7b 01601d44 303b6cba 01601d44 01ab000c 0000d934 00001020 30150658 01601d44 00001b1c 00001b26

Anzeige
Re: Was bedeutet die folgende Fehlermeldung?
13.07.2002 10:53:50
Hans W. Herber
Hallo Michael,

für jeden, der sich mit dem Problem befassen soll, besteht die Schwierigkeit, dass er sich durch einen Code durchabeiten muß, der mit unnötigen Select- und Activate- und Scroll-Befehlen gespickt ist, irgendwann schwindelt ihm dann. Excel geht es vermutlich genauso ;-)

Wirf mal den ganzen Mist raus, den Du nicht benötigst und gehe dann im Einzelschritt vor. Mit dieser Vorgehensweise kannst Du die kritische Stelle feststellen. Excel-Abstürze während VBA-Programmabläufen passieren in aller Regel dann, wenn sich Befehle widersprechen, in ihrer Gesamtheit nicht logisch sind.

hans

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige