我有上面的Excel工作表,并且一直在尝试使用VBA根据B列中的值删除行,前提是它们与当前位于C列的值匹配。我是编码新手并且到目前为止只获得了通过选择C列中的单个单元格来管理删除行(在B列中有一行包含值 331013 ,我设法通过选择C列中的单元格来删除它该值(当前是第一行)并删除了它。
我想要做的是在C列中选择整个值范围,这样我就可以在一个批次中删除B列中的所有匹配值。
以下是我到目前为止基于大量谷歌搜索管理的内容,它仅使用一个选项,但是当我手动选择多于一行时,它只删除第一个选择的相应值,如果我选择整个列范围,则会出现不匹配错误。而且我之前也遇到了堆栈溢出错误
Sub DeleteRows()
Dim rng As Range
Dim InputRng As Range
Dim DeleteRng As Range
Dim DeleteStr As Range
xTitleId = "Input"
Set InputRng = Application.Selection
Set DeleteStr = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
Set DeleteStr = Application.InputBox("delete range :", xTitleId, DeleteStr.Address, Type:=8)
For Each rng In InputRng
If rng.Value = DeleteStr Then
If DeleteRng Is Nothing Then
Set DeleteRng = rng
Else
Set DeleteRng = Application.Union(DeleteRng, rng)
End If
End If
Next
DeleteRng.EntireRow.Delete
End Sub
我非常感谢可以提供的任何输入。