运行宏时Excel对象必填错误

时间:2019-02-26 19:18:14

标签: excel vba

我正在尝试创建一个宏,以便如果L2:L318范围内的给定单元格包含特定值,则将同一行中H列中的单元格修改为新字符串。

在这一点上,我似乎可以通过,但是在运行时出现“对象必需”错误。我的代码如下:

Sub Macro2()

Dim rng As Range
Dim cell As Range
Set rng = Worksheet.Range("L2:L318")
Dim i As Integer


For Each cell In rng
    If cell.Value("902.4") Then
    i = i + 1
    Sheet.Cells(8, i).Value = "Text"


    Else
    i = i + 1

    End If

Next cell


End Sub

我承认我对自己在做什么一无所知,而且我的代码至少完全是胡说八道。谁能向我解释我做错了什么?任何帮助将不胜感激-今天以前我从未接触过Excel宏!

1 个答案:

答案 0 :(得分:2)

这是一个很好的开始!您有几件事情要做,但是在大多数情况下,您相距不远。请记住,有很多方法可以做到这一点,但是由于您正在学习,所以我采用了您的方法并使之有效。看看这是否使您接近所追求的目标:

Sub Macro2()

Dim rng As Range
Dim cell As Range
Set rng = Range("L2:L318")

For Each cell In rng
    If cell.Value = 902.4 Then Cells(cell.Row, 8).Value = "Text"
Next cell

End Sub

看看我发布的内容,看看是否可以制作它的正面或反面。如您所见,它与您所拥有的相差不远,只需清理一点并修复语法即可。

请记住,此宏将在当前活动的工作表上运行。如果您需要在特定工作表上运行它,则必须对范围引用进行更好的限定……例如:Worksheets(“您的工作表名称”).Range(“ L2:L318”)