View Single Post
  #3   Report Post  
Posted to microsoft.public.excel.programming
Jay Jay is offline
external usenet poster
 
Posts: 671
Default Excel VBA cut and paste bug?

Hi Bob -

I'm always hesitant to brand any apparent problem as a bug until a lot of
eyes review it, but I think you're on to something here because the range
component of the object's address changes independently of its sheet
component... I agree that with you that the independent nature of such
important location information is significantly inconsistent. It'll be
interesting to see additional input on this thread topic.

A common strategy to avoid such a problem (and other cascading problems due
to cutting/moving) is to copy-paste-delete. The fact that it's a common
strategy might be due in part to developers getting burned by the problem you
describe.

If feedback in this thread doesn't resolve the issue, you can contact
Microsoft with your information at:

http://support.microsoft.com/contactus/?WS=communities

This location contains links to "Send Questions", "Report a bug", and others.

--
Jay


"Bob Flanagan" wrote:

The following code illustrates what looks like a bad bug to me:

Sub CutAndPasteBug()
Dim rangeToMove As Range
Dim destRange As Range
Dim destWS As Worksheet
Dim sourceWs As Worksheet

Set sourceWs = Sheets("sheet1")
Set destWS = Sheets("sheet2")

Set rangeToMove = sourceWs.Range("A1")
Set destRange = destWS.Range("F5")

rangeToMove.Cut
destWS.Paste destRange

MsgBox rangeToMove.Parent.Name & " " & rangeToMove.Address & _
Chr(13) & Chr(13) & "It should be sheet2!!!!"
End Sub

The variable rangeToMove should end up referring to sheet2 F5, not sheet1 F5
after the cut is done. The cell address changes from A1 to F5, but the
variable is still pointing to sheet1. The entry in sheet 1A1 is moved to
sheet2 F5. I've tested this in Excel 97, 2003, and 2007.

Am I correct this is a bug, or is it by design? Comments back appreciated!

Bob Flanagan