Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Microsoft Office и VBA > Microsoft Office Word
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 14.04.2019, 18:17   #1
Normir
 
Регистрация: 09.03.2017
Сообщений: 5
Репутация: 10
По умолчанию выделение строки согласно столбцу справа

Есть файл с тестами где
Слева вопрос с вариантами ответа (под номерами)
Справа сам ответ (под номером)
Нужно выделить вариант(неважно цветом или полужирным) согласно ответам справа.
Изображения
Тип файла: jpg Аннотация 2019-04-14 191324.jpg (87.2 Кб, 1 просмотров)
Normir вне форума   Ответить с цитированием
Старый 14.04.2019, 19:53   #2
Казанский
Профессионал
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,124
Репутация: 938
По умолчанию

Normir, приложите файл-пример. Решение зависит от того, как сделана нумерация и разбивка на строки во втором столбце.
__________________
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума   Ответить с цитированием
Старый 14.04.2019, 20:41   #3
Normir
 
Регистрация: 09.03.2017
Сообщений: 5
Репутация: 10
По умолчанию

Вот
Вложения
Тип файла: doc Itogovye_testy.doc (662.0 Кб, 1 просмотров)
Normir вне форума   Ответить с цитированием
Старый 15.04.2019, 15:39   #4
Казанский
Профессионал
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,124
Репутация: 938
По умолчанию

Пробуйте. Нумерация в части ячеек отсутствует, в этом случае поиск нужного абзаца производится по другим критериям. Часть ячеек придется подправить, макрос их выделяет.
Код:

Sub No()
Dim n&, i&, m&, t As Table, r As Range
  For Each t In ActiveDocument.Tables
    For i = 1 To t.Rows.Count
      n = Val(t.Cell(i, 3).Range.Text)
      If n Then
        Set r = t.Cell(i, 2).Range
        If r.Find.Execute("^p" & n & ".", , , False) Then      'знак абзаца, число, точка
          r.MoveStart wdCharacter, 1
          r.Paragraphs(1).Range.Font.Bold = True
        ElseIf r.Find.Execute("...^p") Then 'три точки, знак абзаца
          r.Move wdParagraph, n
          r.Paragraphs(1).Range.Font.Bold = True
        ElseIf r.Find.Execute(":^p") Then   'двоеточие, знак абзаца
          r.Move wdParagraph, n
          r.Paragraphs(1).Range.Font.Bold = True
        Else
          r.Shading.BackgroundPatternColor = wdColorYellow
          m = m + 1
        End If
      End If
    Next
  Next
  If m Then
    MsgBox "Ячеек с невыделенными строками: " & m & vbLf & "Они выделены желтым.", vbExclamation
  Else
    MsgBox "Обработка закончена", vbInformation
  End If
End Sub

__________________
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума   Ответить с цитированием
Старый 15.04.2019, 20:39   #5
Normir
 
Регистрация: 09.03.2017
Сообщений: 5
Репутация: 10
По умолчанию

Абалдеть, спасибо большое !!! ВЫ прям волшебник !!!
Normir вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Заполнить вектор (или дек) на основе заданной строки согласно условию - C++ makroys Общие вопросы C/C++ 3 23.11.2017 19:41
TEdit выделение справа налево xrob Компоненты Delphi 3 24.08.2013 10:42
как сделать меню справа и чтоб можна было статью писать справа? HTML pufystyj HTML и CSS 7 26.02.2011 15:11
Заполнение строки StringGrid согласно условию Kserken Помощь студентам 0 28.11.2010 14:39
Заполнение строки StringGrid согласно условию Kserken Общие вопросы Delphi 1 28.11.2010 13:25


06:34.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru