Vba 打开Excel文件并满足条件时自动MsgBox

Vba 打开Excel文件并满足条件时自动MsgBox,vba,excel,Vba,Excel,我怀疑这是一个非常简单的答案,但我是VBA新手,当我打开文件并满足特定条件时,我会尝试生成一个msgbox。目前我的代码是: Sub StopLossWarning() If Range("C4").Value < 30 Then MsgBox "Maximum allowable loss is at " & Range("C4").Value End If End Sub Sub stoplosswering() 如果范围(“C4”)值

我怀疑这是一个非常简单的答案,但我是VBA新手,当我打开文件并满足特定条件时,我会尝试生成一个msgbox。目前我的代码是:

Sub StopLossWarning()

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

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

    End If

End Sub
Sub stoplosswering()
如果范围(“C4”)值小于30,则
MsgBox“最大允许损耗为”和范围(“C4”)。值
如果结束
端接头
运行宏时,Msgbox显示良好。我只需要在打开文件时自动运行一次

试试这个:

  • 按Alt+F11打开VBA编辑器

  • 从Project Explorer双击此工作簿

    复制下面的代码并粘贴到那里

    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
    
    Private子工作簿\u Open()
    将工作设置为工作表
    设置WK=Sheet1'将其更改为您的图纸编号。
    如果工作范围(“C4”)值小于30,则
    MsgBox“最大允许损失为”和工作范围(“C4”)值
    如果结束
    端接头
    
  • 或者,您可以插入新模块并将代码粘贴到下面:

        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
    
    Sub Auto_Open()
    将工作设置为工作表
    设置WK=Sheet1'将其更改为您的图纸编号。
    如果工作范围(“C4”)值小于30,则
    MsgBox“最大允许损失为”和工作范围(“C4”)值
    如果结束
    端接头
    
    注意:如果您有多个工作表,您可能希望明确地引用范围。否则,您可能会得到不期望的结果


    尝试其他代码。不起作用的原因:1。你指的是错误的表格。或者/和2.您将代码粘贴到了错误的位置。看起来我所要做的就是将第一行更改为:Sub Auto_Open()。我以为人们可以给他们的潜艇取任何他们想要的名字,但没有意识到某些程序有特定的名字。谢谢您的帮助。@MilesToGoBeforeISleep另一个也是正确的,但您需要从project Explorer中选择正确的子项,然后才能在其中编写任何代码。