+ -
当前位置:首页 → 问答吧 → 请教一个汇总问题,请老师们帮忙看看

请教一个汇总问题,请老师们帮忙看看

时间:2011-08-05

来源:互联网

请教一个汇总问题,请老师们帮忙看看。谢谢。。

附件

汇总问题.rar(12.8 KB)

2011-8-5 11:40, 下载次数: 16

作者: jiminyanyan   发布时间: 2011-08-05

这个顶一下,麻烦老师看看。。。

作者: jiminyanyan   发布时间: 2011-08-05


高级了这个也不会?

作者: zhz3230   发布时间: 2011-08-05

引用:
原帖由 zhz3230 于 2011-8-5 22:18 发表

高级了这个也不会?
这个还真不会,麻烦老师指点。

作者: jiminyanyan   发布时间: 2011-08-05

提示一下,获取工作薄名,获取月份和姓名(可以用left 和right函数截取),根据月份生成

作者: zhz3230   发布时间: 2011-08-05

引用:
原帖由 zhz3230 于 2011-8-5 22:27 发表
提示一下,获取工作薄名,获取月份和姓名(可以用left 和right函数截取),根据月份生成
子文件夹那块感觉比较难处理,老师有空写一下代码吗?谢谢!

作者: jiminyanyan   发布时间: 2011-08-05

Sub zhz3230()
a = "d:\ss\zhz.xls"
ar = Split(a, "\")
na = ar(UBound(ar))
nam = Left(na, Len(na) - 4) '文件名
MsgBox nam
End Sub
自己做

作者: zhz3230   发布时间: 2011-08-05

引用:
原帖由 zhz3230 于 2011-8-5 22:41 发表
Sub zhz3230()
a = "d:\ss\zhz.xls"
ar = Split(a, "\")
na = ar(UBound(ar))
nam = Left(na, Len(na) - 4) '文件名
MsgBox nam
End Sub
自己做
没答在点子上呀。。。

作者: jiminyanyan   发布时间: 2011-08-05

说道这样都不会做??
我没话说了

作者: zhz3230   发布时间: 2011-08-05

引用:
原帖由 zhz3230 于 2011-8-5 22:52 发表
说道这样都不会做??
我没话说了
老师没看清题目吧。我的重点不是你说的那个呀。
老师就知道打击人。
算了,我还自己想想再说吧。

[ 本帖最后由 jiminyanyan 于 2011-8-5 22:58 编辑 ]

作者: jiminyanyan   发布时间: 2011-08-05

楼主出示的效果是错误的,还有没有必要在姓名前加上数字
Sub Macro1()
    Dim MyPath$, MyName$, s$, t$, m&, n&, lc&
    Dim arr1(10000, 255), arr2(10000, 255), d As Object
    Set d = CreateObject("scripting.dictionary")
    MyPath = ThisWorkbook.Path & "\数据\"
    MyName = Dir(MyPath & "*.xls")
    Application.ScreenUpdating = False
    Do While MyName <> ""
        s = Split(MyName, ".")(0)
        n = Val(Left(Right(s, 3), 2))
        If n > lc Then lc = n
        arr1(0, n) = Right(s, 3)
        arr2(0, n) = Right(s, 3)
        t = Left(s, Len(s) - 3)
        With GetObject(MyPath & MyName)
            With .Sheets(1)
                If Not d.Exists(t) Then
                    m = m + 1
                    d(t) = m
                    arr1(m, 0) = t
                    arr2(m, 0) = t
                    arr1(m, n) = .[a1]
                    arr2(m, n) = .[a2]
                Else
                    arr1(d(t), n) = .[a1]
                    arr2(d(t), n) = .[a2]
                End If
            End With
            .Close False
        End With
        MyName = Dir
    Loop
    ActiveSheet.UsedRange.ClearContents
    [a1].Resize(m + 1, lc + 1) = arr1
    Cells(m + 8, 1).Resize(m + 1, lc + 1) = arr2
    Application.ScreenUpdating = True
End Sub

作者: zhaogang1960   发布时间: 2011-08-05

请看附件
汇总问题.rar (17.89 KB)
汇总问题.rar (17.89 KB)
下载次数: 1
2011-8-5 23:02

作者: zhaogang1960   发布时间: 2011-08-05

又见版主,
其实本人也看见错误了,所以没有做,看楼主是高级了,以为提示其就可以自己做

作者: zhz3230   发布时间: 2011-08-05

引用:
原帖由 zhaogang1960 于 2011-8-5 23:01 发表
楼主出示的效果是错误的,还有没有必要在姓名前加上数字
Sub Macro1()
    Dim MyPath$, MyName$, s$, t$, m&, n&, lc&
    Dim arr1(10000, 255), arr2(10000, 255), d As Object
    Set d = CreateObject("sc ...
谢谢老师,可以不认为是错误。用1张三,2李四是可以的。

[ 本帖最后由 jiminyanyan 于 2011-8-5 23:16 编辑 ]

作者: jiminyanyan   发布时间: 2011-08-05

相关阅读 更多