DataLink 月报 月份简单方法

在做DataLink月报的时候,我们需要输入 2006 10 这样的年份和月份

可以用日历控件 left 年和月 但是不是很好看

也可以去下载别人做的月份控件  但是需要客户安装

所以我们一般简单使用2个combobox来显示年和月

开始思维比较偷懒

简单的 往combox加上年和月就over了

  For i = 2004 To 2020
        Sheet1.ComboBox1.AddItem Str(i)
    Next i

For i = 1 To 12
         If i <= Month(Now) Then
        Sheet1.ComboBox2.AddItem Str(i)
        End If
    Next i

结果这样在客户选择时间的时候

还要去做一个判断

如果他们选取的时间 大于现在时间  还要跳出msgbox 让他们重新选择

我非常不喜欢中断客户的操作

例如

Private Sub ComboBox1_Change()
    If ComboBox1.Text > CInt(Format(Now, "yyyy")) Then
    MsgBox "请不要选择大于今年的年份"
    ComboBox1.Text = Format(Now, "yyyy")
    End If
End Sub

后来 想了想,在开始的时候 加个判断  一开始就不添加大约现在的时间

For i = 2004 To 2020
        If i <= Year(Now) Then
        Sheet1.ComboBox1.AddItem Str(i)
        End If
    Next i
   
    For i = 1 To 12
         If i <= Month(Now) Then
        Sheet1.ComboBox2.AddItem Str(i)
        End If
    Next i

这样就好了 新的时间到来的时候 自然会有新月份 新年份近来

也避免可客户选错时间 白白计算

但是客户在选择过去的年份的时候 要做个判断

Private Sub ComboBox1_Change()
    If ComboBox1.Text < CInt(Format(Now, "yyyy")) Then
    For i = 2004 To 2020
        Sheet1.ComboBox1.AddItem Str(i)
    Next i
    End If
End Sub

你们还有更好的时间 请告诉我

谢谢!

posted on 2007-01-09 17:05  zljini  阅读(653)  评论(0编辑  收藏  举报