
O que estou tentando fazer é primeiro ter um arquivo CSV que contém uma enorme quantidade de dados.
A primeira coluna A tem Data e hora separadas por um espaço como 11/03/2017 12:55:34.
Quero selecionar as células entre duas datas, como o intervalo entre03/11/2017 12:55:34
para03/11/2017 15:55:34
, em seguida, separe a data e a hora do intervalo selecionado usando texto em colunas e, por fim, trace o gráfico para a hora separada e seu valor correspondente.
O código está funcionando bem sem fazer conversão de texto em colunas. Mas não sei como proceder com a conversão de texto em coluna depois de selecionar o intervalo.
Anexei aqui o código.
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
Responder1
Solução não VBA que pode ser aplicável às suas necessidades gráficas. Você pode testar em uma cópia de seus dados.
- Filtre suas informações de data/hora. No meu arquivo de exemplo, tenho cerca de 13.000 leituras de temperatura filtradas para 387 valores para plotar com base na minha faixa.
- Altere o formato das informações de Data/Hora para mostrar apenas a hora. Destaque as células e escolha Hora no menu suspenso de formato de número na guia Página inicial.
- Você pode representar graficamente a coluna resultante e seus dados associados.
Os dados de data/hora antes da mudança do formato numérico para mostrar apenas a hora: