Страницы: 1
RSS
VBA - найти первую непустую ячейку на листе
 
Добрый день,    
 
Задача: копирую диапазоны из разных книг в одну, поочередно открывая эти книги.    
Иногда копируемый диапазон начинается с А1 - тогда все ОК.    
Но иногда он может начинаться не с 1 строки, а с 3-ей, 5-ой, 7-ой и т.д. Столбец всегда А.    
 
Задача: как найти первую непустую ячейку в столбце А? чтобы потом с нее уже определять currentrange и копировать то, что надо.  
Спасибо,
 
Если данные начинаются, к примеру, с 5-й строки, - первые 4 строки абсолютно пустые?  
 
В частности, в ячейках A1:A4 ничего нет - ни значений, ни формул?  
 
Если так, то ячейку найти несложно:  
 
Sub test()  
   Dim FirstCell As Range  
   Set FirstCell = Range("a:a").Find("*", Cells(Rows.Count, 1))  
   MsgBox FirstCell.Address  
End Sub
 
> чтобы потом с нее уже определять currentrange  
 
 
Вместо currentrange иногда лучше искать последнюю заполненную ячейку  
 
Sub test()  
   Dim cell As Range, FirstCell As Range, ra As Range  
   ' ищем первую ячейку  
   Set FirstCell = Range("a:a").Find("*", Cells(Rows.Count, 1))  
   ' получаем диапазон от первой ячейки до последней заполненной  
   Set ra = Range(FirstCell, Range("A" & Rows.Count).End(xlUp))  
 
   ' копируем в новую книгу  
   ra.Copy Workbooks.Add.Worksheets(1).Range("a1")  
End Sub
 
Спасибо! Да, они пустые.    
Очень помогли
Страницы: 1
Читают тему
Наверх