Solved

Table Style Not Applying Correctly via VBA

Posted on 2009-05-15
6
842 Views
Last Modified: 2012-05-07
I have a form where the user can click on check buttons to apply heading row formatting or last row formatting and they have a selection of my own table styles to choice from.

The problem I have is when a table already has heading row and last row formatting applied and then I run the form and tell it to not apply header row formatting or last row formatting.

It is almost like it doesn't activiate.  It removes the bolding which is correct and part of the table style but it won't remove the shading and lines.

If after you have run the code you click in the table and then click Table | AutoFormat then you will see that the ticks have been taken off but it hasnt been activated in the table.  If you press APPLY now manually it will work, but it doesnt work by code.

Any ideas how I can get this to activate fully?  I'm only new to code writing.
Private Sub CommandButton2_Click()

 

      

  'Turn all formatting features off

  

    With Selection.Tables(1)

        .ApplyStyleFirstColumn = False

        .ApplyStyleHeadingRows = False

        .ApplyStyleLastColumn = False

        .ApplyStyleLastRow = False

    End With

 

  'start my formatting here

  

   If ApplyTable.OBTableA = True Then

 

    With Selection.Tables(1)

        .Style = "My Table Grid"

         

        

                If ApplyTable.CBHeadingRow = True Then

                .ApplyStyleHeadingRows = True

                Else

               .ApplyStyleHeadingRows = False

                End If

 

               If ApplyTable.CBLastRow = True Then

               .ApplyStyleLastRow = True

             Else

               .ApplyStyleLastRow = False

               End If

 

        .ApplyStyleFirstColumn = False

        .ApplyStyleLastColumn = False

    

    End With

 

 

    Else

 

        With Selection.Tables(1)

            .Style = "My Table Normal"

 

 

               If ApplyTable.CBHeadingRow = True Then

                .ApplyStyleHeadingRows = True

                Else

                .ApplyStyleHeadingRows = False

                End If

 

             If ApplyTable.CBLastRow = True Then

               .ApplyStyleLastRow = True

               Else

               .ApplyStyleLastRow = False

               End If

            

            .ApplyStyleFirstColumn = False

            .ApplyStyleLastColumn = False

        

        End With

 

 

    End If

        

    Selection.Tables(1).Rows(1).Cells(1).Select

    Selection.Collapse Direction:=wdCollapseStart

    

    Unload ApplyTable

      

    

End Sub

Open in new window

0
Comment
Question by:Fi69
  • 3
  • 3
6 Comments
 
LVL 37

Expert Comment

by:Joanne M. Orzech
ID: 24416292
I'm just jumping in here real quick (and I don't have time to research this thoroughly right now) but.... maybe you can just reset the whole table to normal and then apply your styles?
    With Selection.Tables(1)

        .Style = "Table Normal"

    End With
 

or
 
 

     With Selection.Tables(1)

        .Style = "Table Normal"

        .ApplyStyleHeadingRows = True

        .ApplyStyleLastRow = False

        .ApplyStyleFirstColumn = True

        .ApplyStyleLastColumn = False

    End With

Open in new window

0
 

Author Comment

by:Fi69
ID: 24417389
I tried doing that but that doesn't work either.  To be honest I think it is a bug.
0
 
LVL 37

Assisted Solution

by:Joanne M. Orzech
Joanne M. Orzech earned 100 total points
ID: 24425628
Well, I know there were issues with Word 2003's table styles....

http://www.shaunakelly.com/word/tablestyles/index.html

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.

 

Accepted Solution

by:
Fi69 earned 0 total points
ID: 24427119
To fix this problem I have written code to do what the table style should do.
0
 
LVL 37

Expert Comment

by:Joanne M. Orzech
ID: 24432092
Good for you!
0
 

Author Comment

by:Fi69
ID: 24461218
Thanks for your comments
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

A few years ago I was very much a beginner at VBA, and that very much remains the case today.  I'll do my best to explain things as I go in the hope that other beginners can follow.  If you just want to check out a tool that creates a Select Case fu…
Background What I'm presenting in this article is the result of 2 conditions in my work area: We have a SQL Server production environment but no development or test environment; andWe have an MS Access front end using tables in SQL Server but we a…
This video shows where to find the word count, how to display it, and what it breaks down to in Microsoft Word.
Learn how to create and modify your own paragraph styles in Microsoft Word. This can be helpful when wanting to make consistently referenced styles throughout a document or template.

948 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

18 Experts available now in Live!

Get 1:1 Help Now