Как узнать, пуста ли целая строка в Excel тщательно VBA - PullRequest
14 голосов
/ 02 сентября 2010

У меня есть лист, на котором у меня есть данные из двух разных источников. У меня есть пустая строка между ними. Я хочу сделать эту пустую строку своим разделителем. Как я могу узнать, пуста ли вся строка или нет.

Ответы [ 3 ]

22 голосов
/ 02 сентября 2010

Если вы говорите буквально всю строку, тогда код, подобный этому, должен работать (при условии, что в любой из ячеек также нет формул или пробелов):

If Application.CountA(ActiveCell.EntireRow)=0 Then
     MsgBox "Row Empty"
     Exit Sub
End If

В противном случае,для диапазона из ряда:

Dim neValues As Range, neFormulas As Range, MyRange As Range

Set MyRange = Columns("C:AA")

On Error Resume Next
Set neValues = Intersect(ActiveCell.EntireRow.SpecialCells(xlConstants), MyRange)
Set neFormulas = Intersect(ActiveCell.EntireRow.SpecialCells(xlFormulas), MyRange)
On Error GoTo 0

If neValues Is Nothing And neFormulas Is Nothing Then
    MsgBox "Nothing There"
Else
    MsgBox "Something's There"
End If

(Источник: http://www.ozgrid.com/forum/showthread.php?t=26509&page=1)

12 голосов
/ 02 сентября 2010

WorksheetFunction.CountA(), как показано ниже:

Dim row As Range
Dim sheet As Worksheet
Set sheet = ActiveSheet

For i = 1 To sheet.UsedRange.Rows.Count

    Set row = sheet.Rows(i)
    If WorksheetFunction.CountA(row) = 0 Then
        MsgBox "row " & i & " is empty"
    End If

Next i
0 голосов
/ 15 июня 2018

Я попробовал это, и это работает.

Option Explicit

Sub Dl_BlankRow()
Application.ScreenUpdating = False
Dim SelectRange As Range
Dim TempRange As Range
Dim i As long
Set SelectRange = Application.Selection
Set TempRange = Intersect(SelectRange, ActiveSheet.UsedRange)
For i = TempRange.Rows.Count + TempRange.Row - 1 To 1 Step -1
If Cells(i, 1).End(xlToRight).Column = 16384 And Cells(i, 1) = "" Then
Rows(i).Delete
End If
Next
Application.ScreenUpdating = True
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...