Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.11.2019, 23:55   #1
Rerik4
Новичок
Джуниор
 
Регистрация: 22.11.2019
Сообщений: 1
По умолчанию Удаление повторяющихся строк в Word таблице

Здравствуйте!

Очень нужна помощь!
Есть экселевский файл с таблицами и формой и вордовский шаблон (Office 2010).
Форма нужна для заполнения еще одной таблицы на листе, а также создания на основе шаблона вордовского документа с данными из формы и таблиц.
В этом документе к таблице 2 добавляются строки, которые в большинстве случаев будут содержать повторяющиеся значения. Необходимо оставить только уникальные записи.
В Интернете нашел пару работающих рецептов, которые не заработали в составе моего макроса.
Например:
Код:
  Dim oTable As Table
            Dim oRow As Range
            Dim oNextRow As Range
            Dim i As Long

          ' Specify which table you want to work on.
          Set oTable = wdDoc.Tables(2)
        
          ' Set an object variable to the first row.
          Set oRow = oTable.Rows(2).Range
        
          For i = 2 To oTable.Rows.Count - 1
        
              ' Set an object variable to the next row.
              Set oNextRow = oRow.Next(wdRow)
        
              ' Compare the text in the first column of the two rows.
              If oRow.Cells(2).Range = oNextRow.Cells(2).Range Then
                  ' If text is identical, delete the second row
                  oNextRow.Rows(1).Delete
              Else
                  ' If not identical, move to the next row.
                  Set oRow = oNextRow
              End If
        
          Next i
Я поменял только имя документа на wdDoc и номер колонки с 1й на 2ю.
При этом, если сохранить этот код как отдельный макрос и запустить в получившемся документе, то все срабатывает.
Еще одни момент: в составе моего макроса содержимое переменной oRow оказывается равным Nothing, а если код запускать как самостоятельный макрос, то происходит ее заполнение.
Извините за сумбурное объяснение и корявый код и форму -- я в этом деле чайник.
Чтобы в таблице 2 появились повторяющиеся значения нужно на форме выбрать в "Типе продукции", например, "показатели безопасности" и потом в списке "Показатели" кадмий, мышьяк, свинец.
Вложения
Тип файла: zip rem_dup.zip (181.5 Кб, 11 просмотров)
Rerik4 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MS sql Удаление повторяющихся строк Roman Huskar SQL, базы данных 5 21.09.2016 14:24
Удаление строк в таблице Word jus_de C# (си шарп) 0 17.11.2014 11:11
Удаление повторяющихся строк из таблицы в SQL II_Dimit_II БД в Delphi 9 31.05.2013 02:48
удаление повторяющихся строк из другого файла ilbox Microsoft Office Excel 3 01.04.2012 17:48
Удаление пустых и повторяющихся строк Marsel737 Общие вопросы Delphi 5 03.12.2009 00:58