簡體   English   中英

使用IF和范圍代碼時輸入不匹配錯誤

[英]Type mismatch error in while using IF and Range code

執行代碼時出現類型不匹配錯誤。 如果要滿足“高”或“非常高”的條件,基本上我想在這里復制行。

Sub Copy()
    ActiveSheet.Unprotect Password:="123"

    Set i = Sheets("Risk Assessment")
    Set e = Sheets("High & V High Risk Assessment")
    Dim d
    Dim j As Integer
    d = 4
    j = 5

    Do Until IsEmpty(i.Range("Y" & j))
        If i.Range("Y" & j) = "High" Or i.Range("Y" & j) = "Very High" Then
            d = d + 1
            e.Rows(d).Value = i.Rows(j).Value
        End If

        j = j + 1
    Loop

    ActiveSheet.Protect Password:="123"
End Sub

您可以嘗試:

Sub Copy()

    ActiveSheet.Unprotect Password:="123"

    Dim i As Worksheet, e As Worksheet
    Dim j As Long, d As Long

    j = 5
    d = 4

    With ThisWorkbook
        Set i = .Worksheets("Risk Assessment")
        Set e = .Worksheets("High & V High Risk Assessment")
    End With

    Do Until IsEmpty(i.Range("Y" & j))

        If i.Range("Y" & j) = "High" Or i.Range("Y" & j) = "Very High" Then

            i.Rows(j).EntireRow.Copy e.Rows(d)

            d = d + 1

        End If

        j = j + 1

    Loop

    ActiveSheet.Protect Password:="123"

End Sub

暫無
暫無

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

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