PDF de programación - Capítulo 8

Imágen de pdf Capítulo 8

Capítulo 8gráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 13 de Marzo del 2018)
457 visualizaciones desde el 13 de Marzo del 2018
121,6 KB
6 paginas
Creado hace 10a (03/09/2010)
Capítulo 8

A. Presentación

Un evento es una acción del usuario o del sistema reconocido por un objeto de
Microsoft Excel. El evento desencadena un procedimiento, asociado al evento del
objeto activo.

Estos procedimientos le permiten asociar un código personalizado en respuesta a
un evento que se produce en un objeto Excel (libro, hoja, formulario, gráfico, etc.).

B. Escritura de eventos

1. Eventos de libro, de hoja o de formulario

Usted puede acceder a los procedimientos de eventos asociados a un objeto de la
siguiente manera:

k En la ventana Explorador de proyectos, haga doble clic en el objeto deseado
la ventana de código

(libro, hoja o formulario) para hacer aparecer
correspondiente.

k Abra la lista desplegable a la izquierda de la ventana de código y seleccione

Workbook, Worksheet o UserForm, según el objeto seleccionado.

264

VBA Excel 2010

Administración de eventos

k También puede seleccionar un evento vinculado al objeto seleccionado en la

lista desplegable de la derecha, para asociarle un código personalizado.

La ejecución de los procedimientos de eventos, se puede desactivar en
cualquier momento asignando el valor False a la propiedad EnableEvents del
objeto Application.

Ejemplo

Este ejemplo muestra cómo obtener un listado histórico de todos los hipervínculos
visitados en la hoja de cálculo activa.

d
e
v
r
e
s
e
r

s
t
h
g
i
r

l
l

A

-

I

N
E

s
n
o
i
t
i
d
E
ã

Programación en Excel

265

Capítulo 8

Resultado en Excel:

2. Eventos del objeto Application

Se necesitan tres etapas para la escritura y ejecución de los eventos del objeto
Application.

Etapa 1

k Inserte un módulo de clase:

Insertar
Módulo de clase

o abra la lista

y haga clic en Módulo de clase.

k Una vez insertado el módulo, asígnele un nombre.

Ejemplo

Dele el nombre ObjApplication al módulo de clase.

Etapa 2

k En el módulo de clase, cree un objeto Application con el siguiente código:

Public WithEvents NomObjeto As Application

266

VBA Excel 2010

Administración de eventos

Ejemplo

Creación del objeto MiAplicacion como aplicación.

Public WithEvents MiAplicacion As Application

El objeto así creado queda disponible en la lista de la izquierda del módulo.

k Seleccione el objeto creado en la lista de la izquierda del módulo y luego
seleccione el evento esperado en la lista de la derecha. Escriba el código de los
procedimientos que desea generar.

Ejemplo

Creación de dos procedimientos de eventos: el primero realiza la inserción de
una nueva hoja; el segundo, la creación de un nuevo libro.

Public WithEvents MiAplicacion As Excel.Application
________________________________________________________________________
Private Sub MiAplicacion_WorkbookNewSheet _

(ByVal Wb As Workbook, ByVal Sh As Object)

Cada vez que se agrega una hoja se pide al usuario
que introduzca un nombre que a continuación se destinará a la hoja
insertada tras las hojas existentes

Dim NomHoja As String
'
'
'
NomHoja = InputBox("Introduzca el nombre de la hoja")
ActiveSheet.Name = NomHoja
ActiveSheet.Move After:=Sheets(Sheets.Count)

End Sub
_______________________________________________________________________
Private Sub MiAplicacion_NewWorkbook(ByVal Wb As Workbook)

Dim NbHojas As Integer
Dim NbActual As Integer
Dim Diferencia As Integer
'
'
'
Do

Por cada nuevo libro,
solicitamos al usuario la cantidad de hojas
Según el caso, se agregan o eliminan las hojas necesarias

NbHojas = Application.InputBox _

("¿Cantidad de hojas?", Type:=1)

Loop While NbHojas = False
NbActual = Sheets.Count
Diferencia = NbActual - NbHojas
'
'
'

Eliminar las hojas de más
Eliminar los mensajes de alerta con el fin
de no obtener mensajes en la eliminación de hojas

d
e
v
r
e
s
e
r

s
t
h
g
i
r

l
l

A

-

I

N
E

s
n
o
i
t
i
d
E
ã

Programación en Excel

267

Capítulo 8

Do While Diferencia > 0

Application.DisplayAlerts = False
Sheets.Item(Diferencia).Select
ActiveWindow.SelectedSheets.Delete
Diferencia = Diferencia - 1

Loop

Agregar hojas necesarias
Se desactivan los eventos para
no indicar los nombres de las nuevas hojas

'
'
'
Do While Diferencia < 0

Application.EnableEvents = False
Sheets.Add

Diferencia =

Diferencia + 1

Loop
'
Reactivar eventos y alertas
Application.EnableEvents = True
Application.DisplayAlerts = True

End Sub

Etapa 3

k Active un módulo cualquiera y conecte el objeto declarado en el módulo de

clase con el objeto Application para las siguientes instrucciones:

Dim NomVariable As New NomModuloDeClase

Sub NomProced ()
Set NomVariable.NomObjeto = Application
End Sub

Ejemplo

Agregue el siguiente código en el módulo Declaraciones.

Option Explicit
Dim app As New ObjApplication
________________________________________________________________________
Sub InicializaMiAplicacion()

Set app.MiAplicacion = Application

End Sub

268

VBA Excel 2010

Finalmente,
(módulo de clase ThisWorkbook).

llame al procedimiento InicializaMiAplicacion al abrir el

libro

Administración de eventos

Private Sub Workbook_Open()

InicializaMiAplicacion

End Sub

Cuando se abra el
libro, se ejecutarán automáticamente los procedimientos de
eventos creados durante la etapa 2 y se agregarán los libros o las hojas. Estos
procedimientos se desactivarán al cerrar el libro.

3. Evento asociado a un gráfico incrustado

La colección Charts (del objeto Workbook) contiene todos los gráficos del
especificado.

libro

Se necesitan tres etapas para la escritura y la ejecución de los eventos asociados a
un gráfico incrustado.

Etapa 1

k Inserte un módulo de clase:

Insertar
Módulo de clase

o abra la lista

y haga clic en Módulo de clase.

k Una vez insertado el módulo, asígnele un nombre.

Ejemplo

Dele el nombre ObjGraficos al módulo de clase.

Etapa 2

k En el módulo de clase, cree un objeto gráfico para el siguiente código:

Public WithEvents NomObjeto As Chart

Programación en Excel

269

d
e
v
r
e
s
e
r

s
t
h
g
i
r

l
l

A

-

I

N
E

s
n
o
i
t
i
d
E
ã
  • Links de descarga
http://lwp-l.com/pdf9492

Comentarios de: Capítulo 8 (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad