Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Selection.Delete Shift:=xlToLeft (what's the meaning of this?)
Hello,
Could someone explain to me what is the meaning of the VBA expression: Selection.Delete Shift:=xlToLeft Intuitively, I would suppose that it should delete the selection, but why there is this "Shift" part coming after? The whole part of the code I try to analyze goes like this (and it looks like a big garbage for me): (...) Range("A3").Select Range(Selection, Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlDown)).Select Selection.Copy Sheets("Confirmations").Select Range("BA22").Select Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=False Columns("BA:BD").Select Application.CutCopyMode = False Selection.Delete Shift:=xlToLeft Columns("BC:BD").Select Selection.Delete Shift:=xlToLeft Columns("BD:BF").Select Selection.Delete Shift:=xlToLeft Columns("BE:BZ").Select Selection.Delete Shift:=xlToLeft Range("BA22:BD55").Select Selection.Copy Range("A22").Select ActiveSheet.Paste (...) In particular, I can't see what is the goal of selecting first BA:BD, then BC:BD, then BD:BF and finally BE:BZ... Is it me that don't understand something or the code should be written differently? (hint: it's still functionning correctly and it is not deleting the data pasted in BA22 (lines 4-8 of the code)). Many thanks for any explanations! Mark |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Selection.Delete Shift:=xlToLeft (what's the meaning of this?)
The line that selects the columns does just that. The line that deletes the
selection deletes the selected columns. The shift to the left part simply shifts the remaining columns to the left. That code is not necessary since the shift to the left is the default. Note that if you delete a column, the column to the right will move left and occupy the space where the deleted column was. The new column will also take the column letter of the deleted column. Perhaps that is where you are confused. In other words, if the sheet is blank and you delete a column or group of columns, you will not see any change at all. Exactly what is that you want this code to do? HTH Otto "markx" wrote in message ... Hello, Could someone explain to me what is the meaning of the VBA expression: Selection.Delete Shift:=xlToLeft Intuitively, I would suppose that it should delete the selection, but why there is this "Shift" part coming after? The whole part of the code I try to analyze goes like this (and it looks like a big garbage for me): (...) Range("A3").Select Range(Selection, Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlDown)).Select Selection.Copy Sheets("Confirmations").Select Range("BA22").Select Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=False Columns("BA:BD").Select Application.CutCopyMode = False Selection.Delete Shift:=xlToLeft Columns("BC:BD").Select Selection.Delete Shift:=xlToLeft Columns("BD:BF").Select Selection.Delete Shift:=xlToLeft Columns("BE:BZ").Select Selection.Delete Shift:=xlToLeft Range("BA22:BD55").Select Selection.Copy Range("A22").Select ActiveSheet.Paste (...) In particular, I can't see what is the goal of selecting first BA:BD, then BC:BD, then BD:BF and finally BE:BZ... Is it me that don't understand something or the code should be written differently? (hint: it's still functionning correctly and it is not deleting the data pasted in BA22 (lines 4-8 of the code)). Many thanks for any explanations! Mark |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Selection.Delete Shift:=xlToLeft (what's the meaning of this?)
If you delete a selection of cells normally, if offers you the chance to
shift the cells up or to the left or the entire row or column. The Shift:=xlLeft means it uses the Shift Cells Left option. HTH. "markx" wrote: Hello, Could someone explain to me what is the meaning of the VBA expression: Selection.Delete Shift:=xlToLeft Intuitively, I would suppose that it should delete the selection, but why there is this "Shift" part coming after? The whole part of the code I try to analyze goes like this (and it looks like a big garbage for me): (...) Range("A3").Select Range(Selection, Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlDown)).Select Selection.Copy Sheets("Confirmations").Select Range("BA22").Select Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=False Columns("BA:BD").Select Application.CutCopyMode = False Selection.Delete Shift:=xlToLeft Columns("BC:BD").Select Selection.Delete Shift:=xlToLeft Columns("BD:BF").Select Selection.Delete Shift:=xlToLeft Columns("BE:BZ").Select Selection.Delete Shift:=xlToLeft Range("BA22:BD55").Select Selection.Copy Range("A22").Select ActiveSheet.Paste (...) In particular, I can't see what is the goal of selecting first BA:BD, then BC:BD, then BD:BF and finally BE:BZ... Is it me that don't understand something or the code should be written differently? (hint: it's still functionning correctly and it is not deleting the data pasted in BA22 (lines 4-8 of the code)). Many thanks for any explanations! Mark |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
Selection.Delete Shift:=xlToLeft (what's the meaning of this?)
Thanks to you both!
Now I understand much better this part of code... Have a nice day! "DaveO" wrote in message ... If you delete a selection of cells normally, if offers you the chance to shift the cells up or to the left or the entire row or column. The Shift:=xlLeft means it uses the Shift Cells Left option. HTH. "markx" wrote: Hello, Could someone explain to me what is the meaning of the VBA expression: Selection.Delete Shift:=xlToLeft Intuitively, I would suppose that it should delete the selection, but why there is this "Shift" part coming after? The whole part of the code I try to analyze goes like this (and it looks like a big garbage for me): (...) Range("A3").Select Range(Selection, Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlDown)).Select Selection.Copy Sheets("Confirmations").Select Range("BA22").Select Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=False Columns("BA:BD").Select Application.CutCopyMode = False Selection.Delete Shift:=xlToLeft Columns("BC:BD").Select Selection.Delete Shift:=xlToLeft Columns("BD:BF").Select Selection.Delete Shift:=xlToLeft Columns("BE:BZ").Select Selection.Delete Shift:=xlToLeft Range("BA22:BD55").Select Selection.Copy Range("A22").Select ActiveSheet.Paste (...) In particular, I can't see what is the goal of selecting first BA:BD, then BC:BD, then BD:BF and finally BE:BZ... Is it me that don't understand something or the code should be written differently? (hint: it's still functionning correctly and it is not deleting the data pasted in BA22 (lines 4-8 of the code)). Many thanks for any explanations! Mark |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Selection By Shift & Arrow In VBA | Excel Discussion (Misc queries) | |||
Copy Selection - Transpose Selection - Delete Selection | Excel Discussion (Misc queries) | |||
Excel VBA Selection.Delete Shift:=xlToLeft | Excel Programming | |||
Selection.End(xlToLeft).Select | Excel Programming | |||
Shift+Arrow does not expand selection | Excel Discussion (Misc queries) |