Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

[Bug?] Workbook_Activate/Deactivate funktioniert nach Tabellenerweiterung nicht mehr
#1
Sad 
Hallo Leute,

ich hoffe jemand kann mir helfen mit einem mehrwürdigen Verhalten das Excel bei mir aufzeigt.

Ich nutze den folgenden Code um das User Interface in einem Excel Tool zu verschlanken. Funktioniert auch absolut einwandfrei solange bis ich eine Tabelle (um die es in dem Tool geht) manuell erweitere (blaue Ecke rechts unten um eine Zeile nach unten ziehen). Dann funktioniert kein Event mehr (gar keines mehr!) außer das Ein und Ausklappen der CommandBar"Ribbon".

In einem anderen Forum meinte jemand es könnte an einer Custom User Function liegen ich nutze aber keine um das schonmal auszuschließen. Ich nutze jedoch anderen per Event gestarteten Code der sich auf diese Tabelle bezieht. Werde diesen Code jetzt mal Stück für Stück ausschalten und sehen ob der Fehler nicht mehr auftritt ab irgend einer Stelle.

Vielleicht ist ja hier ein Excelcrack der die Lösung des Problems schon erkennt. Vielen Dank schonmal an jeden für eure Hilfe.



Code:
Private Sub Workbook_Activate()
   Application.DisplayFormulaBar = False
   Application.DisplayStatusBar = False
If Application.CommandBars("Ribbon").Height > 150 Then
   Application.CommandBars.ExecuteMso "MinimizeRibbon"
End If

Sheets("LOP").Activate

End Sub

Private Sub Workbook_Deactivate()
   Application.DisplayFormulaBar = True
   Application.DisplayStatusBar = True
If Application.CommandBars("Ribbon").Height < 150 Then
   Application.CommandBars.ExecuteMso "MinimizeRibbon"
End If

End Sub
Antworten Top
#2
Hi,
verstanden habe ich kein Wort aber wenn ich den Code anschaue und der auch nur halbwegs so in deinem Projekt ist, möchte ich niemals von dir einen Code bei einem Anwender  sehen.

Was gibt dir das Recht, dem Anwender einfach Einstellungen zu verhunzen.
Wenn man meint, man müsse ihm das Ribbon minimieren - ok - aber wer zum Teufel gibt dir recht es ihm ungefragt zu maximieren, wenn es vorher minimiert war.
Und wer zum Teufel gibt dir das recht ihm die Statusbar oder die Formulabar einzublenden wenn er sie vorher ausgeschaltet hatte.

Und wer zum Teufel soll strukturierte Tabellen auf Grund deines Textes erkennen.
Und wer zum kleinen Teufel soll mit deiner Anfrage etwas anfangen (oh ich wiederhole mich).

Und jetzt entschuldige ich mich für meine harschen Worte.
Tut mir leid  Sleepy
Gruß Jeanie
Antworten Top
#3
Wenn ein Event ausgelöst wird, dann werden auch andere Events ausgelöst, sofern sie getriggert werden.
Ich gehe eher davon aus, dass der von dir erwartete Event (von dem du uns natürlich auf Grund von Geheimhaltungsvereinbarungen mit dem großen IchErzählNix Nix erzählt hast  Sleepy) einfach nicht so eintritt, wie du ihn erwartest.
Und dein Vorgehen, mal alles zu untersuchen ist absolut die beste Lösung. Aber untersuche auch deinen Ansatz.
Gruß Jeanie
Antworten Top
#4
Ja, ist mir auch schon mal passiert!
Im festen Glauben, dass Hilfesuchende schon keinen (großen) Blödsinn anstellen, öffnete ich eine .xlsm
Hat mich zwar (nur) 3 Minuten gekostet, aber der Ärger ist auch nach 2 Jahren noch nicht verraucht …
Mal Jeanie-mäßig der erhobene Zeigefinger  :21::
http://www.online-excel.de/excel/singsel_vba.php?f=150

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#5
Habe den Fehler gefunden  :18:

es lag tatsächlich an einer anderem Event welches getriggert wurde sobald ich die Tabelle erweitert habe. Explizit an Application.EnableEvents was das Problem dann verursacht hatte.

@Jeanie. Es handelt sich um eine Liste offener Punkte da braucht man das ganze drumherum nicht da es eigentlich nur um Textverarbeitung geht. Dies wird in der Industrie gerne mit Excel behandelt da Word und PPT auch nicht so wirklich dafür taugen.

Da das ganze ja per workbook_deactivate ja auch instant wieder rückgängig gemacht wird nimmt man dem User auch nichts weg und im Tool selbst wir er es nicht vermissen (-:
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste