我正在尝试根据另一列值将一列值乘以100。我收到错误消息。
Sub macro1()
Dim f As Range
Set f = Range("B2:B5").Value
For i = 2 To 100000
With Sheets("Sheet1")
If .Range("A" & i).Value = "Pavel" Then
.Range("B" & i).Value = f * 100
Next i
End If
End Sub
答案 0 :(得分:2)
如果您在IF语句中onDestroy()
之后开始新行,则必须以Fragment
结束该块(现在让我们忽略行继续符)–否则语法不有效。
所以也可以这样做:
onCreate()
或者:
then
但是不要在End if
之后开始新行,并且不要包括If 1 > 0 then
Msgbox("True!")
End if
。
此外,最好将If 1 > 0 then Msgbox("True!")
放在您的代码之前,并且您的then
变量似乎未被使用-但这不是您的问题。
答案 1 :(得分:0)
所以...只要您有For
,就需要Next
。对于If
,需要End If
,除非它不在同一行上。对于With
,需要一个End With
。
因此,通常来说,只是为了让您入门,这在某种程度上可行:
Option Explicit
Sub Macro()
Dim f As Range
Dim i As Long
Set f = Range("B2:B5")
For i = 2 To 100000
With Worksheets("Sheet1")
If .Range("A" & i).Value = "Pavel" Then
.Range("B" & i).Value = .Range("B" & i) * 100
End If
End With
Next i
End Sub
看看代码顶部的Option Explicit
,这真的很重要,可以将您的代码提升到一个新的水平-MSDN Option Explicit。