Saludos,
Cesar
> Quiera saber si un grafico insertado en la hoja se puede cambiar su propiedad nombre,
> que es [Libro1] Hoja 1 Gráfico1 cambiarlo por otro Gráfico1 = GraVisitas
(asumiendo que se trata de graficos incrustados en una hoja de calculo)...
el nombre que le asigna excel (al momento de su creacion)... depende...
-> del numero de objetos que se van incrustando a las hojas
-> si se trata del primer objeto incrustado, se le asigna un nombre acorde al objeto
seguido del numero de objetos incrustados que sigue (p.e. chart1 o grafico1 o auto forma 1)
-> la secuencia numerica se va conservando (por todos los objetos incrustados)
(incluso si se llegan a eliminar, la siguiente numeracion sera ascendente) <= OJO
-> (ademas) los nombres de los objetos SI pueden estar repetidos (solo que)...
al hacer referencia por nombre, si existen repetidos... se asume el primero <= OJO
-> si piensas estar cambiando los nombre de dichos objetos incrustados...
(te sugiero)... haz la referencia por indice (numero de objetos similares) -p.e.-
=== en un modulo de codigo normal ===
Sub CambiarNombreAlGrafico_1()
With ActiveSheet.ChartObjects(1)
MsgBox .Name
.Name = "Escribe aqui su nuevo nombre"
MsgBox .Name
End With
End Sub
o...
1) cuando insertas un grafico usando el metodo Charts.Add (generalmente) obtienes una hoja de graficos aparte
ademas de que se queda como el grafico (hoja u objeto) "activo" de donde puedes obtener su nombre +/- con:
ActiveChart.Name
(y el nombre del grafico asume el estilo de "Chart n" donde "n" es el numero que le toca)
2) cuando luego de crear la hoja... "mueves" el grafico (ahora) como objeto incrustado en "x" hoja...
el nombre podria cambiar al estilo de: "hoja1 Grafico n" (n sigue siendo el numero que le toca)
3) lo que no entiendo es "como/donde/..." piensas controlar el nombre de cada grafico "creado"
(a menos que estes pensando en usar alguna matriz re/dimensionable) -???-
4) otra alternativa es que insertes (directamente) un objeto Chart en la hoja activa (podrias tener mejor control)
utilizando el metodo ChartObjects.Add y el metodo .ChartWizard para determinar las opciones...
con algo +/- como lo siguiente (incluso, puedes determinar en que rango de la hoja se inserta el objeto)
(en el ejemplo utilizo el rango D10:J30 como el "area" donde veras el grafico)
y NO se queda como el objeto "seleccionado" (entre otras cosillas que podrias administrar desde el principio)
si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.
Sub Insertar_grafico()
Dim L As Single, T As Single, W As Single, H As Single, Nombre As String
With ActiveSheet
With .Range("d10:j30")
L = .Left: T = .Top: W = .Width: H = .Height: End With
With .ChartObjects.Add(L, T, W, H)
.Chart.ChartWizard _
Range("a31:b33"), xlPie, 1, xlColumns, 1, 1, 1, "Titulo: " & Range("b31")
Nombre = .Name
End With
MsgBox "Se acaba de agregar un grafico en " & .Name & vbCr & _
"con el nombre de: " & Nombre
End With
End Sub
p.d. con relacion a tu post de las multiplicaciones...
mande una propuesta (al grupo) con un adjunto... (supongo que no lo has visto ?)
Muchas gracias, por lo que veo si se puede cambiar el nombre, yo habia
desistido, recien que he ingresado a este grupo he encontrado
respuestas inmediatas, antes me he pasado semanas averiguandolo en
internet, muy bueno este portal, ya lo habia visto antes pero no sabia
como dialogar, con respecto p.d. si me indicas como verlo, siempre
estoy ingresando para ver sobre las multiplicaciones.
Gracias,
Cesar
Saludos desde Tenerife: Antonio.
*********************************
"Héctor Miguel" <NOhemio...@PLShotmail.com> escribió en el mensaje news:ebvFyFj0...@TK2MSFTNGP06.phx.gbl...
Gracias por el dato, cuando uno no sabe las respuestas es dificil,
pero cuando te la dicen parece tan facil, poco a poco es aprendiendo
excel VBA, muchas gracias.
Saludos,
Cesar