Foros del Web » Soporte técnico » Ofimática »

MAcro Excel (facil)

Estas en el tema de MAcro Excel (facil) en el foro de Ofimática en Foros del Web. hola a todos.. que tal? bueno.. espero alguien me ayude.. es bastante sencillo lo k necesito (creo) tengo la siguiente macro de excel y lo ...
  #1 (permalink)  
Antiguo 23/09/2007, 18:41
 
Fecha de Ingreso: septiembre-2007
Mensajes: 1
Antigüedad: 16 años, 7 meses
Puntos: 0
MAcro Excel (facil)

hola a todos.. que tal?

bueno.. espero alguien me ayude.. es bastante sencillo lo k necesito (creo)

tengo la siguiente macro de excel y lo k necesito es que los valores que estan en negrita, sean variables, osea, que al momento de ejecutar la macro, las columnas a graficar sean a "pedido" y no fijas como estan ahora.. alguien sabe que modificacion se le puede hacer??


---------------

Private Sub Grafica(fila1 As Variant, fila2 As Variant)
'
' Macro3 Macro
' Macro grabada el 28-08-2007 por Juan Eduardo Uribe Chesta

columnax = Sheets("PARAMETROS A BUSCAR").Cells(2, 3)
columnay= Sheets("PARAMETROS A BUSCAR").Cells(2, 4)

Charts.Add
ActiveChart.ChartType = xlXYScatter
ActiveChart.SetSourceData Source:=Sheets("grafico").Range("A1")
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).XValues = "=resumen!R" + CStr(fila1) + "C5:R" + CStr(fila2) + "C5"
ActiveChart.SeriesCollection(1).Values = "=resumen!R" + CStr(fila1) + "C7:R" + CStr(fila2) + "C7"
ActiveChart.Location Where:=xlLocationAsObject, Name:="grafico"
With ActiveChart
.HasTitle = False
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
End With
End Sub
------------

Sub Busca_y_Grafica()

tramo = Sheets("PARAMETROS A BUSCAR").Cells(2, 1)
marcha = Sheets("PARAMETROS A BUSCAR").Cells(2, 2)
columnax=Sheets("PARAMETROS A BUSCAR").Cells(2, 3)
columnay=Sheets("PARAMETROS A BUSCAR").Cells(2, 4)


'busco en fila B el tramo y en D la marcha desde el principio de la hoja

fila = 2

While (Sheets("resumen").Cells(fila, 1) <> tramo)
fila = fila + 1
Wend

'encuentro el tramo dentro de la hoja

While (Sheets("resumen").Cells(fila, 2) <> marcha)
fila = fila + 1
Wend

'aqui encontre el inicio de mis datos con el tramo y marcha que corresponden

INICIO = fila

While (Sheets("resumen").Cells(fila, 2) = marcha)
fila = fila + 1
Wend

FIN = fila - 1

Call Grafica(INICIO, FIN)

End Sub
-----------------



la idea es que en la parte de busca y grafica, agregar para que el usuario indique que es lo que quiere graficar, indicando las columnas, y en que eje las quiere (lo que esta en negrito y cursiva)... de momento tenemos para que grafike la columna 5 vs la 7, pero eso esta fijo, y si keremos k grafike otra cosa debemos modificar la macro, pero nuestra duda es si se puede hacer que ese valor sea variable..

la hoja de parametros a buscar esta asi

..........A.................B..................... .C....................D
1 .....TRAMO........ MARCHA
2 (por usuario)...(por usuario)
3
4

y grafica las columnas 5 y 7 del tramo la marcha indicada

pero queremos que sea asi


..........A.................B..................... .C....................D
1.....TRAMO..........MARCHA.......columnax........ ... columnay
2 (por usuario) (por usuario) (por usuario)........ (por usuario)
3
4


y ke el usuario indike en columnax y columnay que columnas desea graficar.

no se si se entiende.. pero si hay algun entendido que vea k el problema es facil.. por favor que me ayude..

de antemano gracias.. cualkier duda postiarla pls

salu2


si se necesita el archivo excel avisen pls..
  #2 (permalink)  
Antiguo 25/09/2007, 11:18
 
Fecha de Ingreso: julio-2006
Ubicación: Madrid
Mensajes: 943
Antigüedad: 17 años, 9 meses
Puntos: 56
Re: MAcro Excel (facil)

Hola,

A bote pronto, se me ocurre que te declares una variable de tipo String por cada columna y a continuación les asignes valor con un InputBox.

Una vez que estén las variables cargadas con el valor, todo será tan fácil como sustituir los nombres de referencia por los nombres de las variables.

Creo que así se puede hacer. Ya me contarás si se ha podido o no.

Un saludo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:50.