我想以自动方式在Excel中对数据进行分组(使用宏) 例如,在我的专栏A中,我有字段掖好:
我想将这些数据分组,以便有两组:1.0(包装A1,A2和A3)和1.1(包装A4和A5)。
问题在于可以变化的数据(例如,添加一个给定的1.0.7,在1.0中需要分组(包括))
因此,有必要阅读A列的所有字段,并通过比较每个字段的前3个字符进行重组,以便对相同的字符进行分组。
可以在Visual Basic中实现吗?
答案 0 :(得分:0)
sub regrouper()
Worksheets.Add.Name="group1"
Worksheets.Add.Name="group2"
Dim g1Row As Integer
Dim g2Row As Integer
Dim splitter(0 to 4) As String
g1Row = g2Row = 2
For Each cell in Worksheets(1).Range("A1:A" & Range("A65536").End(xlup).Row)
splitter = Split(cell.text, ".")
If splitter(1) = 0 then
Worksheets("group1").Range("A" & g1Row).Value = cell.Value
g1Row = g1Row + 1
ElseIf splitter(1) = 1 then
Worksheets("group2").Range("A" & g2Row).Value = cell.Value
g2Row = g2Row + 1
Else
MsgBox("data not in group 1 or 2")
End If
Next cell
End Sub
未经测试但应该让你更近一点