【问题标题】:separate data of single worksheet to two worksheets in excel (VBA or other solutions)将单个工作表的数据分离到excel中的两个工作表(VBA或其他解决方案)
【发布时间】:2013-01-10 08:07:41
【问题描述】:

我有一个包含 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 或其他解决方案实现吗?

【问题讨论】:

  • 向我们展示您的尝试?您知道,如果您想要“开箱即用的解决方案”,请向开发人员付费...
  • 我尝试宏记录,然后我无法修复生成的宏。

标签: excel vba


【解决方案1】:

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

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 列中

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-04
    • 1970-01-01
    • 2015-01-15
    • 1970-01-01
    相关资源
    最近更新 更多