2015-07-28 4 views
2

Как запустить макрос, открыв Excelsheet. Я уже установил этот код:Запуск макросов VBA по открытому рабочему листу

Public Sub Workbook_Open() 

Application.ScreenUpdating = False 

With Tabelle1.ListBox1 

    .AddItem "TEST1" 
    .AddItem "TEST2" 
    .AddItem "TEST3" 
End With 

With Tabelle1.ListBox2 

    .AddItem "TEST4" 
    .AddItem "TEST5" 
End With  

With Tabelle1.ListBox1 
    .Width = 140.25 
    .Height = 255.25 

End With 
With Tabelle1.ListBox2 
    .Width = 78 
    .Height = 69.75  
End With 

Call EnterInDesignMode 
Call ExitInDesignMode 
Application.ScreenUpdating = True 
End Sub  

В Private Sub Workbook_Open(). Но это не относится ко второму Коду. Что я здесь делаю неправильно?

Оба коды выше Public Sub Workbook_Open()

'first Code 
    Sub EnterInDesignMode() 
     With Application.CommandBars.FindControl(ID:=1605) 
      .Execute 
     End With 
    End Sub 

'Second Code 
Sub ExitInDesignMode() 
    Dim sTemp As String 
    With Application.CommandBars("Exit Design Mode") 
     sTemp = .Controls(1).Caption 
    End With 
End Sub 

Оба код работает, но это не останавливает вызов EnterInDesignMode(), поэтому он не вызывает ExitInDesignMode().

+0

мы можем видеть ваше Workbook_Open суб? – 99moorem

+0

Вы прочитали это: https://support.office.com/en-ca/article/Run-a-macro-5e855fd2-02d1-45f5-90a3-50e645fe3155#bmrunmacroautomatically. Он говорит, что вы должны были поставить подзаголовок workbook_open. Он НЕ должен быть в модуле. – Luuklag

+0

@ 99moorem Я отредактировал тему. Теперь вы сможете это увидеть. – ManInTheMiddle

ответ