Excel 如何根据单元格值清除行中的内容?

Excel 如何根据单元格值清除行中的内容?,excel,vba,Excel,Vba,我将大量信息(1000行,至少24列)从一张工作表复制到另一张工作表。许多单元格包含“”。这使得我的其他公式(例如:A1-B1)在其中任一单元格包含“”时显示值错误。 我相信我可以通过从不粘贴“”而改为粘贴“0”来解决此问题。但我想在以后删除这些“0” 前3行中可能有值,但其他997行中有“” 我想我需要告诉我的宏to(sheet1工作表中的单元格A1显示“G5:H12”。我需要删除的单元格): 这是行不通的。有人知道怎么做吗 摘要(新示例) 如果单元格A1=“B1:B2”我想清除B1和B2的内

我将大量信息(1000行,至少24列)从一张工作表复制到另一张工作表。许多单元格包含“”。这使得我的其他公式(例如:A1-B1)在其中任一单元格包含“”时显示值错误。 我相信我可以通过从不粘贴“”而改为粘贴“0”来解决此问题。但我想在以后删除这些“0”

前3行中可能有值,但其他997行中有“”

我想我需要告诉我的宏to(sheet1工作表中的单元格A1显示“G5:H12”。我需要删除的单元格):

这是行不通的。有人知道怎么做吗

摘要(新示例)

如果单元格A1=“B1:B2”我想清除B1和B2的内容,但如果A1现在=B4:B6,则应清除这些单元格。

尝试以下方法:

With Worksheets(1).Range( _'PLACE YOUR RANGE
                                            ) 
    Set c = .Find(0, lookin:=xlValues) 
    If Not c Is Nothing Then 
        firstAddress = c.Address 
        Do 
           c.Value = "" 
            Set c = .FindNext(c) 
        Loop While Not c Is Nothing
    End If 
End With
希望能有帮助


无论如何,我认为在运算公式中放置一个条件会更简单:
=IF(或(A1=“”,B1=“”),在出现意外值时生成,A1-B1)

如果您输入0,然后清除它们,您将再次遇到相同的问题,公式中出现错误。或者您会复制并粘贴值吗?例如:A1和B1为空(或者更确切地说包含“”),C1的公式类似于A1-B1。C1显示我在A1和B1中粘贴“”后的值错误。当我在A1和B1中手动输入0,然后删除它们时。所以两个细胞现在都是空的。我不再得到值错误。(这与使用F9重新测量无关)将空字符串更改为零并进行反向操作的唯一可能逻辑(?)是1)当您不更改公式时2)空字符串表示与零不同的内容(例如,空字符串“”=未读取值,0表示-值为零)。这是真的吗?如果不是,您的方法是错误的,循环(如下面的答案所示)是不必要且缓慢的。
With Worksheets(1).Range( _'PLACE YOUR RANGE
                                            ) 
    Set c = .Find(0, lookin:=xlValues) 
    If Not c Is Nothing Then 
        firstAddress = c.Address 
        Do 
           c.Value = "" 
            Set c = .FindNext(c) 
        Loop While Not c Is Nothing
    End If 
End With