Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1424to1428
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
Inhaltsverzeichnis

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 :)

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?

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige