|
Удалить в ячейке строки начиная со второй
|
|||
---|---|---|---|
#18+
Добрый вечер! Подскажите, пож-та, как будет выглядеть код VBA для удаления в ячейке всех строк начиная со второй. Строки разделены символом, к-й получается нажатием Alt+Enter. Допустим, что нужно обработать все ячейки столбца А. Нашел часть кода, по расщеплению содержимого ячейки с разделителем chr(10): Код: plaintext 1.
Но не знаю как определить вторую и следующие строки ячейки для удаления... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2010, 21:53 |
|
Удалить в ячейке строки начиная со второй
|
|||
---|---|---|---|
#18+
Zerat, Может так получится? http://icqrobot.ru/Archer/2010_09_29/page_0102.html ставим признак Символ разделитель - Новая строка, а потом удалим ненужные столбцы и обрано собирем два столбца. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2010, 22:43 |
|
Удалить в ячейке строки начиная со второй
|
|||
---|---|---|---|
#18+
В смысле "не можете определить"? Вы же код примерно уже написАли... Можно так: Код: plaintext 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2010, 23:05 |
|
Удалить в ячейке строки начиная со второй
|
|||
---|---|---|---|
#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 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2010, 23:41 |
|
Удалить в ячейке строки начиная со второй
|
|||
---|---|---|---|
#18+
AndreTMВ смысле "не можете определить"? Вы же код примерно уже написАли... Можно так: Код: plaintext 1. 2.
Но здесь же у Вас нет операции удаления второй и последующих строк в ячейке? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2010, 07:08 |
|
Удалить в ячейке строки начиная со второй
|
|||
---|---|---|---|
#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, 07:33 |
|
Удалить в ячейке строки начиная со второй
|
|||
---|---|---|---|
#18+
Zerat, Cells(i, 1) = Mid(Cells(i, 1).Text, 1, InStr(1, Cells(i, 1).Text-1, Chr(10))) замените эту строку должно помочь ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2010, 09:32 |
|
Удалить в ячейке строки начиная со второй
|
|||
---|---|---|---|
#18+
Cells(i, 1) = Mid(Cells(i, 1).Text, 1, InStr(1, Cells(i, 1).Text, Chr(10)) - 1) :) Не там -1 поставил, эта строка верная ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2010, 09:36 |
|
Удалить в ячейке строки начиная со второй
|
|||
---|---|---|---|
#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, 13:53 |
|
Удалить в ячейке строки начиная со второй
|
|||
---|---|---|---|
#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:27 |
|
Удалить в ячейке строки начиная со второй
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2010, 14:55 |
|
Удалить в ячейке строки начиная со второй
|
|||
---|---|---|---|
#18+
ZeratAndreTMВ смысле "не можете определить"? Вы же код примерно уже написАли... Можно так: Код: plaintext 1. 2.
Но здесь же у Вас нет операции удаления второй и последующих строк в ячейке? Вы пробовали тестировать этот код? Хотя бы поняли, что он делает? Если непонятно - скажу: для каждой ячейки содержимое переписывается в массив (a(0) = первая строка, a(1) = вторая, a(2) = третья и т.д.), при этом обращение к этому массиву без указания индекса возвращает первое значение (a(0)), то есть только нужную нам первую строку, которую мы и записываем обратно в ячейку. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2010, 15:29 |
|
Удалить в ячейке строки начиная со второй
|
|||
---|---|---|---|
#18+
AndreTM, R Dmitry, спасибо. В итоге оба варианта работают. AndreTM, я Ваш код действительно не запускал. Думал что Вы его не дописали. Но запустил и понял, что работает. И еще спасибо за объяснения. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2010, 20:51 |
|
Удалить в ячейке строки начиная со второй
|
|||
---|---|---|---|
#18+
ZeratAndreTM, R Dmitry, спасибо. В итоге оба варианта работают. AndreTM, я Ваш код действительно не запускал. Думал что Вы его не дописали. Но запустил и понял, что работает. И еще спасибо за объяснения. Ребят что-то не работают у меня эти коды или руки кривые, верней работает код который оставляет вторую строку пустой.... но она мешает... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2018, 08:48 |
|
|
start [/forum/topic.php?fid=61&gotonew=1&tid=2172208]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
13ms |
get first new msg: |
9ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 293ms |
total: | 437ms |
0 / 0 |