title: Range-variable changes during Worksheet_change and I don't know how
body: <p>I'm having a weird problem, luckily I barely have any other code in yet so I could narrow it down to it's source.
  My problem is easier to read from the code than my description but I'll try anyway:
  -I'm trying to remember a range which is cut within my workbook to enable "Undo" later
  -I found a great function which tells me the range of cut cells (returns as "GetCopiedRange", function named the same too)
  -Function works and returns correct value but later within Worksheet_Change the range is suddenly different without anything to give it a new value</p>
  
  <p>TL;DR: How can CutRange.Address in following code be different when I select a range and after when I change a value in a range?</p>
  
  <pre><code>Dim CutRange As Range
  
  Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Application.CutCopyMode = xlCut Then
      Call GetCopiedRange 'This function changes value of variable "GetCopiedRange" (Range) to the range that is cut to clipboard
      Set CutRange = GetCopiedRange 'Save the range under a new variable because if I refer straight to GetCopiedRange later, it doesn't work
      MsgBox ("Cut range: " &amp; CutRange.Address)
  End If
  'This sub works perfectly. If a range is cut to clipboard, Msgbox tells the range correctly
  End Sub
  
  Private Sub Worksheet_Change(ByVal Target As Range)
  
  If Not CutRange Is Nothing Then
      MsgBox CutRange.Address
  End If
  'This sub works incorrectly(!?) CutRange.address is somehow now the destination of paste instead of where it was cut. How did it change in between?
  'Even though when cut-paste operation is carried out, change occurs twice: first to the cut range and then the paste range. Even during the first one, CutRange.Address is somehow already changed to the paste range address
  End Sub
  </code></pre>
  
  <p>EDIT: I don't see how the contents of said Function could be affecting this outcome, I hope we don't have to go there since it's a copied function much more complicated than I can understand. However, when I tried to remove the CutRange from all this and refer straight to GetCopiedRange in Worksheet_Change, I got an error "couldn't get data from clipboard" which is an error message inside the function. However since I'm using CutRange-variable I can't see how that one could be changing</p>