Solved

Delete blank columns

Posted on 2012-04-10
9
214 Views
Last Modified: 2012-04-11
Need to delete all blank columns in a sheet..

I get a sheet routinely that has no more than 20 columns of data but there are often blank columns between populated columns and it's not always the same column that is blank. I'm already running a macro to change fonts, colors, etc. so I am looking for some code to add to the VB macro that would also delete those pesky blank columns.

Thanks in advance,

swjtx99
0
Comment
Question by:swjtx99
  • 4
  • 3
  • 2
9 Comments
 
LVL 17

Expert Comment

by:Anuroopsundd
ID: 37827128
Sub DeleteEmptyCols()
    Dim LastCol As Long, i As Long
    LastCol = ActiveSheet.UsedRange.Columns(ActiveSheet.UsedRange.Columns.Count).Columns
    For i = LastCol To 1 Step -1
        If WorksheetFunction.CountA(Columns(i)) = 0 Then
            Columns(i).EntireColumn.Delete
        End If
    Next i
End Sub
0
 

Author Comment

by:swjtx99
ID: 37827216
Thanks for the fast reply.

There is an error. Attached example sheet with above macro inserted.

Thanks,

swjtx99
0
 
LVL 17

Expert Comment

by:Anuroopsundd
ID: 37827276
where is the sheet attached?
0
 

Author Comment

by:swjtx99
ID: 37827358
I'll try that again. I attached it but it didn't upload.
Delete-blank-columns.xlsm
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 17

Expert Comment

by:Anuroopsundd
ID: 37827449
is your heading of the columns fixed.. i mean you will know the heading for the columns which are not empty?
0
 

Author Comment

by:swjtx99
ID: 37827474
Yes, the column headings will always be the same name but not always in the same place.
0
 
LVL 46

Accepted Solution

by:
Martin Liss earned 500 total points
ID: 37828291
Change

ActiveSheet.UsedRange.Columns(ActiveSheet.UsedRange.Columns.Count).Columns

to

ActiveSheet.UsedRange.Columns.Count
0
 

Author Closing Comment

by:swjtx99
ID: 37832194
Thanks. Works great. Also found this after some late night googling. Yours is less lines so not sure what the difference is but they both work.

   
Sub Step_21_DeltBlnkCol()

Sheets("Gage").Select

Range("A1").Select
C = ActiveCell.Address
D = Cells.Find("*", SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column

'Keep going through all the columns that contain data

While ActiveCell.Column <= D

' Check to see if the column is empty

  If WorksheetFunction.CountA(Selection.EntireColumn) = 0 Then

'   If it is empty delete it

    Selection.EntireColumn.Delete

'   Decrement the number of columns that contain data as one was just deleted

    D = D - 1
  Else

'   If is is not empty go to the next column to test it

    ActiveCell.Offset(0, 1).Select
  End If
Wend
Ender:

'Go back to original starting place

ActiveSheet.Range(C).Select

'End Sub
0
 
LVL 46

Expert Comment

by:Martin Liss
ID: 37832906
You're welcome but I think you should 'Request Attention' so that you can give Anuroopsundd at least half the points since all I did was to correct one line in his solution.
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Approximate matching with VLOOKUP and MATCH seems to me to be a greatly under-used technique, and one which is vital for getting good performance out of large lookups. Until recently I would always have advised using an exact match for simplicity an…
How to quickly and accurately populate Word documents with Excel data, charts and images (including Automated Bookmark generation) David Miller (dlmille) Synopsis In this article you’ll learn how to use ExcelToWord! to copy data,charts, shapes …
The viewer will learn how to simulate a series of sales calls dependent on a single skill level and learn how to simulate a series of sales calls dependent on two skill levels. Simulating Independent Sales Calls: Enter .75 into cell C2 – “skill leve…
Excel styles will make formatting consistent and let you apply and change formatting faster. In this tutorial, you'll learn how to use Excel's built-in styles, how to modify styles, and how to create your own. You'll also learn how to use your custo…

911 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now