2014-02-21 128 views
0

我收到了編譯錯誤消息 - End If without If Block。任何人都可以告訴我的代碼有什麼問題:IF語句編譯錯誤

Sub Find() 

Dim i As Integer 
Dim j As Integer 
Dim k As Integer 

For i = 2 To 107 
For j = 4 To 6 
    For k = 2 To 573 
    If InStr(Sheet2.Cells(k, 7), Sheet1.Cells(i, j)) <> 0 Then Sheet2.Cells(k, 12) =   Sheet2.Cells(k, 9) 
    End If 
    Next k 
Next j 
Next i 

End Sub 
+1

兩個選項:1)去除'結束If',或2)寫'Sheet2.Cells(K,12)= Sheet2中.Cells(k,9)'換行 –

回答

2

您不需要使用End If for inline If語句。只要刪除它,你就可以了,或者將它移到下一行。

您需要使用結束如果當你有一個多行,如果你聲明

+0

謝謝,我什麼時候需要使用end? – user2864813

+0

哦,還有,我不知道爲什麼在我將操作符從「<>」更改爲「>」之前,我的語句執行後,我改變爲「>」後,它不執行,假設「InStr(Sheet2.Cells (K,7),Sheet1.Cells(I,J))」返回假 – user2864813

+0

您需要使用結束如果當你有一個多if語句像 如果喇嘛= 1個,則 DoSomething的() 結束如果 你代碼也應該適用於>,但它確實在你的情況下是一樣的。 – David