热心网友
回答时间:2024-04-08 13:41
将下面函数放入模块中,然后在要存放结果的单元格里输入 =crazy0qwer("A1") (这里假设
要处理的数据在A1单元格)。 然后该单元格就可以显示处理后的数据,源数据不变。
说白了这个函数的功能就是在每个字母后面加上冒号,不管数据长短都可以。
Private Function crazy0qwer(ByVal String1 As String) As String '参数为源数据单元格 如 "A1"
Dim i As Long, Str1 As String, Str2 As String
String1 = Range(String1).Value '获取给定单元格的值
For i = 1 To Len(String1)
Str2 = Mid(String1, i, 1) '分解
Str1 = IIf((Str2 > "9" Or Str2 < "0"), Str1 & Str2 & ":", Str1 & Str2) '如果分解出的字符非数字 则加冒号
Next
If Right(Str1, 1) = ":" Then Str1 = Mid(Str1, 1, Len(Str1) - 1) '如果最后一个字符为冒号则去掉
crazy0qwer = Str1 '将结果给 函数返回值
End Function
收起
热心网友
回答时间:2024-04-08 13:37
=MID(A:A,1,2)&":"&MID(A:A,3,2)&":"&MID(A:A,5,2)......
如果字段都一样长,就按上面的规律输入公式,如果字段不一样长,那就有点麻烦。
收起