在包含文本和数字的列中的数字后添加“%”

时间:2017-01-11 02:33:34

标签: excel excel-2010

我有一个包含文字和数字的电子表格。我的老板让我在特定栏目中的所有数字后面加上一个百分号。我知道有一种简单的方法可以做到这一点,但无法弄明白。

文字示例如下: 评为70分。与团队合作非常好。 95生产和98精度。需要信心培训。

想要阅读: 评分为70%。与团队合作很好。 95%的产量和98%的准确度。需要信心培训。 非常感谢!!!

1 个答案:

答案 0 :(得分:0)

以下是使用 VBA 的方法。选择您要处理的单元格并运行此短宏:

Option Explicit

Sub Percentology()
    Dim r As Range, sin As String, sout As String
    Dim i As Long, L As Long, CH As String

    For Each r In Selection
        sin = r.Value
        sout = ""
        L = Len(sin)
        sout = Left(sin, 1)
        For i = 2 To L
            CH = Mid(sin, i, 1)
            If Not IsNumeric(CH) And IsNumeric(Right(sout, 1)) Then
                sout = sout & "%"
            End If
            sout = sout & CH
            If i = L And IsNumeric(CH) Then sout = sout & "%"
        Next i
        r.Value = sout
    Next r
End Sub

在:

enter image description here

之后:

enter image description here

这使用"抓取工具"技术而不是RegEx。

修改#1:

宏非常易于安装和使用:

  1. ALT-F11调出VBE窗口
  2. ALT-I ALT-M打开了一个新模块
  3. 粘贴内容并关闭VBE窗口
  4. 如果保存工作簿,宏将随之保存。 如果您在2003年之后使用的是Excel版本,则必须保存 该文件为.xlsm而不是.xlsx

    删除宏:

    1. 按上述方式调出VBE窗口
    2. 清除代码
    3. 关闭VBE窗口
    4. 要使用Excel中的宏:

      1. ALT-F8
      2. 选择宏
      3. 触碰RUN
      4. 要了解有关宏的更多信息,请参阅:

        http://www.mvps.org/dmcritchie/excel/getstarted.htm

        http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

        必须启用宏才能使其生效!