Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
范围类的excel vba删除方法失败_Excel_Vba - Fatal编程技术网

范围类的excel vba删除方法失败

范围类的excel vba删除方法失败,excel,vba,Excel,Vba,我试图运行一段代码,从列“OG Row”“x”所在的表中删除选定行。我可以手动删除行,但是当我运行代码时,我得到了这个错误“删除range类的方法失败” tblAlloc.ListRows中每行的 如果Row.Range(1,tblAlloc.ListColumns(“OG Row”).Index.)值为“x”,则 如果rngToDelete为空,则 设置rngToDelete=Row.Range(1,1).EntireRow 其他的 设置rngToDelete=Union(rngToDelet

我试图运行一段代码,从列“OG Row”“x”所在的表中删除选定行。我可以手动删除行,但是当我运行代码时,我得到了这个错误“删除range类的方法失败”

tblAlloc.ListRows中每行的

如果Row.Range(1,tblAlloc.ListColumns(“OG Row”).Index.)值为“x”,则
如果rngToDelete为空,则
设置rngToDelete=Row.Range(1,1).EntireRow
其他的
设置rngToDelete=Union(rngToDelete,行范围(1,1).EntireRow)
如果结束
如果结束
下一排
删除

为什么不删除标识的行?首先在一个不连续的范围内收集它们有什么好处?@teylyn我尝试了两种方法,但两种方法都不起作用,即删除已标识的每一行,从底部而不是顶部处理范围。“不工作”很难排除故障。工作表是否受保护?它们都给出相同的错误“删除范围类的方法失败”。工作表未受保护,我无法手动删除行
For Each Row In tblAlloc.ListRows
        If Row.Range(1, tblAlloc.ListColumns("OG Row").Index).Value <> "x" Then

            If rngToDelete Is Nothing Then
                Set rngToDelete = Row.Range(1, 1).EntireRow
            Else
                Set rngToDelete = Union(rngToDelete, Row.Range(1, 1).EntireRow)
            End If

        End If
Next Row

rngToDelete.Delete