Excel 下一步是VBA
当我试着运行这段代码时,我总是得到一个“编译错误:下一步没有For”。然而,经过多次检查,我看不出它怎么会不识别他们的存在。这是我的第一个VBA代码,因此任何帮助都将不胜感激Excel 下一步是VBA,excel,for-loop,compiler-errors,next,vba,Excel,For Loop,Compiler Errors,Next,Vba,当我试着运行这段代码时,我总是得到一个“编译错误:下一步没有For”。然而,经过多次检查,我看不出它怎么会不识别他们的存在。这是我的第一个VBA代码,因此任何帮助都将不胜感激 Sub Naming() ' ' Naming Macro ' Assigns a category name in a cell based on values in a cell one column over ' Dim number As Double For i = 9 To 200 number
Sub Naming()
'
' Naming Macro
' Assigns a category name in a cell based on values in a cell one column over
'
Dim number As Double
For i = 9 To 200
number = Cells(i, 3).Value
If number = 0 Then
GoTo Line1
Else
If number <= 199999 And number > 0 Then
Cells(i, 2) = "EP-GEARING"
Else
If number <= 399999 And number > 199999 Then
Cells(i, 2) = "DRIVES"
Else
If number <= 499999 And number > 399999 Then
Cells(i, 2) = "FLOW"
Else
If number <= 599999 And number > 499999 Then
Cells(i, 2) = "SPARES"
Else
If number <= 699999 And number > 599999 Then
Cells(i, 2) = "REPAIR"
Else
If number <= 799999 And number > 699999 Then
Cells(i, 2) = "FS"
Else
If number <= 899999 Then
Cells(i, 2) = "GC-GEARING"
Else
GoTo Line1
Line1:
End If
Next i
End Sub
子命名()
'
'命名宏
'根据一列上单元格中的值在单元格中指定类别名称
'
双精度数字
对于i=9到200
数字=单元格(i,3)。数值
如果数字=0,则
后藤1号线
其他的
如果数字是0,那么
单元(i,2)=“EP-传动装置”
其他的
如果号码是199999,那么
单元(i,2)=“驱动器”
其他的
如果号码是399999,那么
单元(i,2)=“流动”
其他的
如果号码是499999,那么
单元(i,2)=“备用”
其他的
如果号码是599999,那么
单元(i,2)=“修复”
其他的
如果号码是699999,那么
单元(i,2)=“FS”
其他的
如果数字您的代码应该如下所示:
Sub Naming()
'
' Naming Macro
' Assigns a category name in a cell based on values in a cell one column over
'
Dim number As Double
For i = 9 To 200
number = Cells(i, 3).Value
If number <= 199999 And number > 0 Then
Cells(i, 2) = "EP-GEARING"
ElseIf number <= 399999 And number > 199999 Then
Cells(i, 2) = "DRIVES"
ElseIf number <= 499999 And number > 399999 Then
Cells(i, 2) = "FLOW"
ElseIf number <= 599999 And number > 499999 Then
Cells(i, 2) = "SPARES"
ElseIf number <= 699999 And number > 599999 Then
Cells(i, 2) = "REPAIR"
ElseIf number <= 799999 And number > 699999 Then
Cells(i, 2) = "FS"
ElseIf number <= 899999 Then
Cells(i, 2) = "GC-GEARING"
End If
Next i
End Sub
子命名()
'
'命名宏
'根据一列上单元格中的值在单元格中指定类别名称
'
双精度数字
对于i=9到200
数字=单元格(i,3)。数值
如果数字是0,那么
单元(i,2)=“EP-传动装置”
艾尔塞夫电话199999
单元(i,2)=“驱动器”
艾尔塞夫号399999
单元(i,2)=“流动”
那么艾尔塞夫的电话号码是499999
单元(i,2)=“备用”
那么艾尔塞夫的电话号码是599999
单元(i,2)=“修复”
艾尔塞夫号699999
单元(i,2)=“FS”
ElseIf number您的代码应该如下所示:
Sub Naming()
'
' Naming Macro
' Assigns a category name in a cell based on values in a cell one column over
'
Dim number As Double
For i = 9 To 200
number = Cells(i, 3).Value
If number <= 199999 And number > 0 Then
Cells(i, 2) = "EP-GEARING"
ElseIf number <= 399999 And number > 199999 Then
Cells(i, 2) = "DRIVES"
ElseIf number <= 499999 And number > 399999 Then
Cells(i, 2) = "FLOW"
ElseIf number <= 599999 And number > 499999 Then
Cells(i, 2) = "SPARES"
ElseIf number <= 699999 And number > 599999 Then
Cells(i, 2) = "REPAIR"
ElseIf number <= 799999 And number > 699999 Then
Cells(i, 2) = "FS"
ElseIf number <= 899999 Then
Cells(i, 2) = "GC-GEARING"
End If
Next i
End Sub
子命名()
'
'命名宏
'根据一列上单元格中的值在单元格中指定类别名称
'
双精度数字
对于i=9到200
数字=单元格(i,3)。数值
如果数字是0,那么
单元(i,2)=“EP-传动装置”
艾尔塞夫电话199999
单元(i,2)=“驱动器”
艾尔塞夫号399999
单元(i,2)=“流动”
那么艾尔塞夫的电话号码是499999
单元(i,2)=“备用”
那么艾尔塞夫的电话号码是599999
单元(i,2)=“修复”
艾尔塞夫号699999
单元(i,2)=“FS”
ElseIf numberElseIf
是VB中的一个单词
If number = 0 Then
'Do nothing
ElseIf number <= 199999 And number > 0 Then
Cells(i, 2) = "EP-GEARING"
ElseIf number <= 399999 And number > 199999 Then
...
Else
'Do nothing
End If
ElseIf
是VB中的一个单词
If number = 0 Then
'Do nothing
ElseIf number <= 199999 And number > 0 Then
Cells(i, 2) = "EP-GEARING"
ElseIf number <= 399999 And number > 199999 Then
...
Else
'Do nothing
End If
其他答案说明了如何修复If
语句,以便VBA能够识别For
和Next
配对
现在,就我个人而言,如果需要循环,我建议使用GSerg指出的Select Case
但我可能会这么做。在单元格B9
中放置以下公式:=IF(C9=0,”,IF(C9其他答案表明如何修复IF
语句,以便VBA识别您的进行和下一次配对
现在,就我个人而言,如果需要循环,我建议使用GSerg指出的Select Case
但我可能会这样做。在单元格B9
中放置以下公式:=IF(C9=0,“,IF(C9这样,所有条件都将始终被评估。ElseIf
将在条件满足后立即停止评估。这样,所有条件都将始终被评估。ElseIf
将在条件满足后立即停止评估。不要使用Goto。这是不必要的。不要使用Goto。这是不必要的。