美文网首页
练习-拆分多表加载宏

练习-拆分多表加载宏

作者: A_rrow | 来源:发表于2019-07-22 20:54 被阅读0次

较于之前做的修改

  1. 表名不能限制为“数据”,需要抓取当前活动工作表的名字
  2. 引用单元格不能用Sheet1,因为数据中有可能不在sheet1表,需要改成sheets(“表名")这种样式
  3. 原来的代码只针对A-F列,未来待处理的数据可能很多列,需要开大一点,例如A-Z列
Sub chaifenshuju()

Dim sht As Worksheet
Dim k, i, j As Integer
Dim irow As Integer 
Dim str As String '修改1'

str = ActiveSheet.Name '修改2'

l = InputBox("请输入你要按哪列分")
If VBA.Information.IsNumeric(l) = False Or l < 1 Then
    Exit Sub
End If

'删除无意义的表
Application.DisplayAlerts = False
If Sheets.Count > 1 Then
    For Each sht1 In Sheets
        If sht1.Name <> str Then '修改3'
            sht1.Delete
        End If
    Next
End If
Application.DisplayAlerts = True 




irow = Sheets(str).Range("a65536").End(xlUp).Row '修改4'
'拆分表
For i = 2 To irow
    k = 0
    For Each sht In Sheets
        If sht.Name = Sheets(str).Cells(i, l) Then 
            k = 1
        End If
    Next
    
    
    If k = 0 Then
        Sheets.Add after:=Sheets(Sheets.Count)
        Sheets(Sheets.Count).Name = Sheets(str).Cells(i, l)   
    End If

Next

'拷贝数据'
For j = 2 To Sheets.Count
    Sheets(str).Range("a1:z" & irow).AutoFilter Field:=l, Criteria1:=Sheets(j).Name  
    Sheets(str).Range("a1:z" & irow).Copy Sheets(j).Range("a1") 
Next

Sheets(str).Range("a1:z" & irow).AutoFilter  

Sheets(str).Select 

MsgBox "已处理完毕"

End Sub

相关文章

  • 练习-拆分多表加载宏

    较于之前做的修改 表名不能限制为“数据”,需要抓取当前活动工作表的名字引用单元格不能用Sheet1,因为数据中有可...

  • 懒加载

    宏式懒加载 定义一个懒加载的宏 使用

  • 多表查询练习

    显示所有员工的姓名,部门号和部门名称。 查询90号部门员工的job_id和90号部门的location_id 选择...

  • 懒加载

    知识点 webpack代码拆分动态倒入懒加载 1.懒加载 懒加载我们都知道,不即时加载所有资源,而是在需要的时候才...

  • 陶泽昱Excel应用技巧大全第27期:数据表处理技术

    一、多表拆分应用 例1按设备类别实现总表拆分到分表 如图1所示,展示了一份培训部门设备明细表,其中总表保护焊了所有...

  • React 新特性 lazy&Suspense 及相关错误处理

    lazy&Suspense 基本使用 JS 模块延时加载,做代码拆分 使用 React生命周期 拦截组件加载失败 ...

  • iOS加载gif图片

    1、通过拆分gif,加载一个图片数组(推荐一个Mac APP自动拆分gif:Gif Preview) 2、UIWe...

  • 拆分《刻意练习》

    按章节重点脉络 001引言 天才存在吗? 一系列的深度挖掘,告诉我们,天才不是天赋,不是天生的,正如我们现在所看的...

  • mysql多表查询0529

    /*多表查询综合练习,测试显性查询和隐性查询,熟悉多表对应关系,写清中间表 显示内连接标准语法:SELECT 列名...

  • 2019-11-18 AppDelegate 瘦身方案

    1、通过拆分模块 把不同的功能模块拆分,由不同的文件去实现。然后在AppDelegate只去加载这些单独实现的文件...

网友评论

      本文标题:练习-拆分多表加载宏

      本文链接:https://www.haomeiwen.com/subject/pahblctx.html