Vba 清除后剩余的Excel单元格值
我使用VBA清除excel文件中的某些单元格,但当它清除这些单元格时,该值仍保留。当我单击单元格时,值消失,但我需要它在代码中清除单元格后执行此操作。编辑:根据要求,添加更多代码。即使按照建议将值设置为空,在单击单元格之前,单元格仍然不会为空Vba 清除后剩余的Excel单元格值,vba,excel,Vba,Excel,我使用VBA清除excel文件中的某些单元格,但当它清除这些单元格时,该值仍保留。当我单击单元格时,值消失,但我需要它在代码中清除单元格后执行此操作。编辑:根据要求,添加更多代码。即使按照建议将值设置为空,在单击单元格之前,单元格仍然不会为空 Private Sub Update(Target As Range, EventTarget As Range) On Error GoTo ErrorHandling Application.EnableEvents = False Dim CurrD
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请尝试以下代码:
Sub TestMe()
Worksheets("NameOfWorksheet").Range("A" & 1, "Z" & 10).ClearContents
End Sub
然后用TargetRange.Row
慢慢地更改1
和10
,看看它是否有效。TargetRange
应定义为如下范围:
Dim TargetRange as Range
并设置为如下所示的某个范围:
Set TargetRange=工作表(1).范围(“A19”)
要清除单元格,可以将其指定为空:
worksheet.Cells(1, 1).Value = Empty
显示更多代码,您所显示的内容不会导致问题。如前所述,由于您没有在此处共享相关代码,因此没有人能够在没有大量假设的情况下真正帮助您。您从
Application.EnableEvents=False
开始,然后在最后您有Exit Sub;错误处理:;Application.EnableEvents=True;结束子系统
在启用事件之前退出子系统。如果在代码中的其他地方有一个工作簿或工作表事件,其中包含Application.screenUpdate=False
,则您将关闭屏幕更新,并且永远不会重新打开它。