Add 0 before decimal point through VBA

S

Sudhir_Gawade

Hi,

In my MS Word document, there are about 50 pages. I need to add "0
where decimal value is in this format .25 or any Number. I need VB
code.

I have tried with below, but it is time consuming is there other way o
doing same.

Sub a()

With ActiveDocument
For i = 1 To .Words.Count

If .Words(i).Text = "." Then

If IsNumeric(.Words(i).Text & .Words(i + 1).Text) And .Words(i - 1).Tex
<> "0" Then

.Words(i).Text = "0" & .Words(i).Text
i = i + 2
End If
End If
Next
End With

End Sub

Thanks in advance

Regards,
Sudhir
 
S

Stefan Blom

A wildcard search should do the trick. There might be more efficient
ways, but here's one attempt:

"Find what": ([!0-9])(.)([0-9])

"Replace with": 0\2\3

(Note that I have entered a space before the zero in the "Replace with"
box.)

Test it on a *copy* of your document.

Stefan Blom
Microsoft Word MVP
 
S

Stefan Blom

Thinking about it, the character before the period is a space, so you
should be able to do it more easily as follows:

"Find what": ( )(.)([0-9])

"Replace with": 0\2\3

(Again, there is a space before the zero in "Replace with.")

Stefan Blom
Microsoft Word MVP





A wildcard search should do the trick. There might be more efficient
ways, but here's one attempt:

"Find what": ([!0-9])(.)([0-9])

"Replace with": 0\2\3

(Note that I have entered a space before the zero in the "Replace with"
box.)

Test it on a *copy* of your document.

Stefan Blom
Microsoft Word MVP





Hi,

In my MS Word document, there are about 50 pages. I need to add "0"
where decimal value is in this format .25 or any Number. I need VBA
code.

I have tried with below, but it is time consuming is there other way of
doing same.

Sub a()

With ActiveDocument
For i = 1 To .Words.Count

If .Words(i).Text = "." Then

If IsNumeric(.Words(i).Text & .Words(i + 1).Text) And .Words(i - 1).Text
<> "0" Then

.Words(i).Text = "0" & .Words(i).Text
i = i + 2
End If
End If
Next
End With

End Sub

Thanks in advance

Regards,
Sudhir.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top