如果是VBA中的else语句

时间:2017-03-03 06:25:23

标签: excel-vba vba excel

我在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

它给了我一个错误,否则没有。

我如何更正代码?

1 个答案:

答案 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无效。