Страницы: 1
RSS
Как очистить лист Excel на VBA?
 
В общем такая проблемма - нужно очистить лист Excel от всех данных, который заведомо уже имеет на нем несколько таблице, а затем продолжить работу с этим листом.    
Я делаю так:  
нахожу границу данных на листе которые нужно удалить  
Set aRange = Worksheets("Лист1").Range("A1").SpecialCells(xlCellTypeLastCell)  
lastRow = aRange.Row  
lastColumn = aRange.Column  
и затем делаю так:  
Worksheets("Лист1").Range(Cells(1, 1), Cells(lastRow, lastColumn)).Delete  
или можно еще так:  
Worksheets("Лист1").Cells.ClearContents  
в результате лист чист :)  
 
но если проделать еще раз:  
Set aRange = Worksheets("Лист1").Range("A1").SpecialCells(xlCellTypeLastCell)  
lastRow = aRange.Row  
lastColumn = aRange.Column  
т.е. попытаться узнать границы листа где есть данные, получим что они не изменились, т.е. как будто бы на листе есть данные.  
Можно ли с этим как-то бороться?
 
Cells.Select  
   Selection.ClearContents
 
удалить все с листа    
 
   Selection.Delete Shift:=xlUp
 
Ну, после очистки сохранить книгу, тогда старые границы уберутся.
 
Согласен, они убирутся после сохранения. А как это сделать на VBA?    
Пишу ThisWorkbook.Saved = True, но это не помогает.
 
OK, большое спасибо!!! Как говорится, век живи, век учись :)
Страницы: 1
Читают тему
Наверх