Страницы: 1
RSS
Как очистить переменную массива vba
 
Добрый день,  
 
вопрос в следующем: у меня в макросе объявляется две переменных - массив и строка. После завершения работы макроса я бы хотел эти переменные очистить. Как очистить строку я сообразил, а вот с массивом проблема...  
 
Sub test()  
Dim a() As String  
Dim st As String  
st = "sssd,sdatr,asd"  
a() = Split(st, ",")  
st = Empty  
End Sub  
 
Может кто-нибудь подсказать, как это сделать? Спасибо
 
А зачем массив или обычную переменную (ту, которая не через Set устанавливается) вообще чистить?  
У всех переменных ведь время жизни - только до конца процедуры.  
После Snd Sub сами помрут.
С уважением, Алексей (ИМХО: Excel-2003 - THE BEST!!!)
 
А так:    
Erase a
 
Можно так - сохранив размерность:  
 
ReDim a(LBound(a) To UBound(a))
 
{quote}{login=Hugo}{date=06.12.2010 03:36}{thema=}{post}Можно так - сохранив размерность:  
 
ReDim a(LBound(a) To UBound(a)){/post}{/quote}  
И будет тогда массив а занимать точно столько же ячеек памяти, как и раньше, только эти ячейки будут пустыми...  
Смысл то какой? Чего webley пытается добиться?
С уважением, Алексей (ИМХО: Excel-2003 - THE BEST!!!)
 
Очистка не нужна.  
Переменные сами очистятся (точнее, исчезнут) по завершении макроса.  
 
Очистка локальных переменных - пустая трата времени.
 
{quote}{login=sva}{date=06.12.2010 03:34}{thema=}{post}А так:    
Erase a{/post}{/quote}  
 
Спасибо!!!  
То что надо
 
{quote}{login=EducatedFool}{date=06.12.2010 03:45}{thema=}{post}Очистка не нужна.  
Переменные сами очистятся (точнее, исчезнут) по завершении макроса.  
 
Очистка локальных переменных - пустая трата времени.{/post}{/quote}  
 
на самом деле переменная глобальная, просто когда писал пример не придал этому значения...
Страницы: 1
Наверх