Vba 用于向应用程序添加逗号的脚本。所选内容无法正常工作
我最初在网上发现了一个脚本,它允许我在每个X字符处添加一个逗号,问题是它一次只能处理一个选择,我需要这样做9000次 我开始玩弄它,我很快就能让它正常工作,但我需要一些帮助 现在,当我切换“下一个s”和“循环”时,它工作了——但它的格式是这样的 XXXXX,XXXX,X 我希望它看起来像这样: XXXXX,XXXXX,XXXXX 有一件事我很可能会用后面的函数来修复,但它在末尾添加了一个逗号,希望它不要在单词的末尾添加一个逗号 这是我的剧本:Vba 用于向应用程序添加逗号的脚本。所选内容无法正常工作,vba,excel,Vba,Excel,我最初在网上发现了一个脚本,它允许我在每个X字符处添加一个逗号,问题是它一次只能处理一个选择,我需要这样做9000次 我开始玩弄它,我很快就能让它正常工作,但我需要一些帮助 现在,当我切换“下一个s”和“循环”时,它工作了——但它的格式是这样的 XXXXX,XXXX,X 我希望它看起来像这样: XXXXX,XXXXX,XXXXX 有一件事我很可能会用后面的函数来修复,但它在末尾添加了一个逗号,希望它不要在单词的末尾添加一个逗号 这是我的剧本: Sub CommaAdd() Dim Wor
Sub CommaAdd()
Dim WorkRng As Range
Dim s As Range
Dim x As Long
xTitleId = "SelectionRange"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
For Each s In WorkRng
s = Selection.Value
x = Len(s) \ 5
If Len(s) Mod 5 = 0 Then
x = x - 1
End If
Do Until x <= 0
s = Left(s, x * 5) & "," & Mid(s, x * 5 + 1)
x = x - 1
Selection.Value = s
Next s
Loop
End Sub
经过反复试验,它按我想要的方式工作。我想和你分享
Sub CommaAdd()
Dim WorkRng As Range
Dim s As String
Dim a As Object
Dim x As Long
xTitleId = "SelectionRange"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
For Each a In WorkRng
s = a.Value
x = Len(s) \ 5
If Len(s) Mod 5 = 0 Then
x = x - 1
End If
Do Until x = 0
s = Left(s, x * 5) & "," & Mid(s, x * 5 + 1)
x = x - 1
Loop
a.Value = s
Next a
Application.ScreenUpdating = True
End Sub
Sub CommaAdd()
Dim WorkRng As Range
Dim s As String
Dim a As Object
Dim x As Long
xTitleId = "SelectionRange"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
For Each a In WorkRng
s = a.Value
x = Len(s) \ 5
If Len(s) Mod 5 = 0 Then
x = x - 1
End If
Do Until x = 0
s = Left(s, x * 5) & "," & Mid(s, x * 5 + 1)
x = x - 1
Loop
a.Value = s
Next a
Application.ScreenUpdating = True
End Sub