Страницы: 1
RSS
[ Закрыто ] Cтрока нулевой длины в excel
 
Добрый день.
Подскажите пожалуйста как должен выглядеть этот код, который будет охватывать сразу все ячейки листа:
Код
Sub ReplaceToEmpty()Dim iRow&, cl As Range
    lRow = Cells(Rows.Count, "A").End(xlUp).Row
    For Each cl In Range("A1:A" & lRow).Cells
        If Len(cl) = 0 Then cl.Value = Empty
    Next
End Sub
 
Цитата
hr.al написал:
охватывать сразу все ячейки листа:
Вы уверены, что Вам нужно контролировать все 17 179 869 184 ячейки?
 
а почему тема называется
Цитата
hr.al написал:
Cтрока нулевой длины в excel
а вопрос звучит:
Цитата
hr.al написал:
как должен выглядеть этот код, который будет охватывать сразу все ячейки листа:
так что вас интересует?
строки нулевой длины
или
как обратиться ко всем ячейкам листа?
"" - это строка нулевой длины
Cells - это обьект содержащий все ячейки диапазона (Activesheet.Cells - все ячейки активного листа)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
оффтоп моде он:
Цитата
Юрий М написал:
Вы уыкпкефы
Кто это?  8-0  :)
Вот горшок пустой, он предмет простой...
 
Код будет выглядеть так
Код
Sub ReplaceToEmpty()
    Dim cl As Range
        For Each cl In Cells
        If Len(cl) = 0 Then cl.Value = Empty
    Next
End Sub


Сразу предупреждаю, ответ абсолютно верный. но очень вредный.  :)
 
PooHkrd, исправил )  
 
Юрий М, фу ты, а то я уж подумал вы так ктулху вызываете.
Даже думать не хочу что там у вас в руках происходило, что слово "уверены" превратилось в нечто мистическое.  :D
Вот горшок пустой, он предмет простой...
 
Большие проблемы с набором текста и чтением. В этот раз не проверил.
 
Цитата
Юрий М написал:
Вы уверены, что Вам нужно контролировать все 17 179 869 184 ячейки?
Добрый день!
Да, я не уверен что мне нужно контролировать все ячейки, просто у меня запросом подгружаются данные, которые могут расширяться по колонкам. Просто я подумал, что проще по всем пройтись, чем определять новый уровень диапазона.

Цитата
RAN написал:
Код будет выглядеть такКод ? 123456Sub ReplaceToEmpty()    Dim cl As Range        For Each cl In Cells        If Len(cl) = 0 Then cl.Value = Empty    NextEnd SubСразу предупреждаю, ответ абсолютно верный. но очень вредный.  
Спасибо! Но почему ответ вредный? ))
 
Запустите код, и поймете.
 
Цитата
hr.al написал:
Но почему ответ вредный? ))
перебирать в цикле 17ккк ячеек? Это точно малополезно.  :D
Вот горшок пустой, он предмет простой...
 
Понял вас. Спасибо!

Можно тогда переформулирую вопрос?

Как избавится от строк нулевой длины для всех ячеек колонок имеющих заголовок в первой строке? - вероятно для меня так будет более правильно

Спасибо!
 
Цитата
hr.al написал:
избавится от строк нулевой длины
вам уже написали один макрос, который вам по факту нафиг не нужен, теперь нужен следующий такой же?
более правильно будет более точно сформулировать вопрос
1. что в вашем понимании есть строка нулевой длины?
2. избавиться - это как? что с ними делать?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
Страницы: 1
Наверх