我有一个带有月份名称列表的组合框和十二个文本框。
我想编写代码,以便在组合框中选择月份名称时可以添加月份名称。
在组合框中选择一月时,textbox1的值将为一月,textbox2的值为二月,依此类推...
我如何完成此任务?
答案 0 :(得分:0)
假设:按月份从组合框中的Jan开始(即Jan索引0,Feb索引1)。这两个答案都使用2000年的通用日期并选择了月份,并为其添加了一个月。.将在12月之后循环回到1月。
此代码还假定文本框在表单上顺序排列。
Private Sub cboMonth_Change2()
Dim TempDate As Date
TempDate = "2000-" & cboMonth.ListIndex + 1 & "-01"
Dim oControl As Control
For Each oControl In UserForm1.Controls
If TypeName(oControl) = "TextBox" Then
oControl.Text = Format(TempDate, "MMMM")
TempDate = DateAdd("M", 1, TempDate)
End If
Next
End Sub
这是一个稍微手动的过程,但是您可以指定哪个文本框得到什么。
Private Sub cboMonth_Change()
Dim TempDate As Date
TempDate = "2000-" & cboMonth.ListIndex + 1 & "-01"
TextBox1.Text = Format(DateAdd("M", 0, TempDate), "MMMM")
TextBox2.Text = Format(DateAdd("M", 1, TempDate), "MMMM")
TextBox3.Text = Format(DateAdd("M", 2, TempDate), "MMMM")
...
End Sub