Страницы: 1
RSS
VBA Каким образом можно найте пустую строку?
 
Ну, в общем-то вопрос в заголовке.  
нашел такое выражение: a = ActiveSheet.Rows(13).Text , но у меня оно работает только по первому столбцу: если А13 ="",то и а= "";  если А13 <>"", то а=Null, на другие ячейки не реагирует - так и должно быть? и есть ли возможность проверить всю строку?  
 
ps.капча 65536 = число строк :)
 
Михаил, гляньте, как это делается в макросе удаления пустых строк:  
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
С уважением, Алексей (ИМХО: Excel-2003 - THE BEST!!!)
 
Таким образом:  
---------------------  
If Application.WorksheetFunction.CountA(Rows®) = 0 Then ...  
---------------------
<FONT COLOR="CadetBlue">
 
Алексей, Дмитрий - спасибо, понял :)
 
Ага, возникает почти риторический, много раз задаваемый вопрос, что мы считаем пустой ячейкой... :)    
Например, в А1 формула ="",    
тогда ActiveSheet.Rows(1).Text ="",    
а If Application.CountA(Rows(1))=1 (даже если формулу заменить на значение)
Страницы: 1
Читают тему
Наверх