Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
12
返回列表 发新帖
楼主: 龙送农

[已解决]学校账簿设计:信息分解(代码修改或新写代码)

[复制链接]
发表于 2014-4-17 08:41 | 显示全部楼层
Sub 分解()
    Dim d, arr
    Dim i%, j As Byte, k As Byte, iRow%, sh As Object
    Dim brr(1 To 1500, 1 To 15)
    Set d = CreateObject("scripting.dictionary")
    For k = 4 To 8
        Set sh = Sheets(k)
        d(sh.Name) = k
        With Sheets("银行账")
            arr = .Range("A6:O" & .Range("a65536").End(xlUp).Row)
        End With
        For i = 1 To UBound(arr)
            If d(arr(i, 5)) = k Then
                iRow = iRow + 1
                For j = 1 To 15
                    brr(iRow, j) = arr(i, j)
                Next
            End If
        Next
        sh.Select
        Range("A5:O65536").ClearContents
        If iRow > 0 Then
            Range("A5").Resize(iRow, 15) = brr
            Range("A6:M" & Range("A65536").End(3).Row).Sort Key1:=Range("A5"), _
                 Order1:=xlAscending, Key2:=Range("B5"), Order2:=xlAscending, Header:=xlGuess
            With Range("A6:O" & Range("A65536").End(3).Row).Borders
                .LineStyle = xlContinuous
                .Weight = xlThin
                .ColorIndex = 15
            End With
        End If
        Set sh = Nothing
        iRow = 0
        Erase brr
    Next
End Sub
回复

使用道具 举报

 楼主| 发表于 2014-4-23 10:17 | 显示全部楼层
zjdh 发表于 2014-4-17 08:41
Sub 分解()
    Dim d, arr
    Dim i%, j As Byte, k As Byte, iRow%, sh As Object

谢谢老师!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-28 14:10 , Processed in 0.452696 second(s), 7 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表