Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Layoutänderung in Workbook_Open nicht ausgeführt

Forumthread: Layoutänderung in Workbook_Open nicht ausgeführt

Layoutänderung in Workbook_Open nicht ausgeführt
22.05.2015 11:19:31
Felix
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 :)

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Layoutänderung in Workbook_Open nicht ausgeführt
22.05.2015 11:33:10
Nepumuk
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

Anzeige
AW: Layoutänderung in Workbook_Open nicht ausgeführt
22.05.2015 11:44:20
Felix
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?
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige