尝试了解如何使用某些参数编写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 

像这样的东西:

  1. 你可以使用两个范围, D29:E43 (下面的rng1 )定义的范围,然后在这个范围内的每个单元格( rng2
  2. 请注意, rng1已经直接参照第10页来设置,以确保它在右页上运行(并且不需要selectrng1
  3. 你需要在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