如何使用vba删除列中的特定值
我想用vba删除列中的特定值 这是我现在的代码。但它当然不起作用如何使用vba删除列中的特定值,vba,excel,Vba,Excel,我想用vba删除列中的特定值 这是我现在的代码。但它当然不起作用 vstd = Range("J6").Offset(l - 1, 0).Value For Each Rng2 In Range("F6:F2555") If Rng2.Value = vstd Then Rng2.ClearContents End If Next 这和你要找的差不多吗 Sub Macro2() Dim vSpecificVal As
vstd = Range("J6").Offset(l - 1, 0).Value
For Each Rng2 In Range("F6:F2555")
If Rng2.Value = vstd Then
Rng2.ClearContents
End If
Next
这和你要找的差不多吗
Sub Macro2()
Dim vSpecificVal As Variant
vSpecificVal = Range("J6").Offset(l - 1, 0).Value
Call Range("F6:F2555").Replace(vSpecificVal, "")
End Sub
请让我们知道,谢谢这里有一个AutoFilter()
方法:
Option Explicit
Sub ClearColumn()
Dim l As Long
l = 1 '<--| initializing 'l' variable value
With Range("F5:F2555") '<--| reference your range
.AutoFilter Field:=1, Criteria1:=Range("J6").Offset(l - 1, 0).Value '<--| filter on value in cell offsetted "l-1" rows from J6
If Application.WorksheetFunction.Subtotal(103, .Cells) > 1 Then .Offset(1).Resize(.Rows.count - 1).SpecialCells(xlCellTypeVisible).ClearContents '<--| if any filtered cell found clear their contents
End With
ActiveSheet.AutoFilterMode = False
End Sub
选项显式
子列()
我和你一样长
l=1'需要在clearcontents之后加一个“End IF”,但它当然不起作用。
非常模糊。您可以指定错误吗?另外,您是否有类似于开头的Sub clearCellContents()
和结尾的End Sub
?您必须将代码放置在子文件中,而不仅仅是它自己的文件。编辑代码ıadd End If但仍然不起作用它会做什么出错,或者运行时会弹出什么错误<代码>不起作用
不够具体,我们无法提供帮助。请更具体地说明错误。要使示例真正有效1)您应至少指定lookAt:=xlWhole
参数,并确保它不会删除仅包含所需值的单元格。但指定所有参数更安全,因为“每次使用此方法时都会保存LookAt、SearchOrder、MatchCase和MatchByte的设置”2)您应该添加Dim l作为Long
和一些l=someLongValue
3)最后您可以避免Call
并在Replace
之后去掉括号,如下所示:Range(“F6:F2555”)。替换内容:=vSpecificVal,replacement:“”,lookAt:=xlother,MatchCase:=True