powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Построение графиков в Excel
5 сообщений из 5, страница 1 из 1
Построение графиков в Excel
    #37698701
LinaLee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите пожалуйста, такая задача.
Необходимо построить график в Excel.
Даны значения, например, 51 57 56 48 39 46 48 57 47 49. Пользователь вручную через RefEdit выделяет диапазон этих значений и строится график. По оси Х значения 51, 57...49, а по оси Y от 1 до посл.строки выдел.диапазона.
Пробовала записать макрос:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
    Charts.ADD
    ActiveChart.ChartType = xlLine
    ActiveChart.SetSourceData Source:=Sheets("Лист1").Range("А1:А10"), PlotBy:=xlColumns
    
    ActiveChart.Location WHERE:=xlLocationAsObject, Name:="Лист1"
    WITH ActiveChart
       ActiveChart .HasTitle = True
       ActiveChart .ChartTitle.Characters.Text = "График динамики"
       ActiveChart.Axes(xlCategory, xlPrimary).HasTitle = True
       ActiveChart.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "t"
       ActiveChart .Axes(xlValue, xlPrimary).HasTitle = True
       ActiveChart.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Y(t)"
   End WITH


Как сделать так, чтобы в строке
ActiveChart.SetSourceData Source:=Sheets("Лист1").Range("А1:А10"), PlotBy:=xlColumns
вместо ...Range("А1:А10")... можно было записать именно выдел.пользователем через RefEdit диапазон.

Извините может быть за некорректный и глупый вопрос , я просто новичок).
...
Рейтинг: 0 / 0
Построение графиков в Excel
    #37699542
Диклевич Александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перед
Код: vbnet
1.
Chart.Add


добавить
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
Dim rng As Range
On Error Resume Next
Set rng = Application.InputBox("Select cell(s)", Type:=8)
If rng Is Nothing Then
 MsgBox "You must select a range and press OK!", vbCritical + VbOkOnly, "Error!"
 Exit Sub
End If
On Error Goto 0



Код: vbnet
1.
On Error Resume Next

нужен для случая если пользователь нажмет "Cancel" в диалоге.
...
Рейтинг: 0 / 0
Построение графиков в Excel
    #37699552
Диклевич Александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забыл дописать, что
Код: vbnet
1.
ActiveChart.SetSourceData Source:=Sheets("Лист1").Range("А1:А10"), PlotBy:=xlColumns


заменить на
Код: vbnet
1.
ActiveChart.SetSourceData Source:=rng, PlotBy:=xlColumns


Т.е. пользователь сам выбирает диапазон
...
Рейтинг: 0 / 0
Построение графиков в Excel
    #37699753
Диклевич Александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изиняюсь, не знал что такое RefEdit. тогда так
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
     Dim SelRange as Range
     Dim Addr as String

     'Get the address, or reference, from the RefEdit control.
     Addr = RefEdit.Value

     'Set the SelRange Range object to the range specified in the
     'RefEdit control.
     Set SelRange = Range(Addr)
ActiveChart.SetSourceData Source:=SelRange, PlotBy:=xlColumns
...
Рейтинг: 0 / 0
Построение графиков в Excel
    #37701407
LinaLee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Диклевич АлександрИзиняюсь, не знал что такое RefEdit. тогда так
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
     Dim SelRange as Range
     Dim Addr as String

     'Get the address, or reference, from the RefEdit control.
     Addr = RefEdit.Value

     'Set the SelRange Range object to the range specified in the
     'RefEdit control.
     Set SelRange = Range(Addr)
ActiveChart.SetSourceData Source:=SelRange, PlotBy:=xlColumns



спасибо большое, очень помогли)
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Построение графиков в Excel
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]