seltsamer Programm-Absturz

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
UserForm MsgBox
Bild

Betrifft: seltsamer Programm-Absturz von: Thorsten S
Geschrieben am: 13.02.2005 12:45:40

Hallo zusammen,

folgendes Problem bereit mir Kopfzerbrechen.

Ich habe ein Makro, in das ich folgende user32.dll
Funktionen eingebunden habe:


Public Declare


Function FindWindow Lib "user32" Alias 
    "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName 
    As String) As Long
Public Declare

Function SetTimer Lib "user32" (ByVal hwnd As Long,
    ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc 
    As Long) As Long
Private Declare

Function KillTimer Lib "user32" (ByVal hwnd As Long, 
    ByVal nIDEvent As Long) As Long
Private Declare

Function GetAsyncKeyState Lib "user32" (ByVal 
     vKey As Long) As Integer
Die Funktionen laufen einwandfrei.
Wenn jedoch die folgende 

Sub durchlaufen wird, wird Excel ohne jede
Warnung/Fehlermeldung beendet.

Sub Rahmen_Aus(Bereich As String)
    'MsgBox Bereich 
    Range(Bereich).Interior.ColorIndex = 17
    Range(Bereich).Borders(xlEdgeLeft).LineStyle = xlNone
    Range(Bereich).Borders(xlEdgeTop).LineStyle = xlNone
    Range(Bereich).Borders(xlEdgeBottom).LineStyle = xlNone
    Range(Bereich).Borders(xlEdgeRight).LineStyle = xlNone
    
End Sub


Für mich ist das unerklärlich, zumal der Code in jedem anderen
Programm sauber läuft und auch die Variable "Bereich" mit korrekten
Werten ankommt. Wenn ich alle Zeilen der

Sub auskommentiere, stürzt
Excel komischerweise nicht ab. Irgendwie scheint es, wenn für mich auch 
unerklärlich, mit diesem Stück Code zu tun zu haben. 
Vielleicht weiß von euch jemand, woran es liegt.
Gruß,
Thorsten
Bild


Betrifft: AW: seltsamer Programm-Absturz von: Thorsten S
Geschrieben am: 13.02.2005 13:31:13

Nochmal Hallo,

ich habe das Problem noch ein wenig genauer analysiert.

Es scheint darin zu bestehen, dass ich jede Tasteneingabe, die
in einer Zelle getätigt wird, überwache. Das klappt über die
beschriebenen user32.dll Funktionen auch recht gut.

Das Problem ist aber offensichtlich, dass ich - während der User
noch Dinge in eine Zelle eingibt - einen anderen Zell-Bereich über
die beschriebene Rahmen_Aus formatieren möchte.

D.h. vereinfacht ausgedrückt, es wird in zwei Zellen zur gleichen Zeit
gearbeitet. In der einen gibt der Benutzer Daten ein, die anderere
wird vom Makro verändert. Hierbei hängt sich Excel auf.

Ist es in Excel nicht möglich in mehreren Zellen gleichzeitig Dinge
auszuführen, ähnlich wie wenn man UserForms modeless laufen lässt?

Gruß,
Thorsten


Bild


Betrifft: AW: seltsamer Programm-Absturz von: Ramses
Geschrieben am: 13.02.2005 13:54:02

Hallo

Nein,... EXCEL ist nicht MultiThread-Fähig.
Auch kannst du immer nur 1 Object ( also eine Zelle ) gleichzeitig bearbeiten.

Gruss Rainer


 Bild

Beiträge aus den Excel-Beispielen zum Thema "standard gitternetzlinien ausblenden"