我在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
它给了我一个错误,否则没有。
我如何更正代码?
答案 0 :(得分: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
无效。