Страницы: 1
RSS
Почему разные результаты при записи макроса макрорек. и его выполнении
 
Всем, здравствуйте!  
Может мой вопрос из азов программирования в VBA, но всё-таки...  
При записи макроса макрорекордером очищаются только строки с нулевым результатом, а уже при запуске макроса - все. В чём фокус?  
 
Посмотрите, пожалуйста, файлик...
 
Попробуйте такой вариант:  
 
Sub Макрос()  
   [a1].AutoFilter Field:=4, Criteria1:="0.00"
   Dim ДиапазонДляОчистки As Range  
   Set ДиапазонДляОчистки = Intersect([d:d], [5:65000], [a1].SpecialCells(xlCellTypeVisible))
   Debug.Print ДиапазонДляОчистки.ClearContents  
   [a1].AutoFilter Field:=4
End Sub  
 
Или лучше так:  
 
Sub Макрос()  
   On Error Resume Next: Application.ScreenUpdating = False  
   [a1].AutoFilter Field:=4, Criteria1:="0.00"
   Intersect([d:d], [5:65000], [a1].SpecialCells(xlCellTypeVisible)).ClearContents
   [a1].AutoFilter Field:=4: Application.ScreenUpdating = True
End Sub  
 
 
Файл с примером: http://excelvba.ru/XL_Files/Sample__14-09-2009__1-06-11.zip
 
Да, надо мне браться за учебники.  :)  
 
Всё прекрасно работает, оба варианта.  
Прекрасная работа, большое спасибо!!!!!!
 
Вот мой пример
 
{quote}{login=Pavel55}{date=13.09.2009 11:24}{thema=}{post}Вот мой пример{/post}{/quote}  
 
Отлично!!!  
Ща буду эксперименты ставить!    :)))))  
Спасибо и притом огромное!!!!!!!!!!!!
Страницы: 1
Читают тему
Наверх