VBA实现excel数据-拆分到表

 

 

Sub 表拆分()
    
    Dim imaxRow As Integer, ssName As String, sht As Object, n As Integer
    
    imaxRow = Worksheets("数据").Range("A1").End(xlDown).Row '表的最大行
    
    
    For x = 2 To imaxRow
    
        ssName = Worksheets("数据").Range("C" & x).Value ' 获取列值,即表名
    
        On Error Resume Next '以下程序就算出错也继续运行
        
        Set sht = Worksheets(ssName)  '①
        
        If Err.Number <> 0 Then  '判断表名不存在时, 0 代表存在
            '新建表
            Set sht = Worksheets.Add(, Worksheets("数据"))    '疑惑:②, 此时的表明与①表名并不同
            sht.Name = ssName
            '填写表头
            Worksheets(ssName).Range("A1").Resize(1, 8).Value = _
            Worksheets("数据").Range("A1").Resize(1, 8).Value
    
        End If
            '填数据
            n = sht.Range("A" & Rows.Count).End(xlUp).Row + 1  '获取当前worksheets的行数
            Worksheets(ssName).Range("A" & n).Resize(1, 8).Value = _
            Worksheets("数据").Range("A" & x).Resize(1, 8).Value
    
       Next
End Sub

  

转载于:https://www.cnblogs.com/joewancn/p/9643520.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值