excel学习库

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

Excel VBA系列之定向完成建表和拆分数据

在如图所示的Excel表格中,如何根据不同的字段(这里是列表头)来定向新建工作表并拆分对应的数据至各个工作表中?1. 打开Visual Basic,添加模块和过程,称之为“定向拆表”。2. 如图将同步建表和拆数据的代码复制到此过程中,建表拆数据的操作步骤可参考以下文章。 3. 定义一个新变量l,并且为其赋值InputBox (“请问按第几列建表拆数据”)。 4. 变量l是单元格所在的列,要和建表拆数据的代码关联,就需要把其中的Range单元格形式用Cells来表示,这样就可以同时对行列使用变量。Sub 定向拆表()Dim sht As WorksheetDim i, j, k, l As IntegerDim krow As Integer '此为数据总行数l = InputBox("请问按第几列建表拆数据")'建表krow = Sheet1.Range("A10000").End(xlUp).RowFor j = 2 To krowi = 0For Each sht In SheetsIf sht.Name = Sheet1.Cells(j, l) Theni = 1End IfNextIf i = 0 ThenSheets.Add after:=Sheets(Sheets.Count)Sheets(Sheets.Count).Name = Sheet1.Cells(j, l)End IfNext'拆分数据For k = 2 To Sheets.CountSheet1.Range("A1:F"&krow).AutoFilterField:=l, Criteria1:=Sheets(k).NameSheet1.Range("A1:F" & krow).Copy Sheets(k).Range("A1")NextSheet1.Range("A1:F" & krow).AutoFilterEnd Sub 5. 执行以上代码后,会先弹出一个窗口询问。6. 例如在空白框中输入2。7. 点击“确定”后,就会新建工作表并拆分相应的数据到各个工作表中。8. 如果要按照其他列进行拆分,只需在弹窗的空白框中输入相应的列数即可。 以上示例仅用于演示,实际应用场景请根据自己的需要进行相应的设计或调整。

发表评论:

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

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