如何将行数据拆分到按字母顺序排列的工作表中?

如何将行数据拆分到按字母顺序排列的工作表中?

我有一个 Excel 文件,其中有一个源表,其中包含许多列。第 1 列是文本,第 2 列以后的列可以是任何格式。

我想要的是同一个文件中另外 27 个工作表,分别名为 #、A、B、...、Y、Z。

您可以猜测,工作表 # 将包含源工作表中的所有行(按相同顺序),其中第一列以 AZ 以外的任何内容开头。

同样,工作表 A 将包含源工作表中的所有行(按相同顺序),其中第一列以 A 开头,依此类推。

源工作表还有一个标题行,应将其复制到所有 27 张新工作表中。

我一直在努力尝试很多方法,比如分组、过滤和假设,但却不明白它们是如何工作的。

我怎样才能做到这一点?

答案1

在执行任何操作之前,请记住备份您的文件。

而不是filter,您应该sort选择将数据分组在一起的第一列。从那里您可以选择要移动的数据行,然后将其剪切并粘贴到所需的工作表中。

如果某些项目排序不准确,请注意以下几点如何在 Excel 中正确排序字母数字数据

对包含字母数字字符的列进行排序时,排序可能会返回意外结果。Excel 按字符从左到右对值进行排序。例如,如果单元格包含文本“A100”,则 Excel 会将该单元格放在包含条目“A1”的单元格之后和包含条目“A11”的单元格之前。


您可以手动创建选项卡。如果您还没有创建选项卡,但想自动创建选项卡,可以使用粘贴到ThisWorkbookVBA 资源管理器 ( Alt+ ) 中的此代码。然后从宏窗口 ( + )F11运行。完成后,您可以返回并从宏窗口中将其删除。AddWorksheetsAltF8

Option Explicit
Option Base 1

Sub AddWorksheets()

    Dim Tabs As Variant
    Dim I As Byte
    Tabs = Array("#", "A", "B", "C", "D", "E", "F", "G", "H", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z")

    For I = LBound(Tabs) To UBound(Tabs)
        Sheets.Add(After:=Worksheets(Worksheets.Count)).Name = Tabs(I)
    Next I

End Sub

相关内容