簡體   English   中英

持續收到運行時錯誤“ 13”:類型不匹配

[英]Keep getting a Run-time error '13': Type mismatch

我一直收到運行時錯誤'13'類型不匹配的信息,我不知道為什么。 我有一個工作表(Sheet1),上面有我要復制到另一工作表(工作表6)的數據,僅當列中的信息包含USA時。 它還會先清除其他工作表(工作表6)的數據,因為我每周都會更新工作表Sheet1上的信息,因此工作表6也需要更新。 我不知道為什么我的if語句出現類型不匹配的情況。

    Private Sub CommandButton1_Click()

Worksheets("Sheet6").Activate
ActiveSheet.Rows("3:" & Rows.Count).ClearContents

 Worksheets("Sheet1").Activate
 With Worksheets("Sheet1")
     a = .Cells(.Rows.Count, 1).End(xlUp).Row


End With


For i = 2 To a
     Worksheets("Sheet1").Activate
     If ActiveSheet.Cells(i, 5).Value = "USA" Then
     ActiveSheet.Rows(i).Copy

     Worksheets("Sheet6").Activate
     With Worksheets("Sheet6")
     b = .Cells(.Rows.Count, 1).End(xlUp).Row
     ActiveSheet.Cells(b + 1, 1).Select
     ActiveSheet.Paste
     End With
     Worksheets("Sheet1").Activate



     End If

     Next

    Application.CutCopyMode = False
     ThisWorkbook.Worksheets("Sheet1").Cells(1, 1).Select

End Sub

您是否嘗試過在評估之前將單元格數據轉換為字符串(CSTR):

Private Sub CommandButton1_Click()

Worksheets("Sheet6").Activate
ActiveSheet.Rows("3:" & Rows.Count).ClearContents

 Worksheets("Sheet1").Activate
 With Worksheets("Sheet1")
     a = .Cells(.Rows.Count, 1).End(xlUp).Row


End With


For i = 2 To a
     Worksheets("Sheet1").Activate
If CSTR(ActiveSheet.Cells(i, 5).Value) = "USA" Then 
     ActiveSheet.Rows(i).Copy

     Worksheets("Sheet6").Activate
     With Worksheets("Sheet6")
     b = .Cells(.Rows.Count, 1).End(xlUp).Row
     ActiveSheet.Cells(b + 1, 1).Select
     ActiveSheet.Paste
     End With
     Worksheets("Sheet1").Activate



     End If

     Next

    Application.CutCopyMode = False
     ThisWorkbook.Worksheets("Sheet1").Cells(1, 1).Select

End Sub

暫無
暫無

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

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