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
Vba 根据值选择/删除某些行_Vba_Excel - Fatal编程技术网

Vba 根据值选择/删除某些行

Vba 根据值选择/删除某些行,vba,excel,Vba,Excel,我编写此脚本是为了删除列C中包含不同于“201103”的值的行。当我使用它来加粗它时,它会工作,但当我将它与一起使用时,删除它会表现出奇怪的行为,不能正常工作 我试图获取选定的行,然后使用UNION合并它并使用。选择(多个),这样我可以手动删除它,但不确定如何进行 Sub test() Dim Cell As Range For Each Cell In Range("C2:C2308").Cells If (Cell.Value <> "201103"

我编写此脚本是为了删除列
C
中包含不同于“201103”的值的行。当我使用它来加粗它时,它会工作,但当我将它与
一起使用时,删除
它会表现出奇怪的行为,不能正常工作

我试图获取选定的行,然后使用UNION合并它并使用
。选择
(多个),这样我可以手动删除它,但不确定如何进行

Sub test()

   Dim Cell As Range

   For Each Cell In Range("C2:C2308").Cells
       If (Cell.Value <> "201103" And Cell.Value <> "") Then
           Cell.EntireRow.Font.Bold = True
           'Cell.EntireRow.Delete
       End If
   Next Cell

End Sub
子测试()
暗淡单元格作为范围
对于范围内的每个单元格(“C2:C2308”)。单元格
如果(Cell.Value“201103”和Cell.Value“”),则
Cell.EntireRow.Font.Bold=True
'Cell.EntireRow.Delete
如果结束
下一个细胞
端接头
有人知道如何修复它以使其正常工作吗?

试试以下方法:

Sub test()
'

With ActiveSheet
    .AutoFilterMode = False
    With Range("C2", Range("C" & Rows.Count).End(xlUp))
        .AutoFilter 1, "<>201103"
        On Error Resume Next
        .Offset(1).SpecialCells(12).EntireRow.Delete
    End With
    .AutoFilterMode = False
End With
End Sub
子测试()
'
使用ActiveSheet
.AutoFilterMode=False
带范围(“C2”、范围(“C”和行数)。结束(xlUp))
.自动过滤器1,“201103”
出错时继续下一步
.Offset(1).特殊单元格(12).EntireRow.Delete
以
.AutoFilterMode=False
以
端接头
试试这个:

Sub test()
'

With ActiveSheet
    .AutoFilterMode = False
    With Range("C2", Range("C" & Rows.Count).End(xlUp))
        .AutoFilter 1, "<>201103"
        On Error Resume Next
        .Offset(1).SpecialCells(12).EntireRow.Delete
    End With
    .AutoFilterMode = False
End With
End Sub
子测试()
'
使用ActiveSheet
.AutoFilterMode=False
带范围(“C2”、范围(“C”和行数)。结束(xlUp))
.自动过滤器1,“201103”
出错时继续下一步
.Offset(1).特殊单元格(12).EntireRow.Delete
以
.AutoFilterMode=False
以
端接头

检查此链接可能还有其他东西锁定此范围(例如,某些公式取决于这些行)。尝试在新的Excel工作簿中使用它,它可能会起作用。刚刚在这里试用过(Excel2007)。除此之外,
的哪些行为异常且不能正常工作
?检查此链接可能还有其他东西锁定此范围(例如,某些公式取决于这些行)。尝试在新的Excel工作簿中使用它,它可能会起作用。刚刚在这里试用过(Excel2007)。此外,什么是
行为奇怪且不能正常工作的