Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Table Style Not Applying Correctly via VBA

Posted on 2009-05-15
6
Medium Priority
?
894 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 400 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
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

 

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

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Question has a verified solution.

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

Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
Ever visit a website where you spotted a really cool looking Font, yet couldn't figure out which font family it belonged to, or how to get a copy of it for your own use? This article explains the process of doing exactly that, as well as showing how…
In this video, we show how to convert an image-only PDF file into a PDF Searchable Image file, that is, a file with both the image (typically from scanning) and text, which is created in an automated fashion with Optical Character Recognition (OCR) …
Office 365 is currently available in five editions. Three of them are for business use: Office 365 Business Essentials, Office 365 Business, and Office 365 Business Premium. Two of them are for home/personal use: Office 365 Home and Office 365 Perso…
Suggested Courses

916 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