Microsoft Office Forums

Go Back   Microsoft Office Forums > >

Reply
 
Thread Tools Display Modes
  #1  
Old 08-05-2014, 08:41 PM
macropod's Avatar
macropod macropod is offline Creating VBA Code to Delete Empty Column in Table Windows 7 32bit Creating VBA Code to Delete Empty Column in Table Office 2010 32bit
Administrator
 
Join Date: Dec 2010
Location: Canberra, Australia
Posts: 22,521
macropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond repute
Default


What you describe could be done with a macro like:
Code:
Sub Demo()
Application.ScreenUpdating = False
Dim Tbl As Table, i As Long
For Each Tbl In ActiveDocument.Tables
  With Tbl
    For i = .Columns.Count To 2 Step -1
      If Len(.Cell(2, i).Range.Text) = 2 Then .Columns(i).Delete
    Next
  End With
Next
Application.ScreenUpdating = True
End Sub
__________________
Cheers,
Paul Edstein
[Fmr MS MVP - Word]
Reply With Quote
  #2  
Old 08-07-2014, 06:52 AM
Faugs Faugs is offline Creating VBA Code to Delete Empty Column in Table Windows 7 32bit Creating VBA Code to Delete Empty Column in Table Office 2010 32bit
Novice
Creating VBA Code to Delete Empty Column in Table
 
Join Date: Aug 2014
Posts: 5
Faugs is on a distinguished road
Default

Thank you for the assistance, Macropod! You have led me in the right direction, however I am not there just yet.

I have found a similar macro that will remove a table's column ONLY if the entire column is completely blank (see below).

Code:
Sub DeleteEmptyTablerowsandcolumns()
Application.ScreenUpdating = False
Dim Tbl As Table, cel As Cell, i As Long, n As Long, fEmpty As Boolean
With ActiveDocument
For Each Tbl In .Tables
n = Tbl.Columns.Count
For i = n To 1 Step -1
fEmpty = True
For Each cel In Tbl.Columns(i).Cells
If Len(cel.Range.Text) > 2 Then
fEmpty = False
Exit For
End If
Next cel
If fEmpty = True Then Tbl.Columns(i).Delete
Next i
Next Tbl
End With
With ActiveDocument
For Each Tbl In .Tables
n = Tbl.Rows.Count
For i = n To 1 Step -1
fEmpty = True
For Each cel In Tbl.Rows(i).Cells
If Len(cel.Range.Text) > 2 Then
fEmpty = False
Exit For
End If
Next cel
If fEmpty = True Then Tbl.Rows(i).Delete
Next i
Next Tbl
End With
Set cel = Nothing: Set Tbl = Nothing
Application.ScreenUpdating = True
End Sub
The results of this code are as follows:

The second column is completely blank, so the macro deletes the entire column.




HOWEVER, I would like to tweak the VBA code above to check if ANY cells are blank within the table. If there is even 1 blank cell, delete the ENTIRE column.

See desired results below (you can see Column 2, cell D is blank, so the entire column should be deleted):



If you could help me tweak the VBA code above to complete this task, I would be very appreciative!!!
Attached Images
File Type: jpg Current_Macro.jpg (111.3 KB, 33 views)
File Type: jpg Needed_Macro.jpg (114.6 KB, 33 views)
Reply With Quote
Reply



Similar Threads
Thread Thread Starter Forum Replies Last Post
Creating VBA Code to Delete Empty Column in Table Macro to delete all empty rows from all tables braddgood Word VBA 15 10-02-2015 01:54 PM
Creating VBA Code to Delete Empty Column in Table Delete row when 2 column has no value Rok Word VBA 1 11-26-2013 01:59 AM
Creating VBA Code to Delete Empty Column in Table Unable to open or delete an empty folder Zimm Windows 4 11-19-2013 05:07 PM
Delete lots of empty space between paragraphs. FieldTechnician Word 4 10-25-2013 01:14 PM
Creating VBA Code to Delete Empty Column in Table Macro to delete rows with all empty cells ubns Excel Programming 2 08-14-2012 02:01 AM

Other Forums: Access Forums

All times are GMT -7. The time now is 10:08 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions Inc.
Search Engine Optimisation provided by DragonByte SEO (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
MSOfficeForums.com is not affiliated with Microsoft