我有一个包含文本和数字的电子表格。我的老板让我在某一列的所有数字后面加一个百分号。我知道有一种简单的方法可以做到这一点,但是我想不出来。
文本的例子是:评级为70。与团队合作得很好。95的产量和98的准确率。需要自信心训练。
我想读一读:被评为70%。与团队合作得很好。95%的产量和98%的准确率。需要自信心训练。非常感谢!
发布于 2017-01-11 11:02:52
这是一个使用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之前:

在此之后:

这使用了“爬虫”技术,而不是RegEx。
EDIT#1:
宏非常容易安装和使用:
如果保存工作簿,宏也将随工作簿一起保存。如果使用的是高于2003的Excel版本,则必须将文件保存为.xlsm而不是.xlsx
要删除宏,请执行以下操作:
要从Excel使用宏,请执行以下操作:
触摸宏
要了解有关宏的一般信息,请参阅:
http://www.mvps.org/dmcritchie/excel/getstarted.htm
和
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
必须启用宏才能正常工作!
https://stackoverflow.com/questions/41581791
复制相似问题