Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.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,如果某个区域之间的单元格全部为空,我将尝试删除整行 例如,对于范围B6-H10,如果B6-H6中的值为空,则删除第6行。值得注意的是,列A将填充整个范围 目前,正在返回以下错误: “无法在重叠部分上使用该命令” 我相信这个错误是由于给定范围内的一个单元格中存在一个值造成的 目前的代码如下:- Public Sub DeleteERows() Dim rng As Range Set rng = Range("B6:H10") rng.SpecialCells(xlCellT

如果某个区域之间的单元格全部为空,我将尝试删除整行

例如,对于范围B6-H10,如果B6-H6中的值为空,则删除第6行。值得注意的是,列A将填充整个范围

目前,正在返回以下错误:

“无法在重叠部分上使用该命令”

我相信这个错误是由于给定范围内的一个单元格中存在一个值造成的

目前的代码如下:-

  Public Sub DeleteERows()

  Dim rng As Range

  Set rng = Range("B6:H10")

  rng.SpecialCells(xlCellTypeBlanks).EntireRow.Select
  rng.SpecialCells(xlCellTypeBlanks).EntireRow.Delete

  End Sub

非常感谢您的任何想法。

真的有多种方式,但让我首先向您保证,您真正想做的是

相反,请尝试:

Option Explicit

Sub DelRows()

Dim X As Long
With ThisWorkbook.Sheets("Sheet1") '<-- Your sheetname goes here
    For X = 10 To 6 Step -1
        If Application.WorksheetFunction.CountA(.Range(.Cells(X, 2), .Cells(X, 8))) = 0 Then
            .Rows(X).EntireRow.Delete
        End If
    Next X
End With

End Sub
选项显式
子行()
暗X等长

使用此工作簿.Sheets(“Sheet1”)“请在下面搜索stackback,在google中还有更多类似于您的styoe
删除空白单元格stackoverflow
的帖子,并查看您获得的结果。