Cambiar el tipo de Chart
------------------------
Sub ChangeChartType()
'Cambiando el tipo de Chart
ActiveChart.Type = xl3DPie
ActiveChart.ChartType = xl3DLine
'Segun veo las 2 formas son validas para cambiar el tipo de chart
'de igual manera puedes seleccionar la constante xl3DPie y presionar CTRL + J
'y asi accedes a la lista de otros tipos de charts
'o tambien puedes probar grabando tus propias macros y asi verificas los tipos disponibles de manera sencilla
End Sub
Sub ConvertChartInsheet()
'De igual manera puede convertir el Chart activo en una nueva hoja de grafico
ActiveChart.Location Where:=xlLocationAsNewSheet, Name:=ActiveChart.Parent.Name
End Sub
Eliminar los graficos de la hoja activa
Sub DeleteAllcharts()
ActiveSheet.ChartObjects.Delete
End Sub
'eliminar todas las hojas de chart del libro
Sub DeleteAllcharts1()
ActiveWorkbook.Charts.Delete
End Sub
En la sgte entrada trataremos sobre los elementos propios del Chart
Chart area,Plot area,legend,ejes,etc..
Excel VBA Code/Excel Macros / Complementos para Excel/vba macros/vba samples Excel Macros/Excel VBA/Excel Add-ins /Microsoft Excel/Spreadsheet Tools/Charts
domingo, 6 de septiembre de 2009
Graficos(Chart) - Excel - Excel Charts 1
Modelo de objetos - Grafico(Chart)
---------------------------------
Application
Workbook
Worksheet
ChartObjets
Chart
Conocinedo esta estructura para el modelo de objetos - grafico podra acceder a un grafico determinado para modificarlos segun guste.
Activar un grafico mediante su index correspondiente ,es decir el numero de index que le corresponde dentro de la coleccion .
De aqui en adelante sera mejor refererise al grafico como Chart(traducido) es mas practico porque asi se emplea en el codigo.
un ejemplo sencillo seria el activar el chart numero 3 de su hoja..(..claro siempre exista)
ActiveSheet.ChartObjects(3).Activate
De igual manera puede elimininar al chart de index 2 .
Eliminar un chart determinado
ActiveSheet.ChartObjects(2).Delete
Cambiar el nombre a un chart determinado
ActiveChart.Parent.Name = "ChartDeudas"
Cambiar el titulo de un chart
ActiveChart.ChartTitle.Text = "Deudas"
Activando un grafico mediante su nombre
Activesheet.Chartobjects("ChartDeudas").activate
Recuperar el nombre del chart activo
-----------------------------------
Msgbox ActiveChart.Name
'Te devolvera una cadena de esta forma primero la referencia a la hoja y luego el nombre del chart.
Hoja1 Gráfico 1
Msgbox ActiveChart.parent.Name
'Te devolvera exactamente lo que imagino que buscabas...solo el nombre del chart
Chart 1
En la proxima entrada la continuacion de charts..
---------------------------------
Application
Workbook
Worksheet
ChartObjets
Chart
Conocinedo esta estructura para el modelo de objetos - grafico podra acceder a un grafico determinado para modificarlos segun guste.
Activar un grafico mediante su index correspondiente ,es decir el numero de index que le corresponde dentro de la coleccion .
De aqui en adelante sera mejor refererise al grafico como Chart(traducido) es mas practico porque asi se emplea en el codigo.
un ejemplo sencillo seria el activar el chart numero 3 de su hoja..(..claro siempre exista)
ActiveSheet.ChartObjects(3).Activate
De igual manera puede elimininar al chart de index 2 .
Eliminar un chart determinado
ActiveSheet.ChartObjects(2).Delete
Cambiar el nombre a un chart determinado
ActiveChart.Parent.Name = "ChartDeudas"
Cambiar el titulo de un chart
ActiveChart.ChartTitle.Text = "Deudas"
Activando un grafico mediante su nombre
Activesheet.Chartobjects("ChartDeudas").activate
Recuperar el nombre del chart activo
-----------------------------------
Msgbox ActiveChart.Name
'Te devolvera una cadena de esta forma primero la referencia a la hoja y luego el nombre del chart.
Hoja1 Gráfico 1
Msgbox ActiveChart.parent.Name
'Te devolvera exactamente lo que imagino que buscabas...solo el nombre del chart
Chart 1
En la proxima entrada la continuacion de charts..
domingo, 24 de mayo de 2009
La propiedad Offset Excel - VBA
La propiedad Offset
--------------------
La propiedad offset permite 2 argumentos que corresponden a la posicion relativa a la celda.
Ejemplo
--------
Object.offset(RowOffset,ColumnOffset)
ActiveCell.Offset(0, 0).Select 'como hemos colocado 0 para los argumentos de fila y columna
la seleccion sigue siendo nuestra celda activa inicial.
Activecell.0ffset(1,0).select 'ahora la celda activa se encuentra una fila por debajo
'si nuestra celda activa inicial hubise sido A1 ahora la celda activa seria A2
Msgbox Activecell.0ffset(1,0).address
Es importante tambien tener en cuenta que obtendremos un error si asignamos o nos tratamoos de desplazar a una rango inexistente.
por ejemplo ActiveCell.Offset(-5, 0).Select 'nos arrojara un error porque no existe el rango que se trata de seleccionar que seria 5 filas arriba de A2.
De igual manera podemos desplazarnos entre las colmnas variando el valor para ColumnOffset
ActiveCell.Offset(0, 1).Select 'desplazarse una columna a la derecha
Tambien podemos usar ambos argumentos(RowOffset,ColumnOffset) para indicar hacia donde desplazarnos o asignar un valor a determinada celda.
Sub sample_vba_offset()
Dim RANGO As Range
Set RANGO = Range("B1")
RANGO.Offset(2, 4).Value = "27 DE MAYO GRAN FINAL DE LA Champions league - 2009"
'nos movemos 2 filas por debajo y 4 columnas a la derecha
End Sub
'Ojo...de igual manera obtendremos un error si tratamos de mover o asignar un valor hacia un rango no existente.
ActiveCell.Offset(0, -3).Select 'desplazarse 3 columnas a la Izquierda
--------------------
La propiedad offset permite 2 argumentos que corresponden a la posicion relativa a la celda.
Ejemplo
--------
Object.offset(RowOffset,ColumnOffset)
ActiveCell.Offset(0, 0).Select 'como hemos colocado 0 para los argumentos de fila y columna
la seleccion sigue siendo nuestra celda activa inicial.
Activecell.0ffset(1,0).select 'ahora la celda activa se encuentra una fila por debajo
'si nuestra celda activa inicial hubise sido A1 ahora la celda activa seria A2
Msgbox Activecell.0ffset(1,0).address
Es importante tambien tener en cuenta que obtendremos un error si asignamos o nos tratamoos de desplazar a una rango inexistente.
por ejemplo ActiveCell.Offset(-5, 0).Select 'nos arrojara un error porque no existe el rango que se trata de seleccionar que seria 5 filas arriba de A2.
De igual manera podemos desplazarnos entre las colmnas variando el valor para ColumnOffset
ActiveCell.Offset(0, 1).Select 'desplazarse una columna a la derecha
Tambien podemos usar ambos argumentos(RowOffset,ColumnOffset) para indicar hacia donde desplazarnos o asignar un valor a determinada celda.
Sub sample_vba_offset()
Dim RANGO As Range
Set RANGO = Range("B1")
RANGO.Offset(2, 4).Value = "27 DE MAYO GRAN FINAL DE LA Champions league - 2009"
'nos movemos 2 filas por debajo y 4 columnas a la derecha
End Sub
'Ojo...de igual manera obtendremos un error si tratamos de mover o asignar un valor hacia un rango no existente.
ActiveCell.Offset(0, -3).Select 'desplazarse 3 columnas a la Izquierda
domingo, 1 de febrero de 2009
Principales Eventos del formulario(Initialice,Activate,QueryClose

Principales Eventos del formulario
----------------------------------
Initialice.
**********
Se ejecutara antes de que cargue o se muestre el formulario de usuario
Activate.
********
Se ejecuta cuando se muestra el formulario.
QueryClose
----------
Se ejecuta antes de descargar el formulario
Terminate
---------
Se ejecuta despues de descargar el formulario
*El primer evento que se ejecutara el usar el metodo show es el initialice..
Por ejemplo ...esta macro
sub abrir_formulario
Userform1.Show
End sub
Desencadenera el evento Initialize de Userform1
Private Sub UserForm_Initialize()
Msgbox "iniciando"
End Sub
y...Esta macro descargara el formulario desencadenado los sgtes eventos
Sub Close()
Unload UserForm1
End sub
1.QueryClose
2.Terminate
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
Msgbox "ya me voy"
End Sub
Private Sub UserForm_Terminate()
End Sub
Trabajar con userform 1.0 (Eventos en el formulario (userform) y en los controles...)



Eventos en el formulario y en los controles...
El formulario y todos los controles que agreguemos estan diseñados para interactuar con los usuarios
mediante las acciones o eventos que se realicen.
Para conocer los eventos disponibles para el formulario
coloquese en alguna parte del formulario y de doble clik
Conocer las acciones o eventos disponibles para un control
DE igual manera para conocer los eventos propios a un determinado control simplemente
de dar doble clik sobre el control.
Construcciones With End With
Construcciones With - End With
nos permitira realizar varias operaciones con un objeto sin la necesidad
de referenciarlo varias veces.
Por ejemplo..
En este ejemplo se observa la referencia Selection.Font hasta 3 veces..pero se puede mejorar..
verifique Las siguientes macros y quedara totalmente claro
Sub sinWITHENDW() 'Macro1
Selection.Font.Color = 255 'color fuente
Selection.Font.Bold = True 'negrita
Selection.Font.Italic = True 'itali
End Sub
Sub conWithEndWith() 'Macro2
With Selection.Font
.Color = 255 'color fuente
.Bold = True 'negrita
.Italic = True 'itali
End With
End Sub
nos permitira realizar varias operaciones con un objeto sin la necesidad
de referenciarlo varias veces.
Por ejemplo..
En este ejemplo se observa la referencia Selection.Font hasta 3 veces..pero se puede mejorar..
verifique Las siguientes macros y quedara totalmente claro
Sub sinWITHENDW() 'Macro1
Selection.Font.Color = 255 'color fuente
Selection.Font.Bold = True 'negrita
Selection.Font.Italic = True 'itali
End Sub
Sub conWithEndWith() 'Macro2
With Selection.Font
.Color = 255 'color fuente
.Bold = True 'negrita
.Italic = True 'itali
End With
End Sub
Suscribirse a:
Entradas (Atom)