excel学习库

excel表格_excel函数公式大全_execl从入门到精通

Excel VBA系列之同步完成建表和拆分数据

如何通过VBA来新建工作表并拆分数据至这些工作表中? 1. 在如图的一张工作表中,有多个班级的数据混合在一起,要求按照班级分别新建一班级名称命名的工作表,并将其对应的数据拆分至各个工作表中。2. 打开Visual Basic,添加模块和过程,称之为“建表拆数据”。3. 添加新建工作表的代码,详细的步骤可以参考以下文章,这里将代码根据本案例的需求修改了一下。 Sub 建表拆数据()Dim sht As WorksheetDim i, j As Integer'建表For j = 2 To Sheet1.Range("A10000").End(xlUp).Rowi = 0For Each sht In SheetsIf sht.Name = Sheet1.Range("B" & j) Theni = 1End IfNextIf i = 0 ThenSheets.Add after:=Sheets(Sheets.Count)Sheets(Sheets.Count).Name = Sheet1.Range("B" & j)End IfNextEnd Sub 4. 进一步完善以上这段代码的可读性,可以定义一个变量krow为整数,且krow=Sheet1.Range("A10000").End(xlUp).Row,也就是数据总共的行数。Sub 建表拆数据()Dim sht As WorksheetDim i, j As IntegerDim krow As Integer '此为数据总行数'建表krow = Sheet1.Range("A10000").End(xlUp).RowFor j = 2 To krowi = 0For Each sht In SheetsIf sht.Name = Sheet1.Range("B" & j) Theni = 1End IfNextIf i = 0 ThenSheets.Add after:=Sheets(Sheets.Count)Sheets(Sheets.Count).Name = Sheet1.Range("B" & j)End IfNextEnd Sub 5. 添加筛选拆分数据的代码,详细的步骤可以参考以下文章,这里将代码根据本案例的需求修改了一下。 Sub 建表拆数据()Dim sht As WorksheetDim i, j, k As IntegerDim krow As Integer '此为数据总行数'建表krow = Sheet1.Range("A10000").End(xlUp).RowFor j = 2 To krowi = 0For Each sht In SheetsIf sht.Name = Sheet1.Range("B" & j) Theni = 1End IfNextIf i = 0 ThenSheets.Add after:=Sheets(Sheets.Count)Sheets(Sheets.Count).Name = Sheet1.Range("B" & j)End IfNext'拆分数据For k = 2 To Sheets.CountSheet1.Range("A1:F"&krow).AutoFilterField:=2,Criteria1:=Sheets(k).NameSheet1.Range("A1:F" & krow).Copy Sheets(k).Range("A1")NextSheet1.Range("A1:F" & krow).AutoFilterEnd Sub 6. 最后执行以上完整代码后,即可完成新建表和拆分数据的同步操作。以上示例只是用于演示,实际应用场景请根据自己的需要进行相应的设计或调整。
已下架

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接