Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1529|回复: 10

[已解决]数字后面添加分号

[复制链接]
发表于 2022-7-27 20:53 | 显示全部楼层 |阅读模式
本帖最后由 心灵有约 于 2022-7-27 21:08 编辑

数字后面添加分号.rar (7.58 KB, 下载次数: 6)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2022-7-27 21:54 | 显示全部楼层
试试看!!!!

数字后面添加分号(正则20220727).rar

16.86 KB, 下载次数: 3

回复

使用道具 举报

发表于 2022-7-27 22:06 | 显示全部楼层    本楼为最佳答案   
本帖最后由 hasyh2008 于 2022-7-27 22:08 编辑

.Pattern = ".+\d+;?"改为:
.Pattern = "\D+\d+;?"
回复

使用道具 举报

 楼主| 发表于 2022-7-28 07:15 | 显示全部楼层
hasyh2008 发表于 2022-7-27 22:06
.Pattern = ".+\d+;?"改为:
.Pattern = "\D+\d+;?"

再补充下问题:如果文本中没有数字,则不做修改,但需保留原状。谢谢
回复

使用道具 举报

发表于 2022-7-28 08:25 | 显示全部楼层
再试试!!!!

数字后面添加分号(正则20220727)(1).rar

18.11 KB, 下载次数: 5

回复

使用道具 举报

 楼主| 发表于 2022-7-28 22:09 | 显示全部楼层

数字后面添加分号(正则20220727)(1) (1).rar (515.28 KB, 下载次数: 8)
回复

使用道具 举报

发表于 2022-7-29 09:05 | 显示全部楼层
本帖最后由 hasyh2008 于 2022-7-29 09:21 编辑

再试试吧!!

数字后面添加分号(正则20220729).rar

732.05 KB, 下载次数: 8

回复

使用道具 举报

 楼主| 发表于 2022-7-29 16:44 | 显示全部楼层

OK了,谢谢。
回复

使用道具 举报

发表于 2022-7-30 14:17 | 显示全部楼层
又修改了下

数字后面添加分号(正则20220730).rar

917.59 KB, 下载次数: 8

回复

使用道具 举报

发表于 2022-7-30 18:13 | 显示全部楼层
Sub test()
Dim i As Integer
Dim j As Integer
Dim arr
Dim str, str1
arr = Range("a1", Range("a65536").End(xlUp))
For i = 2 To UBound(arr)
str = ""
str1 = arr(i, 1)
    For j = 1 To Len(arr(i, 1))

        If VBA.IsNumeric(Mid(arr(i, 1), j, 1)) Then
            n = j
            m = --Mid(arr(i, 1), j, 1)
                If n = Len(arr(i, 1)) Then
                    str = VBA.Replace(str1, str1, str1 & ";")
                    Cells(i, 2) = str
                    Exit For
                End If
               
               
                If ";" = Mid(str1, Len(str1), 1) Then
                    Cells(i, 2) = str1
                    Exit For
                End If
               
           
            Do
                j = j + 1
            Loop Until Not VBA.IsNumeric(Mid(arr(i, 1), j, 1))
                  y = y + 1
               str = str & Application.WorksheetFunction.Replace(str1, j - 2 + y, 1, Mid(arr(i, 1), j - 1, 1) & ";")
                 str1 = str
                 str = ""
               
        End If
    Next
Next
End Sub
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-30 14:39 , Processed in 0.478505 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表