Vba excel проверка на пустую строку

how do I check if the string variable is empty in vba?

if:

Dim StrFile1 As String, StrFile2 As String
Dim Text3 As String
Dim Len1 as Integer, Len2 As Integer 

  With NewMail
   Text3 = Cells(i, 3).Value
   StrPath = Cells(i, 2).Value & Text3
   Text = Cells(i, 1).Value

  .Subject = 
  ' adds the data in column3 with space as subject
  .From = 
  .To = Text
  .BCC = ""
  .TextBody = 

StrFile1 = Dir(StrPath & "*.txt")
   Len1 = Len(StrFile1)
   Do While Len(StrFile1) > 0
   .AddAttachment StrPath & StrFile1
   StrFile1 = Dir
   Loop

   StrFile2 = Dir(StrPath & "*.pdf")
   Len2 = Len(StrFile2)
   Do While Len(StrFile2) > 0
   .AddAttachment StrPath & StrFile2
   StrFile2 = Dir
   Loop

   If (Len1 & Len2) = 0 Then
   GoTo Last



  '.AddAttachment Text3
  .Send
End With
i = i + 1
Loop

Last:
End With
i = i + 1
Loop

Now i want to check simultaneously if Len1 and Len2 are 0, if so then I want to go to Last.

When I use this code I get a message/Compile error «Want to end with without with»
and
i am not sure if

If (Len1 & Len2) = 0 Then
       GoTo Last

this is a proper code.
and Do i need to declare the label Last??

asked Jun 6, 2016 at 17:14

Shank's user avatar

ShankShank

6633 gold badges9 silver badges21 bronze badges

4

You have many way to do that like below :

Dim StrFiles As String
StrFiles = Trim(StrFile1 & StrFile2)

If IsEmpty(StrFiles) Then
If StrFiles = vbNullString Then
If StrFiles = "" Then
If StrFiles = Empty Then
If Len(StrFiles) = 0 Then

you can use + operator to check 2 strings are empty reference to your code, because Len Function returns an integer containing either the number of characters in a string

If (Len1 + Len2) = 0 Then

answered Jun 6, 2016 at 17:28

Abdellah OUMGHAR's user avatar

Abdellah OUMGHARAbdellah OUMGHAR

3,6191 gold badge11 silver badges16 bronze badges

8

You can use Trim(strFile1 & vbNullString) = vbNullString to check if the string is empty.

So:

If Trim(strFile1 & vbNullString) = vbNullString Then
   Debug.print "Empty String!"
End If

Thanks to @LordPeter

Community's user avatar

answered Jun 6, 2016 at 17:20

BruceWayne's user avatar

BruceWayneBruceWayne

22.8k15 gold badges64 silver badges109 bronze badges

1

is.empty doesn’t exist for VBA, but the second option works.

Alternatively, you can write:

(strFile1 & strFile2) = vbNullString

or

(strFile1 & strFile2) = ""

answered Jun 6, 2016 at 17:20

basodre's user avatar

basodrebasodre

5,6801 gold badge14 silver badges22 bronze badges

Yet another way is:

If Len(strFile1 & strFile2) > 0 Then

I did test to ensure that strings which aren’t set return a length of 0, which appeared to be the case.

answered Jun 6, 2016 at 17:21

Soulfire's user avatar

SoulfireSoulfire

4,21821 silver badges32 bronze badges

1


Проверить есть ли в строке данные

От: Аноним

 
Дата:  15.03.05 06:55
Оценка:

Как с помощью vba в Excel таблице проверить является ли данная строка пустой (без данных, без оформления) или нет. Просто мне необходимо проходить все строки таблицы и выдёргивать нужную информацию. Но среди нужных строк иногда попадаются пустые строки, которые нужно игнорировать.


Re: Проверить есть ли в строке данные

От:

Hades

 
Дата:  15.03.05 09:03
Оценка:

Проверь длину строки, например…

Dim s As String

If (Len(s) <> 0) Then
MsgBox («Кулллл!»)
End If

s = «aaa»

или так:

If (s <> «») Then
MsgBox («Кулллл!»)
End If


Re[2]: Проверить есть ли в строке данные

От: Аноним

 
Дата:  15.03.05 12:31
Оценка:

Здравствуйте, Hades, Вы писали:

Строка — имеется в виду row, т.е. ячейки, расположенные на одинаковом горизонтальном уровне


Re: Проверить есть ли в строке данные

От:

Unforgiver

Россия

 
Дата:  15.03.05 12:54
Оценка:

Здравствуйте, Аноним, Вы писали:

А>Как с помощью vba в Excel таблице проверить является ли данная строка пустой (без данных, без оформления) или нет. Просто мне необходимо проходить все строки таблицы и выдёргивать нужную информацию. Но среди нужных строк иногда попадаются пустые строки, которые нужно игнорировать.

Включи обработчик ошибок:

On Error Resume Next

' Делаем операцию со строкой.

On Error Goto 0

Если строка пустая, то с ней ничего не сделается и выполнение пойдет дальше.

Всё заканчивается плохо. Если что-то закончилось хорошо — значит оно еще не закончилось.


Re[3]: Проверить есть ли в строке данные

От:

Elena_

Россия

 
Дата:  15.03.05 13:43
Оценка:

4 (1)

Здравствуйте, Аноним, Вы писали:

А>Строка — имеется в виду row, т.е. ячейки, расположенные на одинаковом горизонтальном уровне

Ну если по содержанию ячеек, то перебрать строки можно, например, так

    Dim ranRow As Range
    For Each ranRow In ActiveSheet.UsedRange.Rows
        If Intersect(ranRow, ActiveSheet.UsedRange).Address = _
            ranRow.SpecialCells(xlCellTypeBlanks).Address Then
            MsgBox ranRow.row & " - Пустая Строка"
        Else
            MsgBox ranRow.row & " - Непустая Строка"
        End If
    Next ranRow

А по оформлению, может быть, нужно и смотреть оформление отдельно, надо подумать

Пользователь — друг программиста!


Re: Странные вы какие-то…

От: Аноним

 
Дата:  16.03.05 12:32
Оценка:

Здравствуйте, Аноним, Вы писали:

А>Как с помощью vba в Excel таблице проверить является ли данная строка пустой (без данных, без оформления) или нет. Просто мне необходимо проходить все строки таблицы и выдёргивать нужную информацию. Но среди нужных строк иногда попадаются пустые строки, которые нужно игнорировать.

Да чего вы изголяетесь, пробежаться по всем строкам и по всем ячейкам в строке и не париться.
Вот прмер отчёта в Intermediate о «путотости»/»непустотости» каждой строки в активном листе:

Option Explicit

Public Sub RowsCheck()
    Dim clsRow As Excel.Range
    Dim clsCell As Excel.Range
    Dim clsActiveSheet As Excel.Worksheet
    Dim blnEmpty As Boolean
    
    Set clsActiveSheet = ActiveSheet
    
    For Each clsRow In clsActiveSheet.Rows
        blnEmpty = True
        ''''''''''''''''''''''''''''''''''''''
        'Тут проверяешь каждую строку в листе.
        For Each clsCell In clsRow.Cells
            '''''''''''''''''''''''''''''''''''''''
            'Тут проверяешь каждую ячейку в строке.
            If Not VBA.IsEmpty(clsCell.Value) Then
                blnEmpty = False
                Exit For
            End If
        Next clsCell
        
        If blnEmpty Then
            Debug.Print "Row:""" & clsRow.Address & """ Is Empty"
        Else
            Debug.Print "Row:""" & clsRow.Address & """ Is Not Empty"
        End If
    Next clsRow
End Sub

PS: Задолбаетесь ждать, пока макрос отработает — жмите {Ctrl}+{Pause|Break}. Это я так, на всяк…


Re[2]: Странные вы какие-то…

От:

Elena_

Россия

 
Дата:  16.03.05 13:49
Оценка:

Здравствуйте, Аноним, Вы писали:

А>Да чего вы изголяетесь, пробежаться по всем строкам и по всем ячейкам в строке и не париться.

А>Вот прмер отчёта в Intermediate о «путотости»/»непустотости» каждой строки в активном листе:

А>

А>    For Each clsRow In clsActiveSheet.Rows
А>        blnEmpty = True
А>        ''''''''''''''''''''''''''''''''''''''
А>        'Тут проверяешь каждую строку в листе.
А>        For Each clsCell In clsRow.Cells
А>            '''''''''''''''''''''''''''''''''''''''
А>            'Тут проверяешь каждую ячейку в строке.
А>            If Not VBA.IsEmpty(clsCell.Value) Then
А>                blnEmpty = False
А>                Exit For
А>            End If
А>        Next clsCell
А>

Но зачем проверять даже те ячейки, которые не попали в UsedRange?
Зачем проверять каждую ячейку, если можно проверить сразу диапазон?

Пользователь — друг программиста!

От: Аноним

 
Дата:  18.03.05 13:44
Оценка:

Здравствуйте, Elena_, Вы писали:

E_>Но зачем проверять даже те ячейки, которые не попали в UsedRange?

E_>Зачем проверять каждую ячейку, если можно проверить сразу диапазон?
Согласен, но тогда «отмажусь» нехваткой времени ==> сыростью программы.
+ тут уже есть пример с использованием UserRange.

PS: В 97’м ёкселе (были слухи что и в 2000’м) «SpecialCells(xlCellTypeBlanks)» не всегда корректно работает…

От:

Elena_

Россия

 
Дата:  18.03.05 20:35
Оценка:

Здравствуйте, Аноним, Вы писали:

А>PS: В 97’м ёкселе (были слухи что и в 2000’м) «SpecialCells(xlCellTypeBlanks)» не всегда корректно работает…

В общем-то, если пустых ячеек совсем нет, то действительно некорректно получается

Я имела в виду, чтобы не перебирать по ячейке, так как при больших объемах это все-таки будет заметно

Можно еще, например,

    Dim ranRow As Range
    For Each ranRow In ActiveSheet.UsedRange.Rows
        If Application.WorksheetFunction.CountBlank(ranRow.EntireRow) = 256 Then
            MsgBox ranRow.Row & " - Пустая Строка"
        Else
            MsgBox ranRow.Row & " - Непустая Строка"
        End If
    Next ranRow

Пользователь — друг программиста!

Подождите ...

Wait...

  • Переместить
  • Удалить
  • Выделить ветку

Пока на собственное сообщение не было ответов, его можно удалить.

Определение с помощью кода VBA Excel, что диапазон ячеек пуст, то есть, ни одна из ячеек диапазона (строки, столбца) не содержит отображаемого значения.

Определение пустого диапазона

Определить в VBA Excel, что диапазон ячеек пуст, можно с помощью функции рабочего листа WorksheetFunction.CountA или свойства диапазона ячеек Range.Text.

Пример 1

Определение, что диапазон ячеек пуст, с помощью функции рабочего листа WorksheetFunction.CountA:

Sub Primer1()

    If WorksheetFunction.CountA(Range(«A1:L8»)) = 0 Then

        MsgBox «Диапазон ячеек ««A1:L8»» пуст»

    Else

        MsgBox «Диапазон ячеек ««A1:L8»» не пуст»

    End If

End Sub

Функция WorksheetFunction.CountA подсчитывает количество ячеек, содержащих значения, в том числе нули и формулы, возвращающие пустые строки. Если хотя бы одна ячейка в диапазоне будет содержать пустую строку, возвращенную формулой, то код первого примера определит, что диапазон не пуст.

Пример 2

Определение, что диапазон ячеек пуст, с помощью свойства Text объекта Range:

Sub Primer2()

    If Range(«A1:L8»).Text = «» Then

        MsgBox «Диапазон ячеек ««A1:L8»» пуст»

    Else

        MsgBox «Диапазон ячеек ««A1:L8»» не пуст»

    End If

End Sub

Свойство Text объекта Range возвратит пустую строку только в том случае, если все ячейки диапазона будут содержать пустые строки и (или) значение Empty. Если одна или более ячеек в диапазоне будут содержать пустую строку, возвращенную формулой, то код второго примера все-равно определит, что диапазон пуст.

Определение пустой строки

Определение пустой строки в VBA Excel с помощью свойства Range.Text:

Sub Primer3()

    If Rows(5).Text = «» Then

        MsgBox «Указанная строка пуста»

    Else

        MsgBox «Указанная строка не пуста»

    End If

End Sub

Данное определение пустой строки используется в коде для удаления пустых строк из таблицы.

Определение пустого столбца

Определение пустого столбца в VBA Excel с помощью свойства Range.Text:

Sub Primer4()

    If Columns(7).Text = «» Then

        MsgBox «Указанный столбец пуст»

    Else

        MsgBox «Указанный столбец не пуст»

    End If

End Sub

или

Sub Primer5()

    If Columns(«G»).Text = «» Then

        MsgBox «Указанный столбец пуст»

    Else

        MsgBox «Указанный столбец не пуст»

    End If

End Sub


Фразы для контекстного поиска: диапазон пустой, строка пустая, столбец пустой.


Содержание

  1. Vba excel определить пустую строку
  2. Функция IsNull
  3. Синтаксис
  4. Замечания
  5. Пример
  6. См. также
  7. Поддержка и обратная связь
  8. IsNull function
  9. Syntax
  10. Remarks
  11. Example
  12. See also
  13. Support and feedback
  14. Vba excel определить пустую строку

Vba excel определить пустую строку

Проверь длину строки, например.

Dim s As String

If (Len(s) <> 0) Then
MsgBox («Кулллл!»)
End If

If (s <> «») Then
MsgBox («Кулллл!»)
End If

От: Аноним
Дата: 15.03.05 12:31
Оценка:

Здравствуйте, Hades, Вы писали:

Строка — имеется в виду row, т.е. ячейки, расположенные на одинаковом горизонтальном уровне

От: Unforgiver
Дата: 15.03.05 12:54
Оценка:

Здравствуйте, Аноним, Вы писали:

А>Как с помощью vba в Excel таблице проверить является ли данная строка пустой (без данных, без оформления) или нет. Просто мне необходимо проходить все строки таблицы и выдёргивать нужную информацию. Но среди нужных строк иногда попадаются пустые строки, которые нужно игнорировать.

Включи обработчик ошибок:

Если строка пустая, то с ней ничего не сделается и выполнение пойдет дальше.

От: Elena_
Дата: 15.03.05 13:43
Оценка: 4 (1)

Здравствуйте, Аноним, Вы писали:

А>Строка — имеется в виду row, т.е. ячейки, расположенные на одинаковом горизонтальном уровне

Ну если по содержанию ячеек, то перебрать строки можно, например, так

А по оформлению, может быть, нужно и смотреть оформление отдельно, надо подумать

От: Аноним
Дата: 16.03.05 12:32
Оценка:

Здравствуйте, Аноним, Вы писали:

А>Как с помощью vba в Excel таблице проверить является ли данная строка пустой (без данных, без оформления) или нет. Просто мне необходимо проходить все строки таблицы и выдёргивать нужную информацию. Но среди нужных строк иногда попадаются пустые строки, которые нужно игнорировать.

Да чего вы изголяетесь, пробежаться по всем строкам и по всем ячейкам в строке и не париться.
Вот прмер отчёта в Intermediate о «путотости»/»непустотости» каждой строки в активном листе:

PS: Задолбаетесь ждать, пока макрос отработает — жмите +. Это я так, на всяк.

От: Elena_
Дата: 16.03.05 13:49
Оценка:

Здравствуйте, Аноним, Вы писали:

А>Да чего вы изголяетесь, пробежаться по всем строкам и по всем ячейкам в строке и не париться.
А>Вот прмер отчёта в Intermediate о «путотости»/»непустотости» каждой строки в активном листе:

А>

Но зачем проверять даже те ячейки, которые не попали в UsedRange?
Зачем проверять каждую ячейку, если можно проверить сразу диапазон?

От: Аноним
Дата: 18.03.05 13:44
Оценка:

Здравствуйте, Elena_, Вы писали:

E_>Но зачем проверять даже те ячейки, которые не попали в UsedRange?
E_>Зачем проверять каждую ячейку, если можно проверить сразу диапазон?
Согласен, но тогда «отмажусь» нехваткой времени ==> сыростью программы.
+ тут уже есть пример с использованием UserRange.

PS: В 97’м ёкселе (были слухи что и в 2000’м) «SpecialCells(xlCellTypeBlanks)» не всегда корректно работает.

От: Elena_
Дата: 18.03.05 20:35
Оценка:

Здравствуйте, Аноним, Вы писали:

А>PS: В 97’м ёкселе (были слухи что и в 2000’м) «SpecialCells(xlCellTypeBlanks)» не всегда корректно работает.

В общем-то, если пустых ячеек совсем нет, то действительно некорректно получается

Я имела в виду, чтобы не перебирать по ячейке, так как при больших объемах это все-таки будет заметно

Источник

Функция IsNull

Возвращает значение типа Boolean, которое указывает, не содержит ли выражение достоверных данных (Null).

Синтаксис

IsNull(выражение)

Замечания

IsNull возвращает значение True (Истина), если используется expression равное Null; в другом случае IsNull возвращает значение False (Ложь). Если expression состоит из нескольких переменных, значение Null, заданное для одной из них, приводит к возврату значения True для всего выражения.

Значение Null указывает, что Variant не содержит достоверных значений. Null не приравнивается к значению Empty (Пусто), которое указывает, что переменная не была инициализирована. Это также не то же самое, что строка нулевой длины («»), которую иногда называют пустой строкой.

Используйте функцию IsNull, чтобы определить, содержит ли выражение значение Null. Выражения, для которых может потребоваться значение True , в некоторых случаях, например If Var = Null и If Var <> Null , всегда имеют значение False. Это связано с тем, что любое выражение, содержащее значение NULL , само по себе имеет значение NULL и , следовательно, false.

Пример

В этом примере используется функция IsNull, чтобы определить, содержит ли переменная значение Null.

См. также

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.

Источник

IsNull function

Returns a Boolean value that indicates whether an expression contains no valid data (Null).

Syntax

IsNull(expression)

IsNull returns True if expression is Null; otherwise, IsNull returns False. If expression consists of more than one variable, Null in any constituent variable causes True to be returned for the entire expression.

The Null value indicates that the Variant contains no valid data. Null is not the same as Empty, which indicates that a variable has not yet been initialized. It’s also not the same as a zero-length string («»), which is sometimes referred to as a null string.

Use the IsNull function to determine whether an expression contains a Null value. Expressions that you might expect to evaluate to True under some circumstances, such as If Var = Null and If Var <> Null , are always False. This is because any expression containing a Null is itself Null and therefore False.

Example

This example uses the IsNull function to determine if a variable contains a Null.

See also

Support and feedback

Have questions or feedback about Office VBA or this documentation? Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.

Источник

Vba excel определить пустую строку

Бывалый

Профиль
Группа: Участник
Сообщений: 227
Регистрация: 23.12.2003
Где: Нижний Новгород

Репутация: нет
Всего: 1

скажите кто-нибудь, пожалуйста, почему не работает

kb-nn
Дата 24.7.2007, 15:31 (ссылка) | (нет голосов) Загрузка .
Код
Function get_first_empty_row() As Integer
Dim bool As Boolean
For i = 1 To 65535
bool = True
For j = 1 To 256
If Trim(ThisWorkbook.ActiveSheet.Cells(j, i).Value) <> «» Then
bool = False
End If
Next j
If bool = True Then
get_first_empty_row = i
End If
Next i
If bool = False Then
get_first_empty_row = 0
End If
End Function
mihanik
Дата 24.7.2007, 21:42 (ссылка) | (нет голосов) Загрузка .

-=Белый Медведь=-

Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 9
Всего: 109

А вот это работает?

Код
Function get_first_empty_row() As Integer
Dim bool As Boolean
Dim MyCol, MyRow As Long

For MyRow = 1 To 65535

For MyCol = 1 To 256
If Trim(ThisWorkbook.ActiveSheet.Cells(MyRow, MyCol).Value) <> «» Then
bool = True
Exit For
End If
Next MyCol

If bool = False Then Exit For

Советчик

Профиль
Группа: Модератор
Сообщений: 20553
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 25
Всего: 453

Akina
Дата 24.7.2007, 23:45 (ссылка) | (нет голосов) Загрузка .
Код
Sub Show_First_Empty_Row()
Dim i As Long
Dim j As Long
For i = 1 To 65535
For j = 1 To 255
If Not IsEmpty(ThisWorkbook.ActiveSheet.Cells(i, j)) Then
j = 0
Exit For
End If
Next j
If j Then Exit For
Next i
MsgBox i
End Sub

О(б)суждение моих действий — в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция — Администрация форума.

Шустрый

Профиль
Группа: Участник
Сообщений: 112
Регистрация: 3.1.2007

Репутация: 1
Всего: 1

bilya
Дата 25.7.2007, 00:11 (ссылка) | (нет голосов) Загрузка .
Код
iRow = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count

Бывалый

Профиль
Группа: Участник
Сообщений: 227
Регистрация: 23.12.2003
Где: Нижний Новгород

Репутация: нет
Всего: 1

большое спасибо. окаазывается, я перепутал строки со столбцами и в Integer попытался втиснуть long.

извините пожалуйста.
но проблема оказалась другой.
надо не первую пустую строку, а последнюю занятую строку.

вариант, приведенный bilya, делает нечто подобное, но все строки, которые чначала были заняты, а потом очищены, считаются занятыми.
можно ли как нибудь узнать последнюю занятую строку (на момент запуска макроса)?
только не проверяя всё подряд. это неинтересно.

kb-nn
Дата 25.7.2007, 16:51 (ссылка) | (нет голосов) Загрузка .

Советчик

Профиль
Группа: Модератор
Сообщений: 20553
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 25
Всего: 453

Нет такого понятия как «Незанятая ячейка (строка, столбец)». Следует понимать что одно дело — скажем пустая строка, и совсем другое — отсутствие строки в принципе (Null). Вариант bilya дает как раз Null-ячейки, в то время как тебе нужны и «»-ячейки. И вот тут без сканирования ну никуда.

Akina
Дата 25.7.2007, 18:17 (ссылка) | (нет голосов) Загрузка .
Цитата(kb-nn @ 25.7.2007, 17:51 )
надо не первую пустую строку, а последнюю занятую строку.

О(б)суждение моих действий — в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция — Администрация форума.

Шустрый

Профиль
Группа: Участник
Сообщений: 112
Регистрация: 3.1.2007

Репутация: 1
Всего: 1

bilya
Дата 26.7.2007, 00:03 (ссылка) | (нет голосов) Загрузка .
Цитата(kb-nn @ 25.7.2007, 16:51 )
но все строки, которые чначала были заняты, а потом очищены, считаются занятыми.
Код
MsgBox ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count — 1
Код
MsgBox Cells(Rows.Count, «A»).End(xlUp).Row

Бывалый

Профиль
Группа: Участник
Сообщений: 227
Регистрация: 23.12.2003
Где: Нижний Новгород

Репутация: нет
Всего: 1

kb-nn
Дата 26.7.2007, 13:52 (ссылка) | (нет голосов) Загрузка .

Шустрый

Профиль
Группа: Участник
Сообщений: 108
Регистрация: 9.5.2006

Репутация: нет
Всего: 2

НеуФазендник
Дата 25.8.2007, 13:39 (ссылка) | (нет голосов) Загрузка .

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль «Помогите!» таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в «Книге отзывов о работе администрации»
  • А вот тут лежит FAQ нашего подраздела

Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

Правила форума «Программирование, связанное с MS Office»
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »

[ Время генерации скрипта: 0.1192 ] [ Использовано запросов: 21 ] [ GZIP включён ]

Источник

Adblock
detector

Михаил, гляньте, как это делается в макросе удаления пустых строк:  
Sub DeleteEmptyRows()  
  ‘—————————————————————————————  
  ‘ Procedure    : DeleteEmptyRows  
  ‘ Author       : The_Prist???  
  ‘ Topic_HEADER : Удаление всех пустых строк в таблице  
  ‘ Topic_URL    :

http://www.planetaexcel.ru/tip.php?aid=31  

  ‘ Post_Author  :  
  ‘ Post_URL     :  
  ‘ DateTime     : 10.09.2006  
  ‘ Purpose      : Удаление всех пустых строк в таблице  
  ‘ Notes        :  
  ‘—————————————————————————————  
  If MsgBox(«Удалить все пустые строки на листе?», vbOKCancel Or vbQuestion Or vbDefaultButton1, «Удалить пустые строки?») = vbCancel Then Exit Sub  
  Dim lLastRow As Long, i As Long  
  lLastRow = ActiveSheet.UsedRange.Row — 1 + ActiveSheet.UsedRange.Rows.Count  
  Application.ScreenUpdating = False  
  For i = lLastRow To 1 Step -1  
     If Application.CountA(Rows(i)) = 0 Then Rows(i).Delete  
  Next  
  Application.ScreenUpdating = True  
End Sub

Понравилась статья? Поделить с друзьями:
  • Vba excel проверка на пустое значение
  • Vba excel проверка значения на дату
  • Vba excel проверка значения массива
  • Vba excel проверка если ячейка пустая
  • Vba excel проверка если значение в ячейке