Office中国论坛/Access中国论坛

标题: “隐藏日期不等于今天日期的列”代码出问题了,求指教,谢谢! [打印本页]

作者: 荒烟平楚    时间: 2012-2-29 20:03
标题: “隐藏日期不等于今天日期的列”代码出问题了,求指教,谢谢!
请求:


表格中,从E列到FC列每一天的内容包含5列,点击“快速查看”—“按日期查看”—“查看今天数据”以后要将E列到FC列日期不等于今天日期(今天的日期以B2的日期为准)的列隐藏掉,只显示今天日期的那5列的内容。

比如今天是2012-2-29,那么只留下今天的5列(J:N),其他的列E:I 和 O:FC  全都隐藏掉。我的程序运行的时候包括今天的列全部都隐藏了,如何改程序?


2、如果要“查看三天数据”即只显示从今天开始总共三天的列(如显示J:X,其它的列隐藏掉),程序该怎么写?


求指教,谢谢



作者: kangking    时间: 2012-3-1 09:30

建议看看这个,改变一下习惯。http://www.office-cn.net/thread-93798-1-1.html
作者: 荒烟平楚    时间: 2012-3-7 22:04
kangking 发表于 2012-3-1 09:30
建议看看这个,改变一下习惯。http://www.office-cn.net/thread-93798-1-1.html

谢仁兄指点!
作者: kangking    时间: 2012-3-8 13:07
荒烟平楚 发表于 2012-3-7 22:04
谢仁兄指点!

本意是让你把表做得人性化、让计算机好处理一些,因为不知道你的数据关系,下面只是改了部分代码。
Sub 查看今天数据()
    On Error GoTo esc
    Application.ScreenUpdating = False

    With Sheets("物控计划表")
        For I = 5 To 159 Step 5
            If Format(CDate(.Cells(2, I)), "yyyy-mm-dd") = Format(CDate(.Range("B2")), "yyyy-mm-dd") Then
                .Columns(I).Hidden = False
                .Columns(I + 1).Hidden = False
                .Columns(I + 2).Hidden = False
                .Columns(I + 3).Hidden = False
                .Columns(I + 4).Hidden = False
            Else
                .Columns(I).Hidden = True
                .Columns(I + 1).Hidden = True
                .Columns(I + 2).Hidden = True
                .Columns(I + 3).Hidden = True
                .Columns(I + 4).Hidden = True
            End If
        Next
    End With
2000:
    Application.ScreenUpdating = True
    Exit Sub
esc:
    MsgBox Error
    GoTo 2000
End Sub

Private Sub 确定_Click()
    On Error GoTo esc
    Application.ScreenUpdating = False

    Select Case 查看选择框.Value
    Case "查看订单数量"
        Call 查看所有项目
        Call 隐藏计划到料
        Call 隐藏实际到料
        Call 隐藏是否达成
        Call 隐藏当天库存
    Case "查看计划到料"
        Call 查看所有项目
        Call 隐藏订单数量
        Call 隐藏实际到料
        Call 隐藏是否达成
        Call 隐藏当天库存
    Case "查看实际到料"
        Call 查看所有项目
        Call 隐藏订单数量
        Call 隐藏计划到料
        Call 隐藏是否达成
        Call 隐藏当天库存
    Case "查看是否达成"
        Call 查看所有项目
        Call 隐藏订单数量
        Call 隐藏计划到料
        Call 隐藏实际到料
        Call 隐藏当天库存
    Case "查看当天库存"
        Call 查看所有项目
        Call 隐藏订单数量
        Call 隐藏计划到料
        Call 隐藏实际到料
        Call 隐藏是否达成
    Case "查看统计数据"
        Call 查看所有项目
        Call 查看统计数据
    Case "查看所有项目"
        Call 查看所有项目
    End Select
2000:
    Application.ScreenUpdating = True
    Unload 快速查看窗体
    Exit Sub
esc:
    MsgBox Error
    Resume 2000
End Sub





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