Добрый день форумчане! Возник вопрос и сам ни как не могу с ним справиться. Есть таблица в которую попадают данные (числа) из формы. В одну ячейку может попасть одно число, а могут попасть несколько чисел разделенных запятой и пробелом. Задача: В форму вводится число, которое нужно найти в столбце, удалить эту ячейку (строку) - с этим ясно, а если в ячейке, где находится это число, несколько чисел, то удалить число с запятой после числа и пробел (если число вначале или в середине списка чисел) или число с пробелом и запятой перед числом (если число в конце списка чисел) и выделить эту ячейку - вот с этим вопрос.
Удаление в ячейке части текста, заданной из формы
10.10.2019 13:23:43
|
|
|
|
10.10.2019 14:16:49
Полностью согласен с Kuzmich, тоже собирался это написать.
ИМХО, решение Вашей проблемы лежит в области регулярных выражений: З.Ы. Не забудьте, что у Вас совпадение может встречаться в нескольких ячейках. З.З.Ы. Нужно обдумать контроль, чтобы не вбить случайно в поиск одно-два числа коротких числа и не запороть всю таблицу.
Я не волшебник, я только учусь.
|
|
|
|
10.10.2019 14:36:21
Спасибо, буду пробовать.
|
|
|
|
10.10.2019 14:47:24
Вроде бы всё работает как надо. Строчки с MsgBox можно закомментить, чтобы не отвлекали.
Изменено:
Я не волшебник, я только учусь.
|
|
|
|
10.10.2019 15:09:27
Wiss, Большое спасибо, сейчас протестирую, отпишусь.
|
|
|
|
10.10.2019 15:58:12
Точно будет косяк, если в ячейке будет написано «искомыйТекст, искомыйТекст», то есть если в ячейке будет только искомое слово, причём 2 раза. Поправить сейчас возможности нету.
Я не волшебник, я только учусь.
|
|
|
|
10.10.2019 15:58:18
Wiss, Работает так как надо при определенном диапазоне, но если строк в таблице будет больше, понимаю, хоть я не специалист, что надо заменить.Range("A2:A16") в строчке For Each c In ActiveSheet.Range("A2:A16"), но на что, ни как не соображу. Извиняюсь, что-то совсем затупил.
|
|
|
|
10.10.2019 17:40:32
|
||||
|
|
|||