![]() |
#8
|
||||
|
||||
![]()
The code assumed a header row in the table. As your new example doesn't have a header row the first row is ignored. Change the loop to start from 1 rather than 2.
Also in your new example there are tabs already set in the second row, which conflict with the tabs set by the macro so you need to clear those tabs first. These issues are why the macro appears not to change anything. As there may be a header row or text in the table, I have added a check function so that cells without numbers are ignored. If you don't need that you can omit the function and its call. Code:
Sub Macro1() Dim oTable As Table Dim i As Integer Dim oCell As Cell Dim oRng As Range Dim iPos As Integer If Selection.Information(wdWithInTable) = False Then MsgBox "Put the cursor in the table to process first!", vbCritical Exit Sub End If Set oTable = Selection.Tables(1) With oTable For i = 1 To .Rows.Count For Each oCell In .Rows(i).Cells iPos = oCell.Width - oCell.LeftPadding - oCell.RightPadding - 20 Set oRng = oCell.Range If IsNumbered(oCell) = True Then oRng.ParagraphFormat.TabStops.ClearAll oRng.Collapse 1 oRng.MoveEndWhile Chr(32) oRng.Text = "" oCell.Range.ParagraphFormat.TabStops.Add _ Position:=iPos, _ Alignment:=wdAlignTabDecimal, _ Leader:=wdTabLeaderSpaces End If Next oCell Next i End With Set oTable = Nothing Set oCell = Nothing Set oRng = Nothing End Sub Private Function IsNumbered(oTableCell As Cell) As Boolean Dim sValue As String Dim oCellRng As Range Set oCellRng = oTableCell.Range oCellRng.End = oCellRng.End - 1 sValue = Trim(oCellRng.Text) IsNumbered = IsNumeric(sValue) End Function
__________________
Graham Mayor - MS MVP (Word) (2002-2019) Visit my web site for more programming tips and ready made processes www.gmayor.com |
Tags |
decimal tab, table |
Thread Tools | |
Display Modes | |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Decimal tabs with space as thousands separator | harry | Word | 1 | 12-22-2023 02:59 PM |
![]() |
Shelley Lou | Word VBA | 16 | 12-21-2020 06:34 AM |
![]() |
LuisXVI | Word VBA | 4 | 11-12-2018 03:12 PM |
Setting tabs relative to block of text | kirkm | Word | 8 | 09-06-2016 07:54 PM |
Pulling 2 digits before a decimal point from adjoining cell then zeros after decimal | jadess916 | Excel | 1 | 06-26-2014 03:48 AM |