Microsoft Office Forums

Go Back   Microsoft Office Forums > >

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #1  
Old 10-25-2021, 12:22 AM
RobertDany RobertDany is offline Applying a VBA code only on a selected table Windows 7 64bit Applying a VBA code only on a selected table Office 2013
Novice
Applying a VBA code only on a selected table
 
Join Date: Jul 2021
Posts: 22
RobertDany is on a distinguished road
Default Applying a VBA code only on a selected table

Hello,

I was made this macro to format a selected table

Code:
Sub FormatTable()
'
On Error GoTo ErrMsg
    Selection.Tables(1).Select
    With Selection.Tables(1)
        With .Borders(wdBorderLeft)
            .LineStyle = wdLineStyleThinThickSmallGap
            .LineWidth = wdLineWidth300pt
            .Color = wdColorAutomatic
        End With
        With .Borders(wdBorderRight)
            .LineStyle = wdLineStyleThinThickSmallGap
            .LineWidth = wdLineWidth300pt
            .Color = wdColorAutomatic
        End With
        With .Borders(wdBorderTop)
            .LineStyle = wdLineStyleThinThickSmallGap
            .LineWidth = wdLineWidth300pt
            .Color = wdColorAutomatic
        End With
        With .Borders(wdBorderBottom)
            .LineStyle = wdLineStyleThinThickSmallGap
            .LineWidth = wdLineWidth300pt
            .Color = wdColorAutomatic
        End With
        With .Borders(wdBorderHorizontal)
            .LineStyle = wdLineStyleSingle
            .LineWidth = wdLineWidth050pt
            .Color = wdColorAutomatic
        End With
        With .Borders(wdBorderVertical)
            .LineStyle = wdLineStyleSingle
            .LineWidth = wdLineWidth050pt
            .Color = wdColorAutomatic
        End With
        .Borders(wdBorderDiagonalDown).LineStyle = wdLineStyleNone
        .Borders(wdBorderDiagonalUp).LineStyle = wdLineStyleNone
        .Borders.Shadow = False
    End With
    With Options
        .DefaultBorderLineStyle = wdLineStyleSingle
        .DefaultBorderLineWidth = wdLineWidth050pt
        .DefaultBorderColor = wdColorAutomatic
    End With
    Selection.Font.Bold = wdToggle
    Selection.Font.BoldBi = wdToggle
    Selection.Font.Size = 14
    Selection.Font.Name = "Times New Roman"

ErrMsg: MsgBox "Select a Table Firstly", vbCritical

End Sub
The problem with this macro is, when a non-table is selected, the ErrMsg correctly appears, but when a table is selected, the macro format the selected table and also shows ErrMsg.

I used if conditions like,
if Activedocument.Selection.Tables = 1 then
my macro
else
error message
but it fails.



In summary, I want to apply a macro to a selected table only

Thanks a lot.
Reply With Quote
 

Tags
word table, word vba, word vba code



Similar Threads
Thread Thread Starter Forum Replies Last Post
Applying a VBA code only on a selected text or range RobertDany Word VBA 2 10-09-2021 08:31 AM
Run code if selected cell is in column Javi78503 Word VBA 0 09-21-2021 12:31 PM
Applying a VBA code only on a selected table Applying a style to a table row pops out the row mazloum91 Word Tables 2 06-29-2021 07:21 AM
Applying a VBA code only on a selected table run code only when certain cells selected trevorc Excel 2 06-19-2018 02:40 AM
Applying a VBA code only on a selected table After applying a title style, the row in a table doesn't break Salix Word 6 05-05-2016 12:48 PM

Other Forums: Access Forums

All times are GMT -7. The time now is 03:35 PM.


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