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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.05.2018, 22:09   #1
NewStudents
Пользователь
 
Аватар для NewStudents
 
Регистрация: 09.12.2017
Сообщений: 20
Вопрос Диапазон ячеек/столбцов

Здравствуйте, друзья!

В общем имеется кнопка, код к ней, позволяющий строить нужные графики (вот её код)

Код:
Private Sub CommandButton9_Click()
Dim mychart As Chart
Dim x As Single
Dim y As Single
a = InputBox("Введите a (в диапазоне от 0 до 1)")
    If a >= 0 And a <= 1 Then
        Cells(1, 6).Value = a
        x1 = 1
        x2 = 110
        h = 1
Set mychart = Worksheets(1).ChartObjects(1).Chart
mychart.SetSourceData Source:=Worksheets(1).Range("A1:D" & Trim(Str((Fix((x2 - x1) / h + 1)))))
fname = ThisWorkbook.Path & Application.PathSeparator & "picture.gif"
mychart.Export Filename:=fname, Filtername:="gif"
Image1.Picture = LoadPicture(fname)
    Else
        MsgBox "Внимание! Введите число от 0 до 1", 16
   End If
End Sub
Но вот в чём проблема. Строка
Код:
mychart.SetSourceData Source:=Worksheets(1).Range("A1:D" & Trim(Str((Fix((x2 - x1) / h + 1)))))
строит график по столбцам в диапазоне A:D (захватывая при этом ненужные столбцы B и C) идёт накладывание информации, выглядит неверно.

Подскажите пожалуйста, как можно исправить код, чтобы он захватывал только столбцы A и D.

Спасибо!

Последний раз редактировалось NewStudents; 03.05.2018 в 22:52.
NewStudents вне форума Ответить с цитированием
Старый 04.05.2018, 00:00   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

это известная в программировании проблема, когда есть код
Цитата:
позволяющий строить нужные графики,
который не строит нужные графики!
я обычно так не делаю, но в литературе его часто называют "гав..код", проблема решается исправлением этого, с Вашего позволения, кода до тех пор, пока он РЕАЛЬНО не начнет строить нужные графики.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 04.05.2018, 07:24   #3
NewStudents
Пользователь
 
Аватар для NewStudents
 
Регистрация: 09.12.2017
Сообщений: 20
По умолчанию

Да я сам прекрасно понимаю, что это ''гав..код'' и пытаюсь его как-то исправить.

Но как недавно оказалось, значений (строк) может быть гораздо больше. И 200 и 400.

Как грамотно написать этот код без привязки кол-ва строк? Т.е. задаётся весь столбец А и весь столбец D. Или построения/расчёты ведутся до последней записанной ячейки в строке нужного столбца (а координаты этой ячейки всегда могут быть разными А110, А218..)

Надеюсь на Вашу помощь.

Последний раз редактировалось NewStudents; 04.05.2018 в 18:38.
NewStudents вне форума Ответить с цитированием
Старый 04.05.2018, 08:21   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от NewStudents Посмотреть сообщение
Надеюсь на Вашу помощь.
А этот график вообще реально построить средставами MS Excell ?
Тогда постройте график и выложите сюда пример (файл с данными и графиком).
А ещё можете поступить так перед построением графика включите запись макрокоманд.
постройте ручками график, выключите запись команд.
откройте редактор и увидите код для построения графика. Там нужно будте подправить строчку для получения последней строки диапазона и всё - макрос готов.


p.s. это, конечно, тоже будет "г..код", но он будет делать именно то, что Вам и нужно. А может быть, если Вы этот полученный код выложите, тогда кто-то на форуме его и поправит.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 04.05.2018, 13:20   #5
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Это уже не первая тема с этим кодом и графиком.
Но вот
Цитата:
Сообщение от NewStudents Посмотреть сообщение
Но как недавно
оказалось, значений (строк)
может быть гораздо больше.
И 200 и 400.

Как грамотно написать этот
код без привязки кол-ва
строк? Т.е. задаётся весь
столбец А и весь столбец D.
Или построения/расчёты
ведутся до последней
записаной ячейки в строке
нужного столбца (а
координаты этой ячейки
всегда могут быть разными
А110, А218..)
вижу впервые. Вероятно и впрямь вот совсем недавно оказалось...
Зато ранее график видел
Но не в файле...
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
диапазон ячеек marina krasa Microsoft Office Excel 1 03.05.2013 19:47
диапазон ячеек в excel studentki Microsoft Office Excel 5 12.07.2012 16:00
Автоматически очистить диапазон ячеек. agregator Microsoft Office Excel 8 19.04.2010 11:19
Диапазон ячеек равен 0 segail Microsoft Office Excel 16 14.02.2010 22:14
Добавление данных в диапазон ячеек denneo Microsoft Office Excel 1 08.02.2009 09:05