首页 > 解决方案 > 清除后剩余的Excel单元格值

问题描述

我正在使用 VBA 清除 excel 文件中的某些单元格,但是当它清除它们时,值仍然存在。当我单击单元格值时,它会消失,但是一旦在代码中清除了单元格,我就需要这样做。编辑:根据要求,更多代码。即使按照建议将值设置为空,在我单击它们之前,单元格仍然不会为空。

Private Sub Update(Target As Range, EventTarget As Range)
On Error GoTo ErrorHandling
Application.EnableEvents = False
Dim CurrDevice As String
Dim CurrPort As String
Dim ConcatInfo As String

CurrDevice = Range("B" & Target.Row).Value
CurrPort = Range("C" & Target.Row).Value
ConcatInfo = CurrDevice + CurrPort

Dim TargetRange As Range
Set TargetRange = Range("R2:R" & EventTarget.Row - 1).Find(ConcatInfo, LookIn:=xlValues)

If Not TargetRange Is Nothing And Not TargetRange.Row = EventTarget.Row Then
    'Range("F" & TargetRange.Row, "P" & TargetRange.Row).ClearContents
     Range("F" & TargetRange.Row, "P" & TargetRange.Row).Value = Empty
    End If
End If

Set TargetRange = Nothing
Set TargetRange = Range("R" & (EventTarget.Row + 1), Range("R" & (EventTarget.Row + 1)).End(xlDown)).Find(ConcatInfo, LookIn:=xlValues)
If Not TargetRange Is Nothing And Not TargetRange.Row = EventTarget.Row Then
    'Range("F" & TargetRange.Row, "P" & TargetRange.Row).ClearContents
    Range("F" & TargetRange.Row, "P" & TargetRange.Row).Value = Empty

End If

Exit Sub

错误处理:Application.EnableEvents = True End Sub

标签: vbaexcel

解决方案


试试下面的代码:

Sub TestMe()
    Worksheets("NameOfWorksheet").Range("A" & 1, "Z" & 10).ClearContents
End Sub

1然后慢慢换10TargetRange.Row,看看能不能用。TargetRange应该定义为这样的范围:

Dim TargetRange as Range

并设置为这样的某个范围:

Set TargetRange = Worksheets(1).Range("A19")


推荐阅读