我试图在列中每10位数后添加一个逗号。但是我已经成功创建了宏。
与此同时,我面临另一个挑战,因为数据有20列(范围A1:A20)Raw Data snapshot,我需要每次点击不同的列来运行宏。
请帮助是否可以在所有列的单个宏中完成。
答案 0 :(得分:0)
请尝试这个,它应该适合你,
Sub AddCommas()
Dim s As String
Dim i As Long
Dim j As Long
For k = 1 To 20
For i = 1 To Rows.Count
s = ""
If Not IsEmpty(Cells(i, k).Value) And Int(Len(Cells(i, k)) / 10) >= 1 Then
For j = 1 To Int(Len(Cells(i, k).Value) / 10) + 1
If j = 1 Then
s = s & Left(Cells(i, k).Value, j * 10) & ","
Else
If j = (Int(Len(Cells(i, k).Value) / 10) + 1) Or (Len(Cells(i, k).Value) / 10) = j Then
s = s & Mid(Cells(i, k).Value, ((j - 1) * 10) + 1, 10)
Else
s = s & Mid(Cells(i, k).Value, ((j - 1) * 10) + 1, 10) & ","
End If
End If
Next j
Cells(i, k).Value = s
End If
Next i
Next k
End Sub
根据起始行位置和列数调整k
变量和i
变量。希望这会有所帮助。