
Сначала я пытаюсь создать CSV-файл, содержащий огромный объем данных.
В первом столбце A дата и время разделены пробелом, например 03/11/2017 12:55:34.
Я хочу выбрать ячейки между двумя датами, например, диапазон между03/11/2017 12:55:34
к03/11/2017 15:55:34
, затем разделите дату и время для выбранного диапазона, используя текст по столбцам, и, наконец, постройте график для разделенного времени и соответствующего ему значения.
Код работает нормально без преобразования текста в столбцы. Но я не знаю, как продолжить преобразование текста в столбцы после выбора диапазона.
Прилагаю код.
Function getData()
Dim findrow As Long, findrow2 As Long
Dim dataTable As Range
findrow = Range("A:B").Find("3/13/2017 15:49:57.108", Range("A1")).Row
findrow2 = Range("A:B").Find("3/13/2017 16:04:57.098", Range("A" & findrow)).Row
Set dataTable = Range("A" & findrow + 1 & ":B" & findrow2 - 1)
Set getData = dataTable
End Function
Sub SelectBetween()
Dim rng As Range
Dim cht As Object
'Your data range for the chart
Set rng = getData()
rng.Select
'Create a chart
Set cht = ActiveSheet.Shapes.AddChart2
'Give chart some data
cht.Chart.SetSourceData Source:=rng
'Determine the chart type
cht.Chart.ChartType = xlLine
cht.Chart.ChartTitle.Text = Cells(1, 1).Value
cht.Chart.SetElement (msoElementLegendBottom)
cht.Chart.SeriesCollection(1).Name = "=""CPU Processor Time"""
cht.Chart.Axes(xlValue).MinimumScale = 0
cht.Chart.Axes(xlValue).MaximumScale = 100
End Sub
решение1
Решение не VBA, которое может быть применимо к вашим графическим потребностям. Вы можете протестировать его на копии ваших данных.
- Фильтруйте информацию о дате/времени. В моем файле-примере у меня около 13 000 показаний температуры, отфильтрованных до 387 значений для построения графика на основе моего диапазона.
- Измените формат информации о дате/времени, чтобы отображалось только время. Выделите ячейки и выберите Время из раскрывающегося списка форматов чисел на вкладке Главная.
- Вы можете построить диаграмму полученного столбца и связанных с ним данных.
Данные о дате/времени до изменения числового формата на отображение только времени: