|
Макрос выделения колонок в разных таблицах и замены значений
|
|||
---|---|---|---|
#18+
Есть Word документ с таблицами. Начиная с 5 таблицы и до конца документа, таблицы (а их может быть от одной до четырёх) содержат колонки с заголовком "V". Нужно выделить все такие колонки и заменить в них текст "Да" на "V", "Нет" на "". В написании макросов пока нулевой, нашел только как двумя способами выделять 1 колонку в 5 таблице и то без поиска по заголовку "V", а с указанием номера таблицы. Код: vbnet 1. 2. 3. 4. 5. 6.
Код: vbnet 1. 2. 3. 4. 5.
Не получается выделить остальные колонки в последующих таблицах, содержащих заголовок "V" ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2016, 09:30 |
|
Макрос выделения колонок в разных таблицах и замены значений
|
|||
---|---|---|---|
#18+
ypmailНачиная с 5 таблицы и до конца документа ypmail Код: vbnet 1.
Сначала убедитесь, что в коллекции Tables элементы сортированы именно по порядку отображения их в тексте. Я на самом деле не вижу пока гарантий, что Tables(5) - это именно пятая ПО ТЕКСТУ. Доступ к последующим таблицам (если удастся доказать, что всё-таки положение при отображении и номер в коллекции коррелируют) легко обеспечивается обращением к Tables(i) с постепенным увеличением i и обработкой ошибки. Поиск нужного заголовка можно выполнить как методом Find, так и простым сканированием Value ячеек первой строки таблицы. Зная номер таблицы и колонки, легко выделить всю колонку и применить к ней Replace. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2016, 10:45 |
|
Макрос выделения колонок в разных таблицах и замены значений
|
|||
---|---|---|---|
#18+
AkinaСначала убедитесь, что в коллекции Tables элементы сортированы именно по порядку отображения их в тексте. Я на самом деле не вижу пока гарантий, что Tables(5) - это именно пятая ПО ТЕКСТУ. Задать поиск таблиц, первые колонки которых содержат заголовок "V"? Дальше я уже завис... Доступ к последующим таблицам (если удастся доказать, что всё-таки положение при отображении и номер в коллекции коррелируют) легко обеспечивается обращением к Tables(i) с постепенным увеличением i и обработкой ошибки. Поиск нужного заголовка можно выполнить как методом Find, так и простым сканированием Value ячеек первой строки таблицы. Зная номер таблицы и колонки, легко выделить всю колонку и применить к ней Replace. Tables(i) уже не подойдет, т.к. мы первым шагом уйдем от номеров таблиц. Вот интересно, я мышкой могу выделить столбец первой таблицы, потом с CTRL второй и так до конца документа, но при записи макроса мышь недоступна. Жаль, что нельзя указать сразу Tables(5, 6, 7, 8) разом выделить в них Column(1) и заменить текст в ячейках. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2016, 11:15 |
|
Макрос выделения колонок в разных таблицах и замены значений
|
|||
---|---|---|---|
#18+
ypmail, файл-пример приложите. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2016, 13:14 |
|
Макрос выделения колонок в разных таблицах и замены значений
|
|||
---|---|---|---|
#18+
Казанскийypmail, файл-пример приложите. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2016, 13:40 |
|
Макрос выделения колонок в разных таблицах и замены значений
|
|||
---|---|---|---|
#18+
ypmail, пробуйте Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2016, 14:12 |
|
Макрос выделения колонок в разных таблицах и замены значений
|
|||
---|---|---|---|
#18+
Казанский, Спасибо, всё работает! Не подскажете, где почитать, чтобы понять, что означает каждая строка в этом коде? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2016, 14:22 |
|
Макрос выделения колонок в разных таблицах и замены значений
|
|||
---|---|---|---|
#18+
ypmail, можно Справку почитать - ставьте курсор в интересующее слово, напр. "For", "Cell" и нажимайте F1. Или вот: http://www.cyberforum.ru/vba/thread432513.html ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2016, 14:57 |
|
|
start [/forum/topic.php?fid=61&fpage=39&tid=2173218]: |
0ms |
get settings: |
12ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
68ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 286ms |
total: | 456ms |
0 / 0 |