2017-03-09 114 views
0

實際上,我正在編寫一個代碼,用於突出顯示或刪除列「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也不起作用。任何幫助將不勝感激。

+0

嘗試:如果Range(「A」&i).Value2> fix(ComboBox1.Value)Then' – Fadi

回答

0

我現在在iPad上,無法檢查我的建議,但解決此問題的方法是確保A列中有一個日期,其值爲41234,並且不介意如何單元格被格式化。 您可以使用CDate(Combobox1.Value)轉換Combobox1中的任何日期。請記住,CDate需要字符串格式的有效日期。 CDate函數的結果是一個Long,它與列A中的日期值相當。您應該可以使用現有的代碼來處理它。