ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Discussion (Misc queries) (https://www.excelbanter.com/excel-discussion-misc-queries/)
-   -   Delete columns of a cell range (https://www.excelbanter.com/excel-discussion-misc-queries/140313-delete-columns-cell-range.html)

Brettjg

Delete columns of a cell range
 
This has to be dead simple but I can't find the answer in HELP anywhere. In a
macro I have the following code:

Range("last.property").Select
ActiveCell.Offset(0, -1).Select
Range(ActiveCell, "H29").Select
SendKeys "^ " 'selects the columns of the cell range
Selection.Delete Shift:=xlToLeft

What I want to do is delete all the columns from "H" to the one before the
column that has the cell "last.property" in it (its column location is
variable)

The problem is that instead of deleting the columns it deletes only the cell
range, I guess because they are still active. How do I get it to select only
the columns so that they can be deleted?
Thanks and regards, Brett

Jan Karel Pieterse

Delete columns of a cell range
 
Hi Brettjg,

Range("last.property").Select
ActiveCell.Offset(0, -1).Select
Range(ActiveCell, "H29").Select
SendKeys "^ " 'selects the columns of the cell range
Selection.Delete Shift:=xlToLeft


like this:

Range(Range("last.property").Offset(,-1),Range("H29")).EntireColumn.Delet
e


Regards,

Jan Karel Pieterse
Excel MVP
http://www.jkp-ads.com
Member of:
Professional Office Developer Association
www.proofficedev.com


Brettjg

Delete columns of a cell range
 
Hi Jan

Thankyou for that (very elegant and brief code). In the interim I had
actually done something very similar, but the Sendkeys command was stuffing
things up - it was always selecting an entire column after it ran. Works
perfectly with your code. Thanks & regards, Brett

"Jan Karel Pieterse" wrote:

Hi Brettjg,

Range("last.property").Select
ActiveCell.Offset(0, -1).Select
Range(ActiveCell, "H29").Select
SendKeys "^ " 'selects the columns of the cell range
Selection.Delete Shift:=xlToLeft


like this:

Range(Range("last.property").Offset(,-1),Range("H29")).EntireColumn.Delet
e


Regards,

Jan Karel Pieterse
Excel MVP
http://www.jkp-ads.com
Member of:
Professional Office Developer Association
www.proofficedev.com




All times are GMT +1. The time now is 07:15 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com