|
Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2010 - Извлечение ключевых сущностей используя VBA |
|
2010 - Извлечение ключевых сущностей используя VBA
|
Ветеран Сообщения: 580 |
Тело текста - это названия продуктов из чека (GOODS_NAME)
Я хочу сгруппировать любые похожие слова. суть в том, что некоторые фразы имеют однокоренные слова и как бы ключевые слова. Например вот документе слово Макаронные изделия Макфа улитки флоу-пак 450 г. и подобное ему Я нашел 7 строк с Макароны макфа Макароны макфа Макароны макфа Макароны макфа Макароны макфа Макароны макфа Макароны макфа (иногда транслит makfa, pechenie) Я вручную нашел слова, у который похожие корни если я делаю так, т.е. вложенный цикл для проверки уникальных / дублированных элементов., то получаю ошибку компиляции for lRow = 1 to lLastRow sString1 = range("A" & lrow).value bFlag = false for lRow2 = lrow+1 to lLastRow sString2 = range("A" & lrow2).value if sstring1 = sstring2 then bflag = true 'values match 'do something with matching values exit for end if next lrow2 next lrow При этом я понимаю, что идеального кода тут и быть не может, т.е. как Я он не сделает, ну хотя бы приблизительно. |
|
Отправлено: 13:28, 18-09-2018 |
Динохромный Сообщения: 703
|
Профиль | Отправить PM | Цитировать Цитата r-studio:
Цитата r-studio:
Цитата r-studio:
А решения, обсуждавшиеся на форуме раньше, под вашу задачу не подходят? |
|||
------- Отправлено: 22:48, 18-09-2018 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 580
|
Профиль | Отправить PM | Цитировать a_axe,
Option Explicit Public Sub FindDuplicates() Dim lRow As Long Dim lRow2 As Long Dim lLastRow As Long Dim sString As Long 'This use of capitalisation is called 'camel case' - and is good for lots of reasons ' using lots of comments like this helps you to understand your code later lastrow = ActiveSheet.UsedRange.Rows.Count For lRow = 1 To lLastRow sstring1 = ActiveSheet.Range("A" & lRow).Value If sstring1 <> "" Then 'cell is not blank - proceed with test For lRow2 = lRow + 1 To lLastRow sstring2 = Range("A" & lRow2).Value If sstring1 = sstring2 Then bflag = True 'values match 'do something with matching values ActiveSheet.Range("A" & lRow2).Interior.ColorIndex = 3 'mark cells with red background fill 'you could also activesheet.range("A" & lrow2).clearcontents 'to delete values End If Next lRow2 End If Next lRow If bflag = False Then MsgBox ("no duplicate values found") End Sub Цитата a_axe:
1. А можно ли сделать в алгоритме сличение, например, говоря бытовым языком, не является ли транслит в данном случае MAKFA МАКФОЙ 2. Макар и Макароны, ну тут по корню, Цитата a_axe:
Цитата a_axe:
твор деревен творог дер твор дереве итак далее тво + дер тут ключевое твор а также колбаса деревен колб деревен колб дер колбас дере и так далее т.е. для таких фраз надо увидеть ключевое колб+дер это можно сделать? Цитата a_axe:
Цитата a_axe:
исходные данные миллионы строк в txt C:/чек.txt он оттуда должен брать, т.е. я создам эксель файл, помещу туда код макроса, а он уже будет работать с текстовым файлом там (текстовый)и должна появится колонка тип товара , а сам файл, уже буду в sql импортировать при том, безупречного определения я не жду. |
|||||
Последний раз редактировалось r-studio, 15-10-2018 в 12:18. Отправлено: 12:53, 19-09-2018 | #3 |
Динохромный Сообщения: 703
|
Профиль | Отправить PM | Цитировать r-studio, опция
Цитата r-studio:
lastrow у вас не описана (вместо этого - похожая переменная Dim lLastRow As Long), sstring1 и sstring2 тоже (должны быть - as string, у вас похожая переменная почему-то Dim sString As Long). На это и ругается excel. |
|
------- Отправлено: 13:39, 19-09-2018 | #4 |
Ветеран Сообщения: 580
|
Профиль | Отправить PM | Цитировать a_axe, Как мне правильно составть код исходя из тех требований, что я описал постом выше? Сможете помочь?
|
|
Отправлено: 14:17, 19-09-2018 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать r-studio, перед тем как составлять код, правильно или неправильно, попробуйте сформулировать алгоритм. Я его тут не вижу.
|
Отправлено: 14:53, 19-09-2018 | #6 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Твиттер планирует внедрить фильтр ключевых слов | OSZone News | Новости информационных технологий | 0 | 28-08-2016 16:30 | |
2012 R2 - Запуск и работа Excel VBA используя службу Windows и Power Shell | Mor940k | Windows Server 2012/2012 R2 | 0 | 12-04-2016 12:26 | |
Apple может лишиться нескольких ключевых патентов | OSZone News | Новости информационных технологий | 1 | 10-12-2012 18:13 | |
iPhone vs. Android: пять ключевых различий | OSZone News | Новости информационных технологий | 0 | 03-07-2010 20:30 | |
Доступ - создание ключевых слов к файлу для поиска | Sparkster | Microsoft Windows Vista | 9 | 23-10-2007 03:36 |
|