Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
2 / 2 / 0
Регистрация: 17.02.2013
Сообщений: 73

Проблемы с повторами

06.10.2013, 19:07. Показов 630. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте у меня есть столбец "A" со значениями вот такого примера:

раз два три
три два раз
два три раз
раз два три четыре
раз два

нужно что бы на выходе удалились строки с повторными ключевыми словами, что бы осталось

раз два три
три два раз

Помогите начинающему
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.10.2013, 19:07
Ответы с готовыми решениями:

Помогите разобраться с повторами в таблице
Объясните пожалуйста! Собираю очень большую базу данных организаций (более 100тыс.) Как проверить по названию организации нет ли подобной...

Борьба с повторами
Помогите пожалуйста со следующим, есть БД на Access для учета корреспонденции, в ней есть таблицы за каждый год (Регистрация...

Нумерация ячеек с повторами
помогите написать формулу для нумерации строк например 1 1 1 1 1 2 2 2

3
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
06.10.2013, 20:47
Попробуйте вот так:
Кликните здесь для просмотра всего текста
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Sub StrangeProblem()
   Dim mARR(), i&
   mARR = Range("A1", Cells(Rows.Count, "a").End(xlUp)).Value
   ReDim Preserve mARR(1 To UBound(mARR, 1), 1 To 2)
      For i = LBound(mARR, 1) To UBound(mARR, 1)
         mARR(i, 2) = mARR(i, 1)
         mARR(i, 1) = Application.Trim(Split(mARR(i, 1))(0))
      Next 'i
   [d1].Resize(UBound(mARR, 1), UBound(mARR, 2)).Value = mARR
   [d1].CurrentRegion.RemoveDuplicates 1, xlNo
   Columns("d:d").Delete
End Sub

И это не единый возможный вариант!
И результат у меня почему-то не
раз два три
три два раз

а
раз два три
три два раз
два три раз


Добавлено через 46 минут
Забыл сказать и предупредить. Если нужно на то-же место, тогда замените [d1] на [a1]. Это я "сказал"
При этом коде удаляются строки в пределах ст. a:b. Потом еще и удалится ст.a целый. Это я "предупредил". Если там у Вас есть другие данные - некоторые удалятся, другие могут сместиться. Что б этого не было - лучше использовать scripting.dictionary. Все останется, как в глухих джунглях. Сами, или сделать?
0
Эксперт NIX
3305 / 933 / 201
Регистрация: 14.01.2013
Сообщений: 4,773
08.10.2013, 07:39
Цитата Сообщение от maakkss Посмотреть сообщение
нужно что бы на выходе удалились строки с повторными ключевыми словами, что бы осталось

раз два три
три два раз
Так ключевые слова то те же. Только порядок написания другой.

Чтобы реализовать задуманное, надо определить эталонный порядок и сравнивать с ним. Все слова по отдельности загнать в массив и оперировать в дальнейшем индексами элементов этого массива.
0
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
08.10.2013, 09:42
Через dictionary это все просто:
Кликните здесь для просмотра всего текста
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Sub v2StrangeProblem()
Dim mARR(), i&
   mARR = Range("A1", Cells(Rows.Count, "a").End(xlUp)).Value
   With CreateObject("scripting.dictionary")
      For i = LBound(mARR) To UBound(mARR)
         mstr = Split(Application.Trim(mARR(i, 1)), Space(1))(0)
         If Not .exists(Split(Application.Trim(mARR(i, 1)), Space(1))(0)) Then
            .Add Split(Application.Trim(mARR(i, 1)), Space(1))(0), mARR(i, 1)
         End If
      Next 'i
      mARR = .items
   End With
   Range("A1", Cells(Rows.Count, "a").End(xlUp)).ClearContents
   [a1].Resize(UBound(mARR) + 1, 1).Value = Application.Transpose(mARR)
End Sub

Все вокруг не будет меняться. Только нужно четко знать диапазон. Это не обязательно вот так:
Range("A1", Cells(Rows.Count, "a").End(xlUp)).Value

Добавлено через 25 минут
Забыл!!! Опять!!! Можно через Collection. Но тогда результаты нужно вытягивать через цикл For each....next.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.10.2013, 09:42
Помогаю со студенческими работами здесь

Изменение массива с повторами
Здравствуйте. Скажите, пожалуйста, как решить такую задачу есть массив с элементами,например, {4,7,9,4} нужно сделать новый массив с...

Подпрограммы: подсчет числа перестановок с повторами
помогите пожалуйста в делфи 7 написать программу с использованием подпрограмм

МФУ Samsung SCX-4200 печтает с повторами, шаг 75,5 мм
Здравствуйте, подскажите пожалуйста, купил новый оригинальный картридж с рук, Samsung SCX-4200A, возможно он валялся черт знает где 10 лет,...

(Моделирование системы массового обслуживания с параллельными каналами обслуживания с повторами)
Помогите написать программу Рассмотрим систему массового обслуживания с заданным числом устройств обслуживания п= 5, действующих...

Система массового обслуживания с параллельными каналами обслуживания с повторами
Всем доброго времени суток. Прошу вашей помощи в следующей задаче (Нет, не очередной ловец халявы: я уже попытался написать код, но мой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ документа "ВыдачаОборудованияНаСпецтехнику" в. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru