自动重组数据

我想以自动的方式(通过使用macros)在Excel中对数据进行分组例如,在我的列A中,我有字段卷起如下:

  • 在A1我有“1.0.1”,
  • 在A2“1.0.3”中,
  • 在A3“1.0.5”中,
  • 在A4“1.1.1”中,
  • 在A5“1.1.2”中。

我想分组这些数据,以便有两个组:1.0(包装A1,A2和A3)和1.1(包装A4和A5)。

问题是可以改变的数据(例如添加一个给定的1.0.7,这将需要在1.0中进行分组)

因此,需要读取A列的所有字段,并通过比较每个字段的前3个字符进行重新分组,并且将相同的分组进行分组。

在Visual Basic中可以做到这一点吗?

 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 

没有testing,但应该让你更接近一点