title: limit a excel vba macro to one file
body: <p>I'm running a macro that automaticaly protects a worksheet when a cell value changes (with password). This macro runs all the time in all open sheets. This is supposed to be so. But when I have another excel file open, it also protects that sheet with the password. How can I limit my macro to only the file it is in?</p>
  
  <p>Thanks!</p>
  
  <pre><code>Private Sub Worksheet_Calculate()
  Dim FormulaRange As Range
  Dim FormulaRange2 As Range
  Dim NotSentMsg As String
  Dim MyMsg As String
  Dim SentMsg As String
  Dim MyLimit As Double
  
  NotSentMsg = "Niet verzonden"
  SentMsg = "Verzonden"
  
  'Above the MyLimit value it will run the macro
  MyLimit = 0
  
  'Set the range with the Formula that you want to check
  Set FormulaRange2 = ActiveSheet.Range("D22")
  
  On Error GoTo EndMacro:
  For Each FormulaCell In FormulaRange2.Cells
      With FormulaCell
          If IsNumeric(.Value) = False Then
              MyMsg = "Not numeric"
          Else
              If .Value &gt; MyLimit Then
  
                  MyMsg = SentMsg
  
                  If .Offset(2, 10).Value = NotSentMsg Then
                      Call Mail_with_outlook2
                  End If
              Else
                  MyMsg = NotSentMsg
              End If
          End If
          Application.EnableEvents = False
  ActiveSheet.Unprotect Password:="zou82pam"
          .Offset(2, 10).Value = MyMsg
  ActiveSheet.Protect Password:="zou82pam", DrawingObjects:=True, Contents:=True,     
  Scenarios:=True
  ActiveSheet.EnableSelection = xlUnlockedCells
          Application.EnableEvents = True
      End With
  Next FormulaCell
  
  ExitMacro:
  Exit Sub
  
  EndMacro:
  Application.EnableEvents = True
  
  MsgBox "De onderstaande error is ontstaan. Neem contact op met Wouter van Leeuwen" _
       &amp; vbLf &amp; vbLf &amp; Err.Number _
       &amp; vbLf &amp; Err.Description
  
  End Sub
  </code></pre>