Excel 尝试从单元格中删除值

Excel 尝试从单元格中删除值,excel,vba,Excel,Vba,正在尝试从第p列的单元格中删除(“0.00”)。我突出显示的行不起作用 Sub Delete a Cell value Dim rngToCheck As Range Dim rng As Range Set rngToCheck = ActiveSheet.Range("P13:P61") For Each rng In rngToCheck *If Cells = ("0.00") Then* rng.Cells = Delete End If

正在尝试从第p列的单元格中删除(“0.00”)。我突出显示的行不起作用

Sub Delete a Cell value

Dim rngToCheck As Range
Dim rng As Range
Set rngToCheck = ActiveSheet.Range("P13:P61")

For Each rng In rngToCheck
*If Cells = ("0.00") Then*
rng.Cells = Delete
End If

Next rng

End If

End Sub

当您突然更改为引用
单元格时,您混淆了
rng
对象。如果
太多,还有一个
结束。检查实际值,而不是格式化显示。将
赋值为空
(“”)
以清除内容

Sub DeleteACellValue()

    Dim rngToCheck As Range
    Dim cell As Range

    Set rngToCheck = ActiveSheet.Range("B7:B9")
    For Each cell In rngToCheck
        If cell.Text = "0.00" Then
            cell.Text = ""
        End If
    Next cell

'End If
End Sub

这个vba代码在我这边起作用了。请确保使用.clear函数而不是.delete

让我知道这是否解决了您的问题,或者是否有其他我可以帮助的事情。 谢谢


rng.cells=delete
也有问题。是否尝试删除该单元格并移动其他单元格?还是删除单元格中的文本?还是删除行?只需清除单元格内容?匹配必须是整个单元格,还是只是部分单元格?正在尝试删除单元格内的文本。要匹配整个单元格,下面的代码需要0为0.00,因为它的格式如下所示。一旦我尝试使用0.00,它就会失败。Dim rngToCheck as Range Dim cell as Range Set rngToCheck=ActiveSheet.Range(“P13:P61”)对于rngToCheck中的每个单元格,如果cell.Value=“0.00”,那么cell.Value=如果下一个单元格结束,则清除结束如果结束Sub@user你最好说“它失败了”。无论如何,我将其更改为检查文本而不是值。好吗?谢谢.这真是个好主意。除了我需要所有的格式保持原样之外?@user那么,你有什么格式,它是如何改变的?您是按照我向您展示的方式分配了
cell.Text=”“
,还是分配了
cell.Clear
Sub ClearCell()
  Dim rng As Range
  Dim i As Integer, counter As Integer

'RANGE TO EVALUATE
  Set rng = Range("P13:P61")

'initialize i to 1
  i = 1

 'Loop for a count of 1 to number of rows
   For counter = 1 To rng.Rows.Count

 'if cell i in the range contains value, delete cell, else increment i
   If rng.Cells(i) = "0" Then
       rng.Cells(i).Clear
   Else
       i = i + 1
  End If
  Next
End Sub