尝试了解如何使用某些参数编写if then elseif语句
是的,我是一个VBA无能。 只是学习,我需要有人来看这个,并指出我在正确的方向。 我想写一个if语句的单元格范围。 我希望macros看每个单元格,如果单元格= 0,清除单元格,如果单元格<> 0,则什么都不做,看下一个单元格。
这是我可怜的尝试。
Sub MACRO6() Dim VM As String VM = Range("D29:E43") Sheets("10").Select For Each VM In Range If cell = 0 Then ClearContents ElseIf cell <> 0 Then End If Next End Sub
你的ElseIf
是不必要的。 它默认不会做任何事情。 只要删除该行。 因为你的If ... Then
在一行上,你也不需要End If
,应该删除它。
你想要像下面的东西(从这个例子中调整):
Sub ClearZero() For Each c In Worksheets("10").Range("D29:E43").Cells If c.Value = 0 Then c.Value = "" Next End Sub
像这样的东西:
- 你可以使用两个范围,
D29:E43
(下面的rng1
)定义的范围,然后在这个范围内的每个单元格(rng2
) - 请注意,
rng1
已经直接参照第10
页来设置,以确保它在右页上运行(并且不需要selectrng1
) - 你需要在
ClearContents
上指定一个范围
码
Sub MACRO6() Dim rng1 As Range Dim rng2 As Range Set rng1 = Sheets("10").Range("D29:E43") For Each rng2 In rng1 If rng2.Value = 0 Then rng2.ClearContents Next End Sub