Please Note: This article is written for users of the following Microsoft Excel versions: 2007, 2010, and 2013. If you are using an earlier version (Excel 2003 or earlier), this tip may not work for you. For a version of this tip written specifically for earlier versions of Excel, click here: Deleting Blank Columns.
by Allen Wyatt
(last updated November 15, 2014)
When importing information from an external source, it is possible that the data will contain blank columns—columns with nothing in them. If you import a lot of data, then deleting these columns can be a bother. There are a couple of ways you can approach how to delete these columns.
The first approach works very well if your data is sorted by column. In other words, the data that you import is in ascending order, or you want it in sorted order. In this case, follow these steps:
Figure 1. The Sort Options dialog box.
When sorting in this manner, all the empty columns end up "pushed" to the right, and your data is in a sorted order.
If you don't want your data sorted, then you can use a nifty macro that will check for blank columns in a selected range and then delete those columns. The following macro will do the trick:
Sub DeleteEmptyColumns() first = Selection.Column last = Selection.Columns(Selection.Columns.Count).Column For i = last To first Step -1 If WorksheetFunction.CountBlank(ActiveSheet.Columns(i)) _ = ActiveSheet.Rows.Count Then Columns(i).Delete End If Next i End Sub
To use the macro, select the range of columns in which you want blank columns deleted. The macro steps through the columns and if the column is truly blank, it is deleted. You should note that this macro will delete only columns that are truly empty. If cells within a column include a formula that returns a zero value (and you have the display of zeros values turned off) or that returns an empty string, then the column isn't empty—it contains formulas. In this case, the column won't be deleted.
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (6149) applies to Microsoft Excel 2007, 2010, and 2013. You can find a version of this tip for the older menu interface of Excel here: Deleting Blank Columns.
Save Time and Supercharge Excel! Automate virtually any routine task and save yourself hours, days, maybe even weeks. Then, learn how to make Excel do things you thought were simply impossible! Mastering advanced Excel macros has never been easier. Check out Excel 2010 VBA and Macros today!
Want to add a great way to interact with your worksheet users? Try adding combo boxes that can modify the information shown ...Discover More
Want an easy way to insert a new row in a worksheet and copy everything from the row above? (You end up with two identical ...Discover More
If someone sends you a worksheet that has lots of data in it, you might want to "spread out" the data so you can have some ...Discover More
FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
Got a version of Excel that uses the ribbon interface (Excel 2007 or later)? This site is for you! If you use an earlier version of Excel, visit our ExcelTips site focusing on the menu interface.