如何一列拆分工作表并保存(第三列表)

本文介绍了一段VBA代码,该代码可以将Excel工作表中的数据按C列的唯一值拆分成多个独立的工作簿文件,每个文件以C列的唯一值命名,并包含与之对应的数据行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    Sub 分拆工作表()
      Dim r%, i%
      Dim arr, brr
      Dim d As Object
      Dim wb As Workbook
      Dim ws As Worksheet
      Application.ScreenUpdating = False
      Application.DisplayAlerts = False
      Application.SheetsInNewWorkbook = 1
      Set d = CreateObject("scripting.dictionary")
      With Worksheets("sheet1")
        r = .Cells(.Rows.Count, 4).End(xlUp).Row
        arr = .Range("c1:c" & r)
        For i = 2 To UBound(arr)
          If Not d.exists(arr(i, 1)) Then
            Set d(arr(i, 1)) = .Cells(1, 1).Resize(1, 69)
          End If
          Set d(arr(i, 1)) = Union(d(arr(i, 1)), .Cells(i, 1).Resize(1, 69))
        Next
      End With
      For Each aa In d.keys
        Set wb = Workbooks.Add
        With wb
          With .Worksheets("sheet1")
            .Name = aa
            d(aa).Copy .Range("a1")
          End With
          .SaveAs Filename:=ThisWorkbook.Path & "\" & aa & ".xlsx"
          .Close False
        End With
      Next
    End Sub
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值