簡體   English   中英

Excel-運行時錯誤13:類型不匹配?

[英]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

其中之一最終不是日期或無法轉換為日期。

  1. CDATE(.value的)
  2. CDATE(EindDatum.Value)
  3. CDATE(.value的)

您需要確定輸入是否代表有效日期,然后再嘗試進行轉換。

If IsDate(.Value) then
   'use the input
End if

等等...

則IsDate

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM