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

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

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

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 13.07.2017, 17:11   #1
Ivan2010
Пользователь
 
Регистрация: 23.07.2010
Сообщений: 10
По умолчанию не работает функция Function Duplication

Добрый день.
Нужна помощь, перестала работать Function Duplicatio в макросе.
Кто-нибудь сможет мне помочь?
Ivan2010 вне форума Ответить с цитированием
Старый 13.07.2017, 17:38   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,260
По умолчанию

Цитата:
Сообщение от Ivan2010 Посмотреть сообщение
Нужна помощь, перестала работать Function Duplicatio в макросе.
что такое " Function Duplicatio" ?
это какой-то самописный макрос?
Ну тогда приводите код макроса и пример книги (тестовый файл), где этот макрос перестал работать.

Кроме того, "перестала работать " после чего? Само?
или после каких-то изменений/событий?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 13.07.2017, 19:14   #3
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 2,870
По умолчанию

Наверное мощный макрос раз человек решил после 7 лет молчания написать сюда.
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 13.07.2017, 20:59   #4
IgorGO
МегаМодератор
СуперМодератор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,318
По умолчанию

Ivan2010,
а помочь Вам сможет тот, у кого есть или будет исходный код функции и он сможет у себя на компьютере воспроизвести туже проблему, которая заставила Вас сюда написать.
по данным которые есть в наличии в этой теме - пока, видимо, никто не сможет.
41001804815208 - Яндекс-деньги благодарности за удачные советы и решения можно отправлять прямо сюда)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 14.07.2017, 10:46   #5
Ivan2010
Пользователь
 
Регистрация: 23.07.2010
Сообщений: 10
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
Ivan2010,
а помочь Вам сможет тот, у кого есть или будет исходный код функции и он сможет у себя на компьютере воспроизвести туже проблему, которая заставила Вас сюда написать.
по данным которые есть в наличии в этой теме - пока, видимо, никто не сможет.
Добрый день.
Приложил два файла один с кодом, другой файл Pre-alert Красноярск, откуда собственно и запускается данный код.
После запуска создается два файла, DMD_1 и DMD_cons. Куда обрабатывается вся информация из Pre-alert Красноярск по датам. Данные из листа MAWB падают в DMD_1, с листа CN в DMD_cons.
Если запустить код повторно из файла Pre-alert Красноярск с теми же данными, то он обработается повторно, что не должно быть. Должно выдать сообщение, что данные пре-алерт уже обработан. Ну это почему то перестало работать.
Функция определяла, если данные уже обработаны в DMD_1, то выскакивало предупреждение что “данные пре-алерт уже обработан “
Вложения
Тип файла: xls Книга1.xls (90.5 Кб, 20 просмотров)
Тип файла: xls Pre-alert Красноярск 27.06.17 DMD.xls (52.0 Кб, 18 просмотров)
Ivan2010 вне форума Ответить с цитированием
Старый 14.07.2017, 11:13   #6
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 2,870
По умолчанию

Цитата:
Сообщение от Ivan2010 Посмотреть сообщение
перестала работать Function Duplicatio в макросе
имхо, не может работать то чего нету
Изображения
Тип файла: jpg ATT.jpg (94.4 Кб, 124 просмотров)
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 14.07.2017, 11:22   #7
Ivan2010
Пользователь
 
Регистрация: 23.07.2010
Сообщений: 10
По умолчанию

Понятно, можно это как то восстановить?
А то очень неудобно работать без данной функции.
Функция сверяла обработанные данные в DMD_1, по номеру перевозочного документа.
Ivan2010 вне форума Ответить с цитированием
Старый 14.07.2017, 11:23   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,260
По умолчанию

Цитата:
Сообщение от Ivan2010 Посмотреть сообщение
Функция определяла, если данные уже обработаны в DMD_1, то выскакивало предупреждение что “данные пре-алерт уже обработан “
Есть такое.

Код:
Const PREDEFINED_DUPLICATION_NOTIFY_MSG = "Данный пре-алерт уже обработан."
а проверяется это в функции ROI_Data_Duplication:

Код:
Function ROI_Data_Duplication(WBName, WSName, Data_Paste_Row, Pre_Alert_Data As ROI_PreAlertData_Type)

    Dim i
    i = PREDEFINED_FIRST_DATA_ROW
    
    While i < Data_Paste_Row
        If ((Workbooks(WBName).Worksheets(WSName).Cells(i, 1).Value = Pre_Alert_Data.From_Name) And _
            (Workbooks(WBName).Worksheets(WSName).Cells(i, 2).Value = "`" + Pre_Alert_Data.AWB_No) And _
            (Workbooks(WBName).Worksheets(WSName).Cells(i, 3).Value = "`" + Pre_Alert_Data.Total_Weight) And _
            (Workbooks(WBName).Worksheets(WSName).Cells(i, 4).Value = Pre_Alert_Data.Total_Pieces) And _
            (Workbooks(WBName).Worksheets(WSName).Cells(i, 5).Value = "`" + Pre_Alert_Data.Seal_No) And _
            (Workbooks(WBName).Worksheets(WSName).Cells(i, 6).Value = Pre_Alert_Data.Cargo_Description)) Then
            ROI_Data_Duplication = True
            Exit Function
        End If
        i = i + 1                       ' Increment Counter.
    Wend
    
    ROI_Data_Duplication = False
    
End Function
нужно идти в отладку и смотреть, какое из условий не выполняется и почему это происходит.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 14.07.2017, 11:31   #9
Ivan2010
Пользователь
 
Регистрация: 23.07.2010
Сообщений: 10
По умолчанию

Вы мне сможете помочь ?
Ivan2010 вне форума Ответить с цитированием
Старый 14.07.2017, 11:45   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,260
По умолчанию

Цитата:
Сообщение от Ivan2010 Посмотреть сообщение
Вы мне сможете помочь ?
в принципе - могу, наверное.

но
1) у меня ваш скрипт, разумеется, не запускается (нет нужных файлов).
2) я не знаю, что это скрипт должен делать и что он делает

у Вас есть все нужные файлы.
у Вас скрипт запускается и работает.
Вы знаете, что нужно получить в итоге.

поэтому, я бы рекомендовал Вам перейти в редактор кода (Alt-F11)
найти там функцию ROI_Data_Duplication
поставить точку останова и выполнить скрипт повторно (т.е. там, где он уже должен написать "Данный пре-алерт уже обработан."
в точке останова посмотреть, чем равны значения ячеек и соответствующие им поля в Pre_Alert_Data
увидеть, где же разница.
исходя из этого уже действовать дальше.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает функция mazanakee Visual C++ 0 22.02.2015 19:20
функция- pure function goshek Python 6 14.03.2014 09:11
Sendmail работает, функция mail() работает, но есть проблема. PavelNAndreev PHP 8 27.01.2014 11:45
Не работает функция artem611 Паскаль, Turbo Pascal, PascalABC.NET 3 11.04.2011 09:10
не работает функция Benderbej JavaScript, Ajax 2 30.08.2010 17:54


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS