2017-03-09 9 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

Try: 'Range(" A "&i).Value2> fix(ComboBox1.Value)Then' – Fadi

答えて

0

私は今iPadに入っていて、私が提案したものをチェックすることはできませんが、この問題に取り組む方法は、列Aに日付があり、41234のような値で、セルがフォーマットされます。 Combobox1の任意の日付をCDate(Combobox1.Value)を使用して変換できます。 CDateには有効な日付が文字列形式であることを覚えておいてください。 CDate関数の結果はLong型で、これは列Aの日付値に匹敵します。既存のコードを使用してそれを処理できるはずです。

関連する問題