0

我有一个包含以下形式的 1000 个条目的数据集:

ID 名称 值


1 名称1 55
2 名称1 5
3 名称2 6
4 名称1 44
5 名称2 33
6 名称1 22

这些数据都包含在一个工作表中。我希望excel根据名称分隔数据,然后将每一行放在同一个工作簿中的单独工作表中。对于上述数据,excel 必须创建两个工作表(Name1 和 Name2)。

我尝试宏记录,但无法修复生成的宏。它适用于当前数据,但在添加新数据后,宏不能正常工作。

这可能与 VBA 或其他解决方案吗?

4

1 回答 1

0

该代码应该可以满足您的要求:

Sub Macro2()

Range("B2").Select
Do Until Selection.Value = "xxx"
    If Selection.Value = "Name1" Then
        ActiveCell.Rows("1:1").EntireRow.Select
        Application.CutCopyMode = False
        Selection.Copy
        Sheets("Sheet2").Select
        ActiveCell.Offset(1, 0).Range("A1").Select
        ActiveSheet.Paste
    Else
        ActiveCell.Rows("1:1").EntireRow.Select
        Application.CutCopyMode = False
        Selection.Copy
        Sheets("Sheet3").Select
        ActiveCell.Offset(1, 0).Range("A1").Select
        ActiveSheet.Paste
    End If
    Sheets("Sheet1").Select
    ActiveCell.Offset(1, 1).Select

Loop
End Sub

假设:

1-主要数据在 sheet1 内

2-有 sheet2 和 sheet3 可用于将数据复制到

3-在最后一行数据之后添加一行,每个单元格都有 xxx 否则它是一个无限循环

4- Name1 和 Name2 在 B 列中

于 2013-01-11T21:05:05.913 回答