Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
05.10.2010, 21:53
|
|||
---|---|---|---|
|
|||
Удалить в ячейке строки начиная со второй |
|||
#18+
Добрый вечер! Подскажите, пож-та, как будет выглядеть код VBA для удаления в ячейке всех строк начиная со второй. Строки разделены символом, к-й получается нажатием Alt+Enter. Допустим, что нужно обработать все ячейки столбца А. Нашел часть кода, по расщеплению содержимого ячейки с разделителем chr(10): Код: plaintext 1.
Но не знаю как определить вторую и следующие строки ячейки для удаления... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.10.2010, 22:43
|
|||
---|---|---|---|
|
|||
Удалить в ячейке строки начиная со второй |
|||
#18+
Zerat, Может так получится? http://icqrobot.ru/Archer/2010_09_29/page_0102.html ставим признак Символ разделитель - Новая строка, а потом удалим ненужные столбцы и обрано собирем два столбца. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.10.2010, 23:05
|
|||
---|---|---|---|
Удалить в ячейке строки начиная со второй |
|||
#18+
В смысле "не можете определить"? Вы же код примерно уже написАли... Можно так: Код: plaintext 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.10.2010, 23:41
|
|||
---|---|---|---|
Удалить в ячейке строки начиная со второй |
|||
#18+
при чем тут split.....???? Sub test() For i = Cells(Rows.Count, "A").End(xlUp).Row To 1 Step -1 Cells(i, 1) = Mid(Cells(i, 1).Text, 1, InStr(1, Cells(i, 1).Text, Chr(10))) Next i End Sub ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.10.2010, 07:08
|
|||
---|---|---|---|
|
|||
Удалить в ячейке строки начиная со второй |
|||
#18+
AndreTMВ смысле "не можете определить"? Вы же код примерно уже написАли... Можно так: Код: plaintext 1. 2.
Но здесь же у Вас нет операции удаления второй и последующих строк в ячейке? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.10.2010, 07:33
|
|||
---|---|---|---|
|
|||
Удалить в ячейке строки начиная со второй |
|||
#18+
R Dmitryпри чем тут split.....???? Sub test() For i = Cells(Rows.Count, "A").End(xlUp).Row To 1 Step -1 Cells(i, 1) = Mid(Cells(i, 1).Text, 1, InStr(1, Cells(i, 1).Text, Chr(10))) Next i End Sub Спасибо. Макрос удаляет вторую и последующие строки в ячейке. Но почему он оставляет вторую строку (она пустая)? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.10.2010, 09:32
|
|||
---|---|---|---|
Удалить в ячейке строки начиная со второй |
|||
#18+
Zerat, Cells(i, 1) = Mid(Cells(i, 1).Text, 1, InStr(1, Cells(i, 1).Text-1, Chr(10))) замените эту строку должно помочь ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.10.2010, 09:36
|
|||
---|---|---|---|
Удалить в ячейке строки начиная со второй |
|||
#18+
Cells(i, 1) = Mid(Cells(i, 1).Text, 1, InStr(1, Cells(i, 1).Text, Chr(10)) - 1) :) Не там -1 поставил, эта строка верная ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.10.2010, 13:53
|
|||
---|---|---|---|
|
|||
Удалить в ячейке строки начиная со второй |
|||
#18+
R DmitryCells(i, 1) = Mid(Cells(i, 1).Text, 1, InStr(1, Cells(i, 1).Text, Chr(10)) - 1) :) Не там -1 поставил, эта строка верная VBA ругается на эту строчку. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.10.2010, 14:27
|
|||
---|---|---|---|
Удалить в ячейке строки начиная со второй |
|||
#18+
ругается потому что строк таких нет вот вам с проверкой Sub test() On Error GoTo error_test Dim j& For i = Cells(Rows.Count, "A").End(xlUp).Row To 1 Step -1 j = InStr(1, Cells(i, 1).Text, Chr(10)) Cells(i, 1) = Mid(Cells(i, 1).Text, 1, j - 1) Next i Exit Sub error_test: MsgBox ("Ячеек для преобразования не обнаружено") End Sub ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.10.2010, 14:55
|
|||
---|---|---|---|
Удалить в ячейке строки начиная со второй |
|||
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.10.2010, 15:29
|
|||
---|---|---|---|
Удалить в ячейке строки начиная со второй |
|||
#18+
ZeratAndreTMВ смысле "не можете определить"? Вы же код примерно уже написАли... Можно так: Код: plaintext 1. 2.
Но здесь же у Вас нет операции удаления второй и последующих строк в ячейке? Вы пробовали тестировать этот код? Хотя бы поняли, что он делает? Если непонятно - скажу: для каждой ячейки содержимое переписывается в массив (a(0) = первая строка, a(1) = вторая, a(2) = третья и т.д.), при этом обращение к этому массиву без указания индекса возвращает первое значение (a(0)), то есть только нужную нам первую строку, которую мы и записываем обратно в ячейку. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.10.2010, 20:51
|
|||
---|---|---|---|
|
|||
Удалить в ячейке строки начиная со второй |
|||
#18+
AndreTM, R Dmitry, спасибо. В итоге оба варианта работают. AndreTM, я Ваш код действительно не запускал. Думал что Вы его не дописали. Но запустил и понял, что работает. И еще спасибо за объяснения. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.11.2018, 08:48
|
|||
---|---|---|---|
|
|||
Удалить в ячейке строки начиная со второй |
|||
#18+
ZeratAndreTM, R Dmitry, спасибо. В итоге оба варианта работают. AndreTM, я Ваш код действительно не запускал. Думал что Вы его не дописали. Но запустил и понял, что работает. И еще спасибо за объяснения. Ребят что-то не работают у меня эти коды или руки кривые, верней работает код который оставляет вторую строку пустой.... но она мешает... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=61&tablet=1&tid=2172208]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
47ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 321ms |
total: | 466ms |
0 / 0 |