Solved

set a decimal tab using VBA

Posted on 2014-02-11
3
720 Views
Last Modified: 2014-02-11
Dear Experts:

I would like to insert a decimal tab at 1.7 cm in all cells of Column 2 and 3 (starting from row 2) of the currently selected table using VBA. I would like to get this code snippet integrated into an already existing macro.

That is what the macro recorder came up with:
'Selection.ParagraphFormat.TabStops.Add Position:=CentimetersToPoints(1.7) _
'        , Alignment:=wdAlignTabDecimal, Leader:=wdTabLeaderSpaces



Help is very much appreciated. Thank you very much in advance.

Regards,  Andreas


Sub Format_Columns_Add_Decimal_tabs_selected_table()

'to be expanded by inserting a decimal tab at 1.7 cm in all cells starting from row 2 of Column 2 and 3


Dim mytable As Table

Set mytable = Selection.Tables(1)
    With mytable
       .PreferredWidth = 97.5
       .PreferredWidthType = wdPreferredWidthPercent
       .Columns(2).Width = CentimetersToPoints(3.1)
       .Columns(3).Width = CentimetersToPoints(3.1)
       .PreferredWidth = 97.5
       .PreferredWidthType = wdPreferredWidthPercent
    End With
End Sub

Open in new window

0
Comment
Question by:AndreasHermle
  • 2
3 Comments
 
LVL 49

Accepted Solution

by:
Rgonzo1971 earned 500 total points
ID: 39849541
Hi,

pls try

Sub Format_Columns_Add_Decimal_tabs_selected_table()

'to be expanded by inserting a decimal tab at 1.7 cm in all cells starting from row 2 of Column 2 and 3


Dim mytable As Table
Set d = ActiveDocument
Set mytable = Selection.Tables(1)
    With mytable
        For IdxRow = 2 To .Rows.Count
            For IdxCol = 2 To 3
                Set c = .Cell(IdxRow, IdxCol)
                c.Range.ParagraphFormat.TabStops.Add Position:=CentimetersToPoints(1.7) _
                    , Alignment:=wdAlignTabDecimal, Leader:=wdTabLeaderSpaces
            Next
        Next
       .PreferredWidth = 97.5
       .PreferredWidthType = wdPreferredWidthPercent
       .Columns(2).Width = CentimetersToPoints(3.1)
       .Columns(3).Width = CentimetersToPoints(3.1)
       .PreferredWidth = 97.5
       .PreferredWidthType = wdPreferredWidthPercent
    End With
End Sub

Open in new window

EDIT used the with mytable

Regards
0
 

Author Comment

by:AndreasHermle
ID: 39849553
Hi Rgonzo,

works like a charm. Thank you very much for your swift and professional help.

I deleted 'stop' on line 15. I am sure you placed this just for testing, am I right?

I will post a similar question soon.

Regards, Andreas
0
 

Author Closing Comment

by:AndreasHermle
ID: 39849555
Rgonzo, as always, very professional and superb support. Thank you very much for it.

Regards, Andreas
0

Featured Post

Enterprise Mobility and BYOD For Dummies

Like “For Dummies” books, you can read this in whatever order you choose and learn about mobility and BYOD; and how to put a competitive mobile infrastructure in place. Developed for SMBs and large enterprises alike, you will find helpful use cases, planning, and implementation.

Question has a verified solution.

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

It is often necessary in this forum and others to illustrate Word fields as text with the field delimiters replaced with the curly brackets that the delimiters resemble when field codes are being displayed on the document. This means that the text c…
This is written from a 'VBA for MS Word' perspective, but I am sure it applies to most other MS Office components where VBA is used.  One thing that really bugs me is slow code, ESPECIALLY when it's mine!  In programming there are so many ways to…
The viewer will learn how to make their project stand out over others by learning how to change colors and shapes, add spaces, change directions, and add bullets to their charts.
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.

831 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