组合框中的日期格式

时间:2017-03-09 07:31:42

标签: excel vba excel-vba

实际上我正在编写一个代码来突出显示或删除列" A"有>在组合框中选择的日期。我使用下面的代码

Private Sub ComboBox1_Change()

Application.EnableEvents = False
ComboBox1.Value = Format(ComboBox1.Value, "dd-mm-yyyy")
Application.EnableEvents = True

End Sub

Private Sub ComboBox2_Change()

ComboBox2.Value = Format(ComboBox2.Value, "dd-mm-yyyy")

End Sub

Private Sub okButton_Click()

Dim i As Long

For i = 2 To 6724
    If Range("A" & i).Value > ComboBox1.Value Then
        With Selection.Interior
           .ColorIndex = 34
           .Pattern = xlSolid
        End With
    End If
Next

End Sub

当我执行时,没有任何反应。 然后在单元格中打印组合框值,以便我可以找到问题所在的位置,并在组合框中找到日期格式&打印日期格式不同。 我的代码可能还有其他问题。 enable event = false也无效。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

我现在在iPad上,无法检查我的建议,但我解决这个问题的方法是确保列A中有一个日期,值为41234,从不介意该单元格的格式。 您可以使用CDate(Combobox1.Value)转换Combobox1中的任何日期。请记住,CDate需要字符串格式的有效日期。 CDate函数的结果是Long,与A列中的日期值相当。您应该能够使用现有代码对其进行操作。