[英]Excel - runtime error 13: Type mismatch?
我在使用Excel表單時遇到此問題,但我不明白。 該表單具有2個日期字段“開始和結束日期”和1個復選框,稱為“固定期間”。
目標是當選中該復選框將期限設為1年時,因此將以Begindate為基礎重新計算結束日期。 下面的VBA代碼在If語句上導致錯誤13 Type Mismatch。
我認為日期應該用CDate轉換,還是那是問題所在? 任何指針贊賞
Private Sub BeginDatum_Change()
Static OldValue As String
With Me.BeginDatum
Debug.Print "Value: "; .Value; " Old Value: "; OldValue
If CDate(.Value) > CDate(EindDatum.Value) Or CDate(.Value) > Date Then
Debug.Print "EindDatum " & EindDatum.Value & " is NOT Good"
.Value = OldValue
Else
Sheets("Traject").Range("Begin") = .Value
OldValue = .Value
If (FixedPeriod) Then
EindDatum.Value = Format(DateAdd("yyyy", 1, Me.BeginDatum.Value), "dd/mm/yyyy")
End If
End If
End With
End Sub
其中之一最終不是日期或無法轉換為日期。
您需要確定輸入是否代表有效日期,然后再嘗試進行轉換。
If IsDate(.Value) then
'use the input
End if
等等...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.