在做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 阅读(233) 评论(0)  编辑 收藏 网摘

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
Google站内搜索

相关文章:

相关链接:


 

统计