Macro para graficar hasta celda n-ésima

A tod@s expert@s!
Tengo un problema en la selección de columnas para realizar gráficas con mi macro. Utilizo un programa para la toma de datos (temperaturas, voltajes...) en laboratorio, de forma que se genera una excel, con un número de columnas determinados, desde la A a la ES, con titulo en la fila 22, y a partir de ahí los datos, de forma que ninguno de los archivos de datos que se generan diariamente tienen por qué acabar en la misma celda, ni mucho menos.
La macro que hasta ahora he hecho, crea el titulo de columnas en U22, V22 y W22, realiza un autofill hasta la fila n en la columna U y V (W la dejaré en blanco). Necesitaría que me ayudasen en la selección de columnas no contiguas para crear gráficas, por ejemplo, necesito graficar la columna U(tmin) frente a la R (bomba4), a partir de la celda 23 (los datos siempre se crearán a partir de esta celda para cada columna).
Las filas anteriores a la 22 es un encabezado que por defecto mete el programa de toma de datos, debo dejarlo así. El código que tengo de momento es el siguiente:
Sub M0()
    Range("U22").Select
    ActiveCell.FormulaR1C1 = "t(min)"
    Range("U23").Select
    ActiveCell.FormulaR1C1 = "0"
    finrgo = Range("A65536").End(xlUp).Row
Range("U24").Select
ActiveCell.FormulaR1C1 = "=RC[-19]/60000+R[-1]C"
    Selection.AutoFill Destination:=Range("U24:U" & finrgo)
    Range("U24").Select
    Range("V22").Select
    ActiveCell.FormulaR1C1 = "Qabs(ml/h)"
    Range("V23").Select
    ActiveCell.FormulaR1C1 = "=(RC[-4]*0.0633+0.0027)*60"
    Selection.AutoFill Destination:=Range("V23:V" & finrgo)
    Range("V23").Select
    Range("W22").Select
    ActiveCell.FormulaR1C1 = "pH"
   "aquí debo ingresar la selección de columnas y graficarlas"  
    End Sub

2 respuestas

Respuesta
1
Te dejo algunas instrucciones de ejemplo, pero lo ideal es que enciendas la grabadora de macros para crear tu propio gráfico y así tener todas las características deseadas.
'selecciono un rango de 2 col no contiguas
    Range("R23:R50,U23:U30").Select
    Range("R23").Activate
'agrego un gráfico
    ActiveSheet.Shapes.AddChart.Select
'asignar el rango al gráfico
    ActiveChart.SetSourceData Source:=Range("$R$23:$R$50,$U$23:$U$50")
'tipo de gráfico =columnas
    ActiveChart.ChartType = xlColumnClustered
Si el rango no es fijo tendrás que indicar en una variable la última fila a considerar. Por ej:
fila = 30
ActiveSheet.ChartObjects(1).Activate
ActiveChart.SetSourceData Source:=Range("R23:R" & fila & ",U23:U" & fila)
Si todo quedó claro y resuelto, no olvides regresar y finalizar la consulta
Respuesta

¿Podrían pasarme un ejemplo de como solucionaron esto?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas