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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.05.2012, 21:03   #1
Abdukhafiz
Пользователь
 
Регистрация: 29.12.2011
Сообщений: 31
По умолчанию Графика в Excel VBA

Привет всем..
Мне нужно нарисовать графику в Excel. В ячейках даны время от 00:00 до 23:59, который используется для значение икса.. А значение y идет из базы данных (MS SQL Server 2005). Я написал такой код в VBA:

Код:
For i = 1 To 1440
        t = Application.Cells(i, 1)
        While Not records.EOF
            abc = records(0)
            If abc = t Then
                Application.Cells(i, 2) = "1"
                records.MoveNext
                GoTo Label
            Else
                Application.Cells(i, 2) = Null
                GoTo Label
            End If
        Wend
Label:
    Next
Если данные равны, то добавляет, а если одно значение не будет равно, то остальные единички не добавляется.. Где тут ошибка у меня?
Вложения
Тип файла: zip New Лист Microsoft Office Excel.zip (27.4 Кб, 10 просмотров)
Abdukhafiz вне форума Ответить с цитированием
Старый 18.05.2012, 12:48   #2
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

А что там за данные? Можете записать records(0) в столбец в книге Excel и выложить сюда?
Возможно, дело в погрешности вычислений, подробнее я писал тут.
Попробуйте вместо If abc = t Then
Код:
If abs(abc - t)<1E-6 Then 'секунда это приметно 1E-5
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 18.05.2012, 15:56   #3
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Вопрос в лоб:

а нафига вам вот этот цикл
Цитата:
Код:
 While Not records.EOF
если вы из него при любом раскладе сразу же выходите:
Цитата:
Код:
            If abc = t Then
                Application.Cells(i, 2) = "1"
                records.MoveNext
                GoTo Label
            Else
                Application.Cells(i, 2) = Null
                GoTo Label
            End If
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Построение графика в VBA AnatolyF Помощь студентам 2 13.05.2012 00:13
VBA Word,VBA Excel решить 2 задачи fafolo4ka Фриланс 6 05.03.2012 01:15
построение графика в excel AlenaCh Помощь студентам 0 14.03.2011 17:48
макрос для графика в Excel mikhail morgun Помощь студентам 0 28.12.2010 23:49
Как запретить запуск программы на VBA Excel 2003 в Excel 2007 kovalevskivf Microsoft Office Excel 2 15.05.2009 16:47