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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.08.2010, 14:33   #11
аналитика
Форумчанин
 
Регистрация: 14.05.2009
Сообщений: 311
По умолчанию

Еще раз попробую - номер ошибки какой?
у меня нет ошибок (офис 2010) и ничего не происходит...

запаролированную книжецу прикрепил ты, молодец!
формулу в A6 "=ДАТА(R1;1;1)" я бы заменил на "=ДАТА(R1;1;строка()-5)"
аналитика вне форума Ответить с цитированием
Старый 29.08.2010, 14:38   #12
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 691
По умолчанию

Цитата:
запаролированную книжецу прикрепил ты, молодец!
Просто забыл 1111
Разкомментировайте
Код:
'...
'dt2 = CDate(Sheets("Отчет").Cells(i, 1).Value)
    If dt <> dt1 Then
    'If dt = dt2 Then
    '    .TextBox3.Value = Sheets("Отчет").Cells(i, 24).Value
    '    .TextBox3.Value = Sheets("Отчет").Cells(i, 25).Value
    '    If .TextBox3.Value = "" Then .ComboBox2.Value = "" Else _
    '    .ComboBox2.Value = Sheets("Отчет").Cells(i, 20).Value
    'End If
'...
Откройте календарь и измените дату
segail вне форума Ответить с цитированием
Старый 29.08.2010, 14:49   #13
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Вопросы есть?Я думаю все понятно

Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 29.08.2010, 15:11   #14
аналитика
Форумчанин
 
Регистрация: 14.05.2009
Сообщений: 311
По умолчанию

правильно тебе подсказывают...
некоторые замечания:
Dim dt, dt1, dt2 As Date - только последняя переменная Date, первые две Variant
зачем в цикле делать то, что от счетчика цикла не зависит (я думаю, что так медленно загружается?) переменные dt, dt1 вынеси перед циклом.
этот кусок:
Код:
        If Sheets("Отчет").[N1].Value = "Дтл" Then .ComboBox1.RowSource = "=V_ГСМ!$H$17:$H$20" 'Дтл
        If Sheets("Отчет").[N1].Value = "АИ_76" Then .ComboBox1.RowSource = "=V_ГСМ!$H$22:$H$25" 'АИ-76
        If Sheets("Отчет").[N1].Value = "АИ_80" Then .ComboBox1.RowSource = "=V_ГСМ!$H$27:$H$27" 'АИ-80
        If Sheets("Отчет").[N1].Value = "АИ_92" Then .ComboBox1.RowSource = "=V_ГСМ!$H$29:$H$30" 'АИ-92
        If Sheets("Отчет").[N1].Value = "АИ_95" Then .ComboBox1.RowSource = "=V_ГСМ!$H$32:$H$33" 'АИ-95
замени на конструкцию Select Case и из цикла долой тоже

да и дальше тоже самое, разбираться в логике алгоритма нет сил...

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

Последний раз редактировалось аналитика; 29.08.2010 в 15:20.
аналитика вне форума Ответить с цитированием
Старый 29.08.2010, 16:21   #15
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 691
По умолчанию

Цитата:
правильно тебе подсказывают...
некоторые замечания:
Dim dt, dt1, dt2 As Date - только последняя переменная Date, первые две Variant
Ну а если без переменных, все равно ошибка…
Изображения
Тип файла: jpg otshet.JPG (24.8 Кб, 27 просмотров)
segail вне форума Ответить с цитированием
Старый 29.08.2010, 17:01   #16
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

так и будет ,когда вместо даты название месяца-например январь

PS.Лень искать вашу тему начала года.где я вам говорил о датах в отчете.Вот оно и аукается
Анализ,обработка данных Недорого

Последний раз редактировалось doober; 29.08.2010 в 17:04.
doober вне форума Ответить с цитированием
Старый 29.08.2010, 17:23   #17
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 691
По умолчанию

Цитата:
Сообщение от doober Посмотреть сообщение
так и будет ,когда вместо даты название месяца-например январь

PS.Лень искать вашу тему начала года.где я вам говорил о датах в отчете.Вот оно и аукается
Я так понимаю, сбой происходит из-за месяцев, которые проставлены в столбце 1?
Изображения
Тип файла: jpg mz.JPG (12.7 Кб, 25 просмотров)
segail вне форума Ответить с цитированием
Старый 29.08.2010, 18:28   #18
R Dmitry
Форумчанин
 
Регистрация: 07.03.2010
Сообщений: 796
По умолчанию

да скорее всего
поставьте проверку на дату в ячейке и если не дата то next
if IsDate(Sheets("Отчет").Cells(i, 1).Value)=false then
next i
else
поехали как раньше
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234

Последний раз редактировалось R Dmitry; 29.08.2010 в 18:35.
R Dmitry вне форума Ответить с цитированием
Старый 29.08.2010, 18:34   #19
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 691
По умолчанию

Цитата:
Сообщение от R Dmitry Посмотреть сообщение
да скорее всего
поставьте проверку на дату в ячейке и если не дата то next
Ну а если игнорировать условие равенства дат,
Код:
If CDate(.TextBox_Дата.Value) = CDate(Sheets("Отчет").Cells(i, 1).Value) Then
и создать условие на равенство текстов?
Код:
If .TextBox_Дата.Text = Sheets("Отчет").Cells(i, 1). Text Then

Последний раз редактировалось segail; 29.08.2010 в 18:41.
segail вне форума Ответить с цитированием
Старый 29.08.2010, 18:46   #20
R Dmitry
Форумчанин
 
Регистрация: 07.03.2010
Сообщений: 796
По умолчанию

Цитата:
Сообщение от segail Посмотреть сообщение
Ну а если игнорировать условие равенства дат,
Код:
If CDate(.TextBox_Дата.Value) = CDate(Sheets("Отчет").Cells(i, 1).Value) Then
и создать условие на равенство текстов?
Код:
If .TextBox_Дата.Text = Sheets("Отчет").Cells(i, 1). Text Then
можно и текст но учтите что в VBA дата отображается по разному поэтому надо полное соответствие и еще не забудьте что пользователи могут в текст бокс дату вносить по разному, я не заглядывал в ваш файл, но данные лучше заполнять через календарь (не знаю у вас так или нет)
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
R Dmitry вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++. в зависимости от проверки элемента на равенство должен выводится правильный ответ phantom4eg Помощь студентам 9 24.05.2010 22:41
Моя БД нарушает гендерное равенство. kapitel_bc@ukr.net Microsoft Office Access 9 08.03.2010 13:52
Равенство трех переменных k1r1ch Общие вопросы C/C++ 3 23.02.2010 20:54
Равенство по цвету snakezx Microsoft Office Excel 1 30.03.2009 12:11
Проверить равенство числа открывающих и закрывающих круглых скобок 010 Паскаль, Turbo Pascal, PascalABC.NET 6 18.05.2008 00:27