注册 登录
编程论坛 VB6论坛

求优化word千分位

lxk1732942 发布于 2020-02-29 22:52, 1748 次点击
这是一个Word宏,用来加千分位并补足小数点后两位的,不过存在一些问题,其中有一个急需解决,那就是这个程序直接无视了小于四位数的数,确实,小于四位数的数不需要加千分位,但是它可能会需要补足小数点后两位,望大佬解决
程序代码:

Sub 加千位符()

 '加千位符
      Dim i As Range, Acell As Cell, CR As Range
      On Error Resume Next
      Application.ScreenUpdating = False
      If Selection.Type = 2 Then
          For Each i In Selection.Words
              If i Like "####*" = True Then
                  If i.Next Like "." = True And i.Next(wdWord, 2) Like "#*" = True Then
                      i.SetRange Start:=i.Start, End:=i.Next(wdWord, 2).End
                      i = Format(i, "Standard")
                  Else
                      i = Format(i, "Standard")
                  End If
              End If
          Next i
      ElseIf Selection.Type = 5 Then
          For Each Acell In Selection.Cells
              Set CR = ActiveDocument.Range(Acell.Range.Start, Acell.Range.End - 1)
              MsgBox CR
              If CR Like "####*" = True Then
                  If CR Like "####.#*" = True Then
                      Yn = Format(CR, "Standard")
                      CR.Text = Nn
                  Else
                      Yn = Format(CR, "Standard")
                      CR.Text = Nn
                  End If
              End If
          Next Acell
      Else
          MsgBox "只能选定文本或者表格之一", vbOK + vbInformation
      End If
      Application.ScreenUpdating = True

 End Sub
2 回复
#2
lxk17329422020-03-03 12:37
这东西是VBA,和VB应该差不太多吧,哈哈,我是外行
#3
wmf20142020-03-03 20:41
如果提供一个word文档范例就好了
1