
Lo que intento hacer es primero tener un archivo CSV que tiene una enorme cantidad de datos.
La primera columna A tiene fecha y hora separadas por un espacio como 11/03/2017 12:55:34.
Quiero seleccionar las celdas entre dos fechas, como el rango entre03/11/2017 12:55:34
a03/11/2017 15:55:34
, luego separe la fecha y la hora para el rango seleccionado usando texto en columnas y finalmente trace el gráfico para el tiempo separado y su valor correspondiente.
El código funciona bien sin realizar la conversión de texto a columnas. Pero no sé cómo proceder con la conversión de texto a columna después de seleccionar el rango.
Por este medio os adjunto el 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
Respuesta1
Solución sin VBA que puede ser aplicable a sus necesidades gráficas. Es posible que desee realizar una prueba con una copia de sus datos.
- Filtre su información de fecha/hora. En mi archivo de ejemplo, tengo alrededor de 13.000 lecturas de temperatura filtradas a 387 valores para trazar según mi rango.
- Cambie el formato de la información de Fecha/Hora para mostrar solo la hora. Resalte las celdas y elija Hora en el menú desplegable de formato de número en la pestaña Inicio.
- Puede representar gráficamente la columna resultante y sus datos asociados.
Datos de fecha/hora antes del cambio de formato numérico para mostrar solo la hora: