Страницы: 1
RSS
Как ускорить работу макроса - очень долго обрабатывает
 
Доброго дня всем!!!  
Помогите ускорить работу макроса по преобразованию значения ячеек в текст  
т.е. в ячейках находятся формулы - макрос их результат преобразовывает в текст.  
1. макрос находит соответствующий столбец по условию --- это нормально работает  
2. само преобразование значения в текст перебором ячеек --- уж очень долго (много строк более 1500)  
 
Sub Zamena()  
Dim c As Range, d As Range  
Set c = Rows(11).Find([B3], , xlValues, xlWhole)
If c Is Nothing Then MsgBox "Не найдено: " & [B3], vbCritical: Exit Sub
Set d = c.Offset(2, -1)  
Range(d, Cells(Rows.Count, d.Column).End(xlUp)).Select  
For Each cl In Selection  
cl.Value = cl.Value  
Next  
 
End Sub
 
Так будет намного быстрее:    
(все ячейки перебирать совсем необязательно, можно сразу всё заменить)  
 
Sub Zamena()  
   Dim c As Range, d As Range  
   Set c = Rows(11).Find([B3], , xlValues, xlWhole)
   If c Is Nothing Then MsgBox "Не найдено: " & [B3], vbCritical: Exit Sub
   Set d = c.Offset(2, -1)  
   Set d = Range(d, Cells(Rows.Count, d.Column).End(xlUp))  
   d.Value = d.Value  
End Sub
 
EducatedFool  
 
Спасибо огромное .... действительно очень быстро!!!!
Страницы: 1
Читают тему
Наверх