Office中国论坛/Access中国论坛

标题: 在EXCEL中有一列全是日期 [打印本页]

作者: zyz218    时间: 2005-1-25 18:32
标题: 在EXCEL中有一列全是日期
在EXCEL中有一列全是日期,我想找一个算法就是怎样去区别月份,如我想从那一列中挑出一月份, 我试着用MONTH(.Cells(r,2))=1 这个算法,但不行说什么类型不匹配不知为什么?另外这个算法只能区别月份,不是很好,因为不能把年区别开来,应有更好的算法,不知那位大侠指点一下多谢!
作者: zyz218    时间: 2005-1-25 23:46
我想用循环从那列中挑出一月,二月,三月,...因为我要根据出货计划统计出每月每个机种的可能出货量来调整当月的生产计划我的代码是rivate Sub Outputeverymonth()

Dim r, s, u, v, jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec As Integer

Dim NET As String

s = 3: jan = 5: feb = 6: mar = 7: apr = 8: may = 9: jun = 10: jul = 11: aug = 12: sep = 13: oct = 14: nov = 15: dec = 16

With ActiveSheet

Application.ScreenUpdating = False '关闭屏幕更新

    Worksheets("数据统计").Range("NET_Area") = ""  '清空以前数据

    Do Until s > 30

        For r = z To x

            If Month(.Cells(r, 2)) = 1 And _

               .Cells(r, 3) = "NET" And _

               .Cells(r, 4) = Worksheets("数据统计").Cells(s, 3) Then

                    u = Worksheets("数据统计").Cells(s, jan)

                    v = Worksheets("数据统计").Cells(s + 1, jan)

                    Worksheets("数据统计").Cells(s, jan) = .Cells(r, 5) + u

                    Worksheets("数据统计").Cells(s + 1, jan) = .Cells(r, 6) + v

            End If

        Next r

            s = s + 2

    Loop

Application.ScreenUpdating = True '打开屏幕更新

End With

End Sub其中的Month(.cells(r,2))=1不对,也不好因为不能区别年份请老鬼多多指点.(z是常量)
作者: tanjh    时间: 2005-2-16 02:32
试试把Month(.Cells(r, 2))改成Month(CDate(.Cells(r, 2)))[em05]




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3