2016-06-08 23 views
0

我目前正在與excel的VBA和我真的需要一些幫助。其他情況下運行即使如此(如果/否)

如下圖所示,如果在該行中找到2090,則本質上試圖檢查所有單元格的特定值(2090)&輸出「1」,否則爲「0」。該輸出將在第25列&與數字所在的行相同。

我做了一些測試&我知道我的代碼確實輸出「1」時遇到2090和輸出在正確的地方等。但是,在輸出「1」後,它會立即被重疊「0」。因此,即使If語句爲真,我相信else情況仍在運行。在執行結束時,我的整列只產生一堆「1」,沒有別的。

我將不勝感激任何形式的幫助!謝謝。

Sub New() 
Dim i As Integer, j As Integer, Needed As Integer 
Needed = 2090 
For i = 1 To 10 
For j = 1 To 20 
    If Cells(i, j).Value = Needed Then 
     Cells(i, 25).Value = "1" 
    Else 
     Cells(i, 25).Value = "0" 

    End If 
Next j 
Next i 
End Sub 

回答

5

如果說Cells(2, 10)您的條件相匹配,Cells(2, 25)將被設置爲1,但隨後立即進行測試,如果你Cells(2, 11)條件匹配,如果沒有,Cells(2, 25)0被覆蓋。

最終的結果總是取決於什麼在列20

您需要打破你的內循環,如果條件永遠計算爲真。

+0

噢,非常感謝你!這完全滑了我的腦海。 – charrrrrrrr

相關問題