2016-02-23 52 views
1

我懷疑這是一個非常簡單的答案,但我是VBA的新手,並試圖在打開我的文件並滿足某些條件時生成msgbox。我現在的代碼是:打開Excel文件並滿足條件時自動MsgBox

Sub StopLossWarning() 

    If Range("C4").Value < 30 Then 

     MsgBox "Maximum allowable loss is at " & Range("C4").Value 

    End If 

End Sub 

當我運行宏時,Msgbox顯示正常。當我打開文件時,我只需要它自動運行一次。

回答

1

試試這個:

  1. 按Alt + F11從Project Explorer中

    複製打開VBA編輯器

  2. 上的ThisWorkbook雙擊下面的代碼並粘貼在那裏。

    Private Sub Workbook_Open() 
    Dim WK As Worksheet 
    
    Set WK = Sheet1 'Change it to your sheet number. 
    
    If WK.Range("C4").Value < 30 Then 
        MsgBox "Maximum allowable loss is at " & WK.Range("C4").Value 
    End If 
    End Sub 
    

或者您可以插入一個新的模塊,並粘貼下面的代碼有:

Sub Auto_Open() 
    Dim WK As Worksheet 

    Set WK = Sheet1 'Change it to your sheet number. 

    If WK.Range("C4").Value < 30 Then 
     MsgBox "Maximum allowable loss is at " & WK.Range("C4").Value 
    End If 
    End Sub 

注意:如果您有多個工作表可能要參考的範圍作了明確規定。否則你可能會得到不希望的結果

Reference

+0

它沒有工作。 – MilesToGoBeforeISleep

+0

嘗試使用替代代碼。原因爲什麼不起作用:1.您指的是錯誤的工作表。或/和2.你把代碼粘貼在錯誤的地方。 – newguy

+0

看起來像我所要做的就是將第一行改爲:Sub Auto_Open()。我認爲可以將他們的潛艇命名爲他們想要的任何東西,但是沒有意識到某些程序有特定的名稱。謝謝你的幫助。 – MilesToGoBeforeISleep