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

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

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

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

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

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

поставить точку останова, как это?

Файл вложил.
Вложения
Тип файла: xlsx DMD_1.xlsx (10.6 Кб, 11 просмотров)
Ivan2010 вне форума Ответить с цитированием
Старый 14.07.2017, 12:00   #12
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Ivan2010 Посмотреть сообщение
поставить точку останова, как это?
открыть редактор и ткнуть левой кнопкой мышки туда, где у меня круглая красная точка:
breakpoint.png

потом перейти в нужный лист и запустить макрос.
выполнение остановится в указанной строке.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 14.07.2017, 12:51   #13
Ivan2010
Пользователь
 
Регистрация: 23.07.2010
Сообщений: 10
По умолчанию

Сделал, вроде все соответствует. Разницы не увидел.

Последний раз редактировалось Ivan2010; 14.07.2017 в 12:54.
Ivan2010 вне форума Ответить с цитированием
Старый 14.07.2017, 14:48   #14
Ivan2010
Пользователь
 
Регистрация: 23.07.2010
Сообщений: 10
По умолчанию

Я, конечно, не понимаю, может здесь чего-то не хватает?

' check duplication
Duplication = ROI_Data_Duplication(Destination_Fi le_Name, Destination_Sheet_Name, _
ROI_Data_Paste_Row_Calc(Destination _File_Name, Destination_Sheet_Name), _
Pre_Alert_Data)


If (Duplication = False) Then
' data paste
Msg = ROI_Data_Paste(Destination_File_Nam e, Destination_Sheet_Name, _
ROI_Data_Paste_Row_Calc(Destination _File_Name, Destination_Sheet_Name), _
Pre_Alert_Data)
Ivan2010 вне форума Ответить с цитированием
Старый 14.07.2017, 15:02   #15
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Ivan2010 Посмотреть сообщение
Сделал, вроде все соответствует.
нет, не соответствует.
не знаю, как и куда Вы смотрели.

но начиная с этой строчки уже не идёт:
Цитата:
Код:
(Workbooks(WBName).Worksheets(WSName).Cells(i, 3).Value = "`" + Pre_Alert_Data.Total_Weight) And
в таблице с третьем столбце написано "DMD" а сравнивается с Pre_Alert_Data.Total_Weight (это Общий вес груза, кг) и в этой переменной находится значение "`8,500".
Как Вы думаете, значение "DMD" совпадает со значением "`8,500" ?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 14.07.2017, 15:36   #16
Ivan2010
Пользователь
 
Регистрация: 23.07.2010
Сообщений: 10
По умолчанию

Да не совпадает. На сколько я знаю, на совпадение сверялся второй столбец, номер перевозочного документа. второй столбец совпадает, почему тогда не реагирует на совпадение.? Если даже удалить столбец DMD, все равно обрабатывает повторно.
Ivan2010 вне форума Ответить с цитированием
Старый 14.07.2017, 15:47   #17
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Ivan2010 Посмотреть сообщение
Да не совпадает. На сколько я знаю, на совпадение сверялся второй столбец
нет. там другая логика. только если совпадает
в точности
поле "Из" И "Перевозочный документ №" И "Место прибытия груза №" И "Общий вес груза, кг" И "Количество мест" И "Номера пломб" И "Рейс"
вот только тогда и считается, что идёт дублирование.

Если любое из этих условий не совпадает.
всё. считается что дублирования НЕТ!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 14.07.2017, 15:58   #18
Ivan2010
Пользователь
 
Регистрация: 23.07.2010
Сообщений: 10
По умолчанию

т.е нужно добавить в сравнение третий столбец "DMD"? Либо его не должно быть в таблице вообще, правильно?
Ivan2010 вне форума Ответить с цитированием
Старый 14.07.2017, 16:08   #19
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Ivan2010 Посмотреть сообщение
т.е нужно добавить в сравнение третий столбец "DMD"? Либо его не должно быть в таблице вообще, правильно?
или изменить процедуру сравнения.

я минут через 15 напишу Вам код.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 14.07.2017, 16:41   #20
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

замените целиком текст функции на такой:
Код:
Function ROI_Data_Duplication(WBName, WSName, Data_Paste_Row, Pre_Alert_Data As ROI_PreAlertData_Type)

    Dim i, sTotal_WeightInCell$, sTotal_Weight_in_PAD$, d1 As Double, d2 As Double
    
    i = PREDEFINED_FIRST_DATA_ROW
    
    sTotal_Weight_in_PAD = Replace(Pre_Alert_Data.Total_Weight, ",", ".")
    d2 = Val(sTotal_Weight_in_PAD)
    
    While i < Data_Paste_Row
        
        sTotal_WeightInCell = Replace(Workbooks(WBName).Worksheets(WSName).Cells(i, 4).Value, "`", "")
        sTotal_WeightInCell = Replace(sTotal_WeightInCell, ",", ".")
        d1 = Val(sTotal_WeightInCell)
        
        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 _
            (Abs(d1 - d2) < 0.0001) And _
            (Workbooks(WBName).Worksheets(WSName).Cells(i, 5).Value = Pre_Alert_Data.Total_Pieces) And _
            (Workbooks(WBName).Worksheets(WSName).Cells(i, 7).Value = "`" + Pre_Alert_Data.Seal_No) And _
            (Workbooks(WBName).Worksheets(WSName).Cells(i, 8).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 вне форума Ответить с цитированием
Ответ


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



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