Страница 1 из 2

Подсчет символов макросом

Добавлено: 19 мар 2013, 18:44
АртурПапа
Доброго времени суток. Нужен несложный макрос.

Есть таблица excel.

В столбце 17 должно выводится количество буквенных латинских символов из столбца один - (то есть подсчет ячейки R3C1 и вывод количество в R3C17, из R4-11C1 в R4-11C17 и так далее). Подсчитывать надо все латинские символы (включая ä ö ü ß), исключая все знаки препинания и пробелы (среднее количество символов - до 20, максимум 50-60). Причем это должна быть не кнопка, а автоматическое действие - то есть, как только я ввожу несколько букв в столбец №1 и нажимаю enter, в 17м столбце выводится рассчитывает кол-во заданных буквенных символов. Список исключений:
"ei", "eu", "äu", "au", "ch", "ck", "sch", "tsch", "ie", и все удвоенные гласные и согласные типа "aa" или "mm" считать за один символ. Список исключений желательно включить, но самое важное условие, чтобы расчет делался автоматически и никаких кнопок не было.
Там в таблице около пятиста таких строк, и вручную все это считать, сами понимаете, не удобно.

[ATTACH]1606[/ATTACH]

Кто сделает, буду бесконечно благодарен. Пишу диссертацию, в программировании не силён.

Re: Подсчет символов макросом

Добавлено: 19 мар 2013, 20:22
pashulka
При подсчёте количества символов в слове teacher , по Вашим требованиям, результат должен быть 5 (с учётом исключения "ch"), 6 или 7 (что маловероятно) ?

Учитывая, что планируется подсчитывать, в т.ч. и такие символы, как ä ö ü ß может быть Вы сами составите перечень всех символов подсчёта, исключения и т.п. в виде таблицы, и выложите на форуме в виде .XLS файла (Excel 97-2003)

Re: Подсчет символов макросом

Добавлено: 20 мар 2013, 23:19
АртурПапа
Добавил приложение в текстовом блокноте. (загрузка вложения в формате excel не поддерживается)
Да, то есть все символы приведенные в списке считать за один. могут быть заглавные буквы и прописные.

Re: Подсчет символов макросом

Добавлено: 20 мар 2013, 23:41
pashulka
Можно сжимать архиваторами Zip, Rar и публиковать уже архив.

Собственно, Вы так и не сказали, сколько символов, по Вашим требованиям, должно быть в слове "teacher" а это важно, если, например, 5-ть t[1]e[2]a[3]ch[4]e[повтор]r[5] , то наличие сдвоенных/строенных можно просто "игнорировать", ибо всё равно будет считаться только один символ.

Re: Подсчет символов макросом

Добавлено: 22 мар 2013, 18:28
АртурПапа
Прошу прощения, за несвоевременный ответ. Каждый символ считать отдельно.
Т.е. в слове teacher 6 символов :
t 1
e 2
a 3
ch 4
e 5
r 6

Re: Подсчет символов макросом

Добавлено: 22 мар 2013, 19:10
pashulka
Можно попробовать следующий вариант, разумеется, подумав над порядком расположения символов-исключения.

Re: Подсчет символов макросом

Добавлено: 23 мар 2013, 22:30
АртурПапа
Выражаю вам благодарность. А вы не могли бы этот макрос вписать в мой файл [текст берется из первого столбца, а кол-во символов выводится в 17й] (я не смог разобраться как правильно записать адреса ячеек в моем случае).

B еще, возможно ли так сделать, чтобы можно было копировать несколько ячеек сразу в столбик, просто я пытаюсь сделать это в вашем файле, выводится сообщение: Необходимо изменять данные только в одной ячейке
А хотелось бы чтобы можно было большими объемами вставлять информацию для обработки.

Спасибо за ваше время.

Re: Подсчет символов макросом

Добавлено: 23 мар 2013, 23:15
pashulka
Сообщение и ограничение на ввод данных в одну ячейку - созданы мною искусственно, в т.ч. и как защита от вставки информации большими об'емами, но ежели Вы хотите от этого ограничения избавиться, то см. пример

Да, и если мне не изменяет память, то в Excel 2007/и старше/ файл, содержащий макросы, должен иметь расширение не .xlsx , а .xlsm так что опубликованный пример нужно сохранить как 'книга с поддержкой макросов' или что-то типо того :)

Re: Подсчет символов макросом

Добавлено: 24 мар 2013, 15:22
pashulka
Артур, Рекомендую скачать обновлённый пример, который наличествует в предыдущем посте.

Re: Подсчет символов макросом

Добавлено: 24 мар 2013, 18:19
АртурПапа
Большое вам спасибо, обновил, а в чем собственно разница?