【发布时间】:2017-10-09 09:53:13
【问题描述】:
大家好,我一直在玩“If”“Then”“And”和“Goto”
我想我除了“Goto”之外的所有东西我都掌握了很多次我无法让它工作 我不确定是因为我使用了“If”错误还是因为我使用了“Goto”错误。有人可以看看这段代码,告诉我我做错了什么。因为我经常使用“If”语句,所以如果我以最好和正确的方式使用它会很好。是的,我在下面的代码中知道我使用了活动表,我应该在不使用活动表的情况下执行代码,因为这里的统计数据中有很多人,但我还不确定如何使用
Columns(1).Insert Shift:=xlRight
尚未激活工作表
所以这是我的单元格 A1 的代码,其值为“new”,因此应该激活 Goto,但它没有。
Sub con()
Set tsheet = ThisWorkbook.Sheets("Players")
Sheets("Players").Activate
ActiveSheet.Columns(1).Insert Shift:=xlRight
Dim lngLastRow As Long
If tsheet.Range("A1") = "new" Then
GoTo AlR
Else
lngLastRow = Cells(Rows.Count, "B").End(xlUp).Row
Range("A2").Formula = "=B2 & "" "" & C2 & "" "" & G2 & "" "" & D2"
Range("A2").Copy Range("A2:A" & lngLastRow)
tsheet.Range("A1").Value = "new"
End If
AlR:
MsgBox "Column is already present"
End Sub
【问题讨论】:
-
这是因为您在同一行中使用了
GoTo。将 GoTo 放在下一行,将代码块放在If中的Else部分。 -
只要去掉 End If
标签: excel vba if-statement goto