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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.08.2010, 18:56   #21
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 691
По умолчанию

Цитата:
Сообщение от R Dmitry Посмотреть сообщение
можно и текст но учтите что в VBA дата отображается по разному поэтому надо полное соответствие и еще не забудьте что пользователи могут в текст бокс дату вносить по разному, я не заглядывал в ваш файл, но данные лучше заполнять через календарь (не знаю у вас так или нет)
Если вы о формате, то пользователь не сможет поменять формат.
А формат что в ячейках, что в текст боксе один dd.mm.yyyy.

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

ну тогда сравнение текста тоже подойдет
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
R Dmitry вне форума Ответить с цитированием
Старый 29.08.2010, 19:05   #23
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Код:
Public Sub dt_dt() '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    'Параметры остатка ==============================================================

Dim i As Integer
For i = 1 To 444
Dim dt, dt1, dt2 As Date
    With Form_SelectDate
        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
            dt = CDate(.TextBox_Дата.Value)
            dt1 = CDate(Sheets("Отчет").[a6].Value)
            
             If IsDate(Sheets("Отчет").Cells(i, 1).Value) Then
            
            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
                    .Label8.Caption = "Фактический остаток на  выбранную дату": .Label7.Caption = "":
                    .TextBox_m1.Visible = False: .TextBox_L.Visible = False:
                    .TextBox_m1.Value = "": .TextBox_L.Value = ""
            Else
                .Label8.Caption = "Конечный остаток " & Sheets("Отчет").[R1] - 1 & " г. на " & DateSerial(Sheets("Отчет").[R1], 1, 1):
                .Label7.Caption = "                          - л.":
                .TextBox_m1.Visible = True: .TextBox_L.Visible = True
                .TextBox3.Value = Sheets("Отчет").[x6].Value
                .TextBox4.Value = Sheets("Отчет").[y6].Value
                If Sheets("Отчет").[x5] < 0 Then .TextBox_L = _
                Abs(Sheets("Отчет").[x5].Value) Else .TextBox_L = Sheets("Отчет").[x5].Value
                If Sheets("Отчет").[x5] < 0 Then .TextBox_m1 = "-"
            
                If .TextBox3.Value = "" Then .ComboBox2.Value = "" Else _
                .ComboBox2.Value = Sheets("Отчет").[t5].Value
            End If
                If .TextBox3.Value = "" Then .ComboBox1.Value = "" Else _
                .ComboBox1.Value = Sheets("Отчет").[z1].Value
    End With
    
 End If
Next
End Sub
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 29.08.2010, 19:08   #24
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Цитата:
Сообщение от R Dmitry Посмотреть сообщение
ну тогда сравнение текста тоже подойдет
при чем здесь текст.В столбце запись такая
Январь
1
2
3
.....
Февраль
1
2
В свое время я предлагал вместо слова январь- хранить дату и поменять формат отображения даты
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 29.08.2010, 19:21   #25
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 691
По умолчанию

Цитата:
Сообщение от doober Посмотреть сообщение
при чем здесь текст.В столбце запись такая
Январь
1
2
3
.....
Февраль
1
2
В свое время я предлагал вместо слова январь- хранить дату и поменять формат отображения даты
Честно сказать не помню.
Но текстовые значения месяцев, не несут не какого значение для кодов, это просто информация.
segail вне форума Ответить с цитированием
Старый 29.08.2010, 19:28   #26
R Dmitry
Форумчанин
 
Регистрация: 07.03.2010
Сообщений: 796
Радость

Цитата:
Сообщение от doober Посмотреть сообщение
при чем здесь текст.В столбце запись такая
Январь
1
2
3
.....
Февраль
1
2
В свое время я предлагал вместо слова январь- хранить дату и поменять формат отображения даты
ну проверить на дату я предлагал, что Вы и реализовали, топик стартер хочет проверить текстом я сказал что можно , главное найти соответствие а дата это, или текст большой разницы нету.
хотя мне с датой удобнее, для дата это всегда дата, текст это текст
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
R Dmitry вне форума Ответить с цитированием
Старый 29.08.2010, 21:31   #27
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 691
По умолчанию

Цитата:
Сообщение от аналитика Посмотреть сообщение
этот кусок:
Код:
        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 и из цикла долой тоже
Не сталкивался с этим. Как применить конструкцию Select Case?
segail вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 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