这是我以前的一个程序 Dim i As Integer Combo_update.Visible = False With MSHFG If (.Row = 1 And .Col + 1 >= Weekday(Format(CountDate, "yyyy-mm-01"))) _ Or (.Row = 6 And .Col + 1 < Weekday(Format(DateAdd("m", 1, CountDate) _ , "yyyy-mm-01"))) Or (.Row > 1 And .Row < 6) Then Combo_update.Width = .CellWidth Combo_update.Top = .CellTop + .Top Combo_update.Left = .CellLeft + .Left Combo_update.Visible = True
Combo_update.SetFocus
For i = 1 To Combo_update.ListCount If Combo_update.List(i - 1) = Mid(.TextMatrix(.Row, .Col), 4, Len(.TextMatrix(.Row, .Col))) Then Combo_update.ListIndex = i - 1 End If Next
Dim i As Integer
Combo_update.Visible = False
With MSHFG
If (.Row = 1 And .Col + 1 >= Weekday(Format(CountDate, "yyyy-mm-01"))) _
Or (.Row = 6 And .Col + 1 < Weekday(Format(DateAdd("m", 1, CountDate) _
, "yyyy-mm-01"))) Or (.Row > 1 And .Row < 6) Then
Combo_update.Width = .CellWidth
Combo_update.Top = .CellTop + .Top
Combo_update.Left = .CellLeft + .Left
Combo_update.Visible = True
Combo_update.SetFocus
For i = 1 To Combo_update.ListCount
If Combo_update.List(i - 1) = Mid(.TextMatrix(.Row, .Col), 4, Len(.TextMatrix(.Row, .Col))) Then
Combo_update.ListIndex = i - 1
End If
Next
你可以参考一下