2017-03-03 222 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是无效的。