vba - 清除后剩余的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
解决方案
试试下面的代码:
Sub TestMe()
Worksheets("NameOfWorksheet").Range("A" & 1, "Z" & 10).ClearContents
End Sub
1
然后慢慢换10
用TargetRange.Row
,看看能不能用。TargetRange
应该定义为这样的范围:
Dim TargetRange as Range
并设置为这样的某个范围:
Set TargetRange = Worksheets(1).Range("A19")
推荐阅读
- r - R基础中的Dcast重复
- c# - 如何对包含每个用户的赢和输数据的 json 作为 C# 中的键进行排序?
- java - 我在 java 中的应用程序抛出一个异常,上面写着 Invalid BSON field name Name
- typo3 - 如何禁用/隐藏列表记录的隐藏/取消隐藏按钮
- apache-spark - DataFrame.withColumn() 使用定制化 UDF 的管道运行速度非常慢
- neo4j - Neo4j 数据建模具有层次结构的节点的多个标签
- javascript - 使用 Flow 的互斥属性
- javascript - 如何从所选按钮的输入类型 = 文件“更改”中检测数据值?
- python - pygame 零 - 向下移动图形
- django - Django Thinking 用户仅在一个页面上登录,但在其余页面上却没有