单个工作表的单独数据到excel中的两个工作表(VBA或其他解决方案)

时间:2013-01-10 08:07:41

标签: excel vba

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

ID名称值


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

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

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

VBA或其他解决方案可以实现吗?

1 个答案:

答案 0 :(得分: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列中