Solved

Word 2010 Table  convert 10 to 10.00 via VBA Macro is this possible? 500 pnts

Posted on 2014-07-30
3
325 Views
Last Modified: 2014-08-14
Ok so I have a word table when a user enter 10 I want the to be able to run a macro and have the figure automatically convert to 10 to 10.00 via VBA Macro.

So user enter 10 and the run macro and it converts to 10.00

Easy to get them to just type it but I have my reason for doing this

500pnts - Easy for someone out there I reckon..

Thanks

Ian...
0
Comment
Question by:ise438
3 Comments
 
LVL 14

Expert Comment

by:DrTribos
ID: 40230817
Easy, but there are a few ways this could be done and picking a way that will help you is difficult because it is not clear what the underlying intention of the question is.  

For example, if the user has the discipline to run the macro, they why not just enter 10.00 instead of 10.  Or is it the case that you have a document full of 10's that you wish to replace with 10.00's

Will the 10 be the only thing in the cell?

A basic approach is shown in the attached, you will need to rename .zip to .docm

Option Explicit

Private Sub Document_ContentControlOnExit(ByVal ContentControl As ContentControl, Cancel As Boolean)
If ContentControl.Tag = "Ten" Then
    If ContentControl.Range.Text = "10" Then ContentControl.Range.Text = "10.00"
End If
End Sub	

Open in new window

10.zip
0
 

Author Comment

by:ise438
ID: 40231207
Ok fair point...

Bit of background - I am tweaking and invoice for the company I work, we need to use word instead of excel because only word integrate with our internal system.

The table uses a macro to update the calculation field so they need to run a macro any way.

But there is another macro that control is VAT is applied at that point I want VBA to check the contents of a cell and if it 10 or 15 or 20 change it to 10.00, 15.00 or 20.00. So format the cell so to speak it easy in Excel but not in word.

I know I can reference a cell in a table by using the active table command and the column and row etc

Does that help?
0
 
LVL 76

Accepted Solution

by:
GrahamSkan earned 500 total points
ID: 40231376
I guess that Steve is in bed.

 You can format cells without VBA using fields, e.g. { SUM(ABOVE) \# "#,##0.00" }

With VBA, you don't have to select the table to read and/or write data to one of its cells. You can find it in several ways ways, including its Index number. Every table has one - it's the order in the document. Our you can use bookmarks, look for some unique data etc. However, this sample code would work on the first table in the selection.

Option Explicit

Sub FormatCellData()
Dim strText As String
    strText = GetCellText(Selection.Tables(1).Cell(1, 1))
    Select Case strText
        Case "10", "15", "20"
            Selection.Tables(1).Cell(1, 1).Range.Text = strText & ".00"
    End Select
End Sub

Function GetCellText(cl As Cell) As String
    Dim rng As Range
    Set rng = cl.Range
    rng.MoveEnd wdCharacter, -1 'drop cell delimiter
    GetCellText = rng.Text
End Function

Open in new window

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

Suggested Solutions

Nice table. Huge mess. Maybe this was something you created way back before you figured out tabs or a document you received from someone else. Either way, using the spacebar to separate the columns resulted in a mess. Trying to convert text to t…
Deploying a Microsoft Access application in a Citrix environment is not difficult but takes a few steps. However, Citrix system people are often of little help, as they typically know next to nothing about Access. The script provided here will take …
This video walks the viewer through the process of creating a watermark for their document, customizing it, and saving it for viewing/printing needs.
This video walks the viewer through the process of creating envelopes and labels, with multiple names and addresses. Navigate to the “Start Mail Merge” button in the Mailings tab: Follow the step-by-step process until asked to find the address doc…

943 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

1 Experts available now in Live!

Get 1:1 Help Now