(parece que) ya pasaste de nuevo por tu consulta, asi que, en tanto te decides a soltar mas detales... como tus datos fueron insuficientes... analiza la muestra del adjunto (m365) 1) en las columnas A,B y C los datos donde buscar los valores (si estan en otro libro, cambia las referencias en la primera matriz en las columnas E,F y G) 2) en [E1] indicas el importe a buscar y en [E2] el '%' de tolerancia (+/-), los encontrados se derraman en la matriz [E4#] 3) en [I1] puedes elegir el monto filtrado que consideres mas apropiado (lista tomada de [E4#]), [I2] indica si hay mas de uno 4) en la segunda matriz [I5#] se listan los (RE)filtrados (OJO: que pudiera haber todavia mas de uno) 5) si hubiera mas de uno, la celda [M2] es para elegir de cual de ellos se rescatan los datos (mostrado en [M5]) puede ser que sobren pasos, filtros, etc, pero la falta de detalles es terreno fertil para una imaginacion generosa
selecciona tolerancia en lista (ayudaExcel).xlsx
Por
Héctor Miguel , · publicado el sábado a las 06:14 1 día
Hola,
El problema es el siguiente:
Si hago el gráfico como a continuación me funciona:
i = 0
Charts.Add
ActiveChart.ChartType = xlColumnClustered
ActiveChart.SetSourceData Source:=Sheets("DC").Range("H15000")
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).XValues = "=DC!R1C3:R168C4"
ActiveChart.SeriesCollection(1).Values = "=DC!R1C5:R168C5"
ActiveChart.SeriesCollection(1).Name = "=""DISOLVENTE CONSUMIDO"""
ActiveChart.Location Where:=xlLocationAsNewSheet
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "DISOLVENTE CONSUMIDO"
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "HORAS"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "KG"
End With
With ActiveChart.Axes(xlCategory)
.HasMajorGridlines = False
.HasMinorGridlines = False
End With
With ActiveChart.Axes(xlValue)
.HasMajorGridlines = True
.HasMinorGridlines = False
End With
ActiveChart.HasLegend = False
ActiveChart.PlotArea.Select
With Selection.Border
.Weight = xlThin
.LineStyle = xlNone
End With
With Selection.Interior
.ColorIndex = 2
.PatternColorIndex = 1
.Pattern = xlSolid
End With
ActiveChart.ChartArea.Select
ActiveChart.Axes(xlCategory).Select
With Selection.Border
.Weight = xlHairline
.LineStyle = xlAutomatic
End With
With Selection
.MajorTickMark = xlNone
.MinorTickMark = xlNone
.TickLabelPosition = xlNextToAxis
End With
ActiveChart.ChartArea.Select
Pero si quiero que los datos con que quiero hacer las gráficas sean variables (como a continuación) tengo un problema en el código que no se como solventar:
i = 0
Charts.Add
ActiveChart.ChartType = xlColumnClustered
ActiveChart.SetSourceData Source:=Sheets("DC").Range("H15000")
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).XValues = "=DC!R(1+168*i)C3:R(168+168*i)C4"
ActiveChart.SeriesCollection(1).Values = "=DC!R(1+168*i)C5:R(168+168*i)C5"
ActiveChart.SeriesCollection(1).Name = "=""DISOLVENTE CONSUMIDO"""
ActiveChart.Location Where:=xlLocationAsNewSheet
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "DISOLVENTE CONSUMIDO"
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "HORAS"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "KG"
End With
With ActiveChart.Axes(xlCategory)
.HasMajorGridlines = False
.HasMinorGridlines = False
End With
With ActiveChart.Axes(xlValue)
.HasMajorGridlines = True
.HasMinorGridlines = False
End With
ActiveChart.HasLegend = False
ActiveChart.PlotArea.Select
With Selection.Border
.Weight = xlThin
.LineStyle = xlNone
End With
With Selection.Interior
.ColorIndex = 2
.PatternColorIndex = 1
.Pattern = xlSolid
End With
ActiveChart.ChartArea.Select
ActiveChart.Axes(xlCategory).Select
With Selection.Border
.Weight = xlHairline
.LineStyle = xlAutomatic
End With
With Selection
.MajorTickMark = xlNone
.MinorTickMark = xlNone
.TickLabelPosition = xlNextToAxis
End With
ActiveChart.ChartArea.Select
Les agradecería mucho que me ayudasen con este problema, gracias.