【VBA案例014】拆分工作表(上)
288 字
1 分钟
【VBA案例014】拆分工作表(上)
大家好!如何按照表中的某一列,拆分成独立的Sheet? 如下:

这是一个特别常见常用的问题,本期分享本人用的最多的两个方法中的第一个。
因为确实不太容易理解,所以分为两部分。
这个方法非常的实用,在其他地方也可以发挥很大的作用,所以墙裂推荐大家掌握!
以下是VBA代码。详细解析请看文末的视频。
Sub 数组装进字典() Dim i, j, k Dim ar, tmp() Dim d As Object, kw$ Set d = CreateObject("Scripting.Dictionary") 'd.CompareMode = vbTextCompare '不区分大小写
ar = Range("a1:e" & [a65536].End(3).Row) Dim irow For i = 2 To UBound(ar) kw = ar(i, 4) If Not d.exists(kw) Then ReDim tmp(1 To 5000, 1 To UBound(ar, 2) + 1) For j = 1 To UBound(ar, 2) tmp(1, j) = ar(1, j) tmp(2, j) = ar(i, j) Next tmp(1, UBound(ar, 2) + 1) = 2 d(kw) = tmp Else tmp = d(kw) irow = tmp(1, UBound(ar, 2) + 1) + 1 For j = 1 To UBound(ar, 2) tmp(irow, j) = ar(i, j) Next tmp(1, UBound(ar, 2) + 1) = irow d(kw) = tmp End If Next i
Dim dk For Each dk In d.keys With ThisWorkbook.Worksheets.Add(after:=ThisWorkbook.Worksheets(ThisWorkbook.Worksheets.Count)) .Name = dk tmp = d(dk) .[a1].Resize(tmp(1, UBound(ar, 2) + 1), UBound(ar, 2)) = tmp End With Next
End Sub支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!
【VBA案例014】拆分工作表(上)
https://fanrich.eu.org/posts/程技/vba/vba案列/vba案例014拆分工作表上/相关文章智能推荐
1
【VBA案例015】拆分工作表(下)
程技2023-10-23
2
【VBA案例016】拆分工作簿
程技2023-10-23
3
【VBA案例011】合并工作表
程技2023-10-23
4
【VBA案例012】合并工作簿
程技2023-10-23
5
【VBA案例020】整合工作簿
程技2023-10-23
随机文章随机推荐
樊笼










