Layoutänderung in Workbook_Open nicht ausgeführt

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

Betrifft: Layoutänderung in Workbook_Open nicht ausgeführt
von: Felix
Geschrieben am: 22.05.2015 11:19:31

Hallo,
ich habe ein Problem ;)
Ich rufe aus der Workbook_Open eine Sub auf, die Änderungen am Layout eines Tabellenblattes vornimmt (Breiten/Höhenänderung von Spalten/Zeilen, Größen- und Positionsänderungen von Listboxen). Die Änderung der Positionsänderung der Listboxen wird aber nicht durchgeführt. Was komisch ist: wenn ich ein "Stop" in den (Workbook_Open) Code schreibe und dann die Befehle per F8 einzeln ausführen lasse, funktioniert alles wunderbar. Ebenso, wenn ich die Sub manuell aufrufe.
Kleiner Auszug:
With ActiveWorkbook.Worksheets("Calculate").Shapes("liboCategory")
.Left = Range("B2").Left
.Top = Range("B2").Top
.Width = 110
.Height = 150
End With
Das sollte für mehrere Objekte gemacht werden, wird es bei manuellem Aufruf auch, aber nicht in der Workbook_Open (außer wenn ich vorher ein "Stop" einbaue).
Hoffe, es hat jemand einen Tipp! Vielen Dank :)

Bild

Betrifft: Layoutänderung in Workbook_Open nicht ausgeführt
von: Nepumuk
Geschrieben am: 22.05.2015 11:33:10
Hallo,
du musst den Zugriff auf OLE-Objekte vom Open-Event entkoppeln.

Private Sub Workbook_Open()
    Application.OnTime Now, "Formatieren"
End Sub

Und dann in der Prozedur "Formatieren":
Public Sub Formatieren()
    With ThisWorkbook.Worksheets("Calculate").Shapes("liboCategory")
        .Left = Range("B2").Left
        .Top = Range("B2").Top
        .Width = 110
        .Height = 150
    End With
End Sub

Gruß
Nepumuk

Bild

Betrifft: AW: Layoutänderung in Workbook_Open nicht ausgeführt
von: Felix
Geschrieben am: 22.05.2015 11:44:20
Das war es nicht (bzw. hatte ich schon). Es lag daran, dass ich dem
.Left = Range("B2").Left
die komplette Adresse mitgeben muss
.Left = ActiveWorkbook.Worksheets("Calculate").Range("B2").Left
Trotzdem Danke :)
Viele Grüße
Felix
PS: Kann man seine Themen löschen?

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Layoutänderung in Workbook_Open nicht ausgeführt"