2017-03-03 263 views
0

我在VBA編寫下面的代碼:如果else語句在VBA

If row_count = 28 Then Range("A28").Select 
    Else 
    Range("A29").Select 
    Selection.End(xlDown).Select 
    Range("B" & row_count & ":AE" & row_count).Select 
    Range(Selection, Selection.End(xlUp)).Select 
    Application.CutCopyMode = False 
    Selection.FillDown 
    End If 

它給了我一個錯誤,沒有別的,如果。

我該如何更正代碼?

回答

3

移動上Range("A28").Select到它自己的線(未作爲if線的一部分),從而:

If row_count = 28 Then 
    Range("A28").Select 
Else 
    Range("A29").Select 
    Selection.End(xlDown).Select 
    Range("B" & row_count & ":AE" & row_count).Select 
    Range(Selection, Selection.End(xlUp)).Select 
    Application.CutCopyMode = False 
    Selection.FillDown 
End If 

有所述if構建體,所述單線和多線的two forms。如果您將then條件的語句放在同一行上,則將其視爲單行變體,因此else也必須位於同一行上。

因爲,在你的情況,這是在同一行不,VB是假設的單線是if聲明沒有else條款,因此下一行的「裸」 else是無效的。