![]() |
#1
|
|||
|
|||
![]() Hi, I'm trying to write a macro that does a few different things. I have somethings working and others I'm having trouble with. I need it to find a certain word within a table in word, select that row and change the height. If the first row of a table is blank, delete it. Convert a table to text if it starts with the word "Notes:" in the first cell. If a certain page has a word in it but no table, delete that page. There are some other things it needs to do that I already have working and here is what I have: Code:
Public Sub ACF() 'Updates table of content ActiveDocument.TablesOfContents(1).Update 'Deletes last page if it's blank Dim i As Long For i = ActiveDocument.Paragraphs.Count To 1 Step -1 If Asc(ActiveDocument.Paragraphs(i).Range.Text) = 12 Then ActiveDocument.Paragraphs(i).Range.Delete Exit For End If If Len(ActiveDocument.Paragraphs(i).Range.Text) > 1 Then Exit For End If Next i 'Deletes table if they are blank Application.ScreenUpdating = False Dim Tbl As Table, cel As Cell, n As Long, fEmpty As Boolean 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 'State table row heights Dim oTbl As Table, x As Integer, z As Integer With oTbl For i = .Rows.Count To 1 Step -1 With .Rows(i) If .Cells.Count > 1 Then Set Rng = .Cells(1, 1).Range If FindText(Rng, "California") = True Then .HeightRule = wdRowHeightAtLeast End If End With Next End With End Sub Last edited by macropod; 02-01-2013 at 06:14 PM. Reason: Added code tags & formatting |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
How do I assign a macro to a button when the macro is in my personal workbook? | foolios | Excel Programming | 2 | 07-27-2011 02:41 PM |