ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Deleting Columns to the right - 1 (https://www.excelbanter.com/excel-programming/399180-deleting-columns-right-1-a.html)

AHizon

Deleting Columns to the right - 1
 
Hi,

I recorded a Macros in Excel but the Macros hard codes the columns of what to
delete. I want the Macros to delete only the columns to the right after it
finds the next cell that has text. I don't know what program to enter so
that it only deletes columns in between that have no text. Below is the
program auto-generated after I recorded a Macros:
Range("B1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range("B1:G1").Select
Selection.EntireColumn.Delete

Can anyone help me?


JW[_2_]

Deleting Columns to the right - 1
 
This will delete all empty columns. That what you are after?
Sub delColumns()
Dim lastCol As Integer
lastCol = ActiveSheet.UsedRange.Column - 1 + _
ActiveSheet.UsedRange.Columns.Count
Application.ScreenUpdating = False
For c = lastCol To 1 Step -1
If IsEmpty(Cells(1, c)) And Cells(1, c). _
End(xlDown).Row = 65536 Then _
Cells(1, c).EntireColumn.Delete
Next c
Application.ScreenUpdating = True
End Sub
AHizon wrote:
Hi,

I recorded a Macros in Excel but the Macros hard codes the columns of what to
delete. I want the Macros to delete only the columns to the right after it
finds the next cell that has text. I don't know what program to enter so
that it only deletes columns in between that have no text. Below is the
program auto-generated after I recorded a Macros:
Range("B1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range("B1:G1").Select
Selection.EntireColumn.Delete

Can anyone help me?



AHizon

Deleting Columns to the right - 1
 
Yes...That is exactly what I wanted. Thanks so much!!!

JW wrote:
This will delete all empty columns. That what you are after?
Sub delColumns()
Dim lastCol As Integer
lastCol = ActiveSheet.UsedRange.Column - 1 + _
ActiveSheet.UsedRange.Columns.Count
Application.ScreenUpdating = False
For c = lastCol To 1 Step -1
If IsEmpty(Cells(1, c)) And Cells(1, c). _
End(xlDown).Row = 65536 Then _
Cells(1, c).EntireColumn.Delete
Next c
Application.ScreenUpdating = True
End Sub
Hi,

[quoted text clipped - 9 lines]

Can anyone help me?




All times are GMT +1. The time now is 11:57 PM.

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