Ejercicios sobre Objetos Libros:

Transcripción

Ejercicios sobre Objetos Libros:
Ejercicios sobre Objetos Libros:
1) Obtener la ruta completa donde se encuentra un Libro abierto:
En un módulo insertado en Libro1 escribir un Procedimiento
RutaCompleta() que devuelva la ruta completa de este Libro.
Indicaciones:
a. Usar la siguiente instrucción con la variable tipo String vRuta:
vRuta = ThisWorkbook.Path
b. Utilizar un Cuadro MsgBox para informar al usuario:
MsgBox “Ruta del Libro…”& ActiveWorkbook.Name & “=” &
“vRuta”
Donde hemos usado el operador & de concatenación o
apending y el método ActiveWorkbook.Name de la
Propiedad ActiveWorkbook del Objeto Application
2) Elegir la Hoja de Cálculo (la 3ª) que aparecerá al abrir el Libro con
un mensaje y la Hora
Indicaciones:
a. Usar un Procedimiento AbrirHoja() con un mensaje de
bienvenida en el MsgBox “Hola es la hora:…” y usando la
función Time :
MsgBox (“Hola, es la hora:….” & Time)
b. Seleccionar la Hoja 3 del Libro corriente con:
Sheets("Hoja3").Select
3) Actualizar todos los cálculos de una Hoja antes de cerrar el Libro
Indicaciones:
a. Ponemos en Fórmulas…Opciones para Cálculo en Manual.
b. Escribimos un Procedimiento Recalcular() que fuerce la
actualización de los cálculos antes de cerrar el libro, para ello
usamos la instrucción:
Application.CalculateBeforeSave =True
Ejercicios sobre Objetos Hojas de Cálculo
4) Cambiar el nombre de la Hoja activa
Indicaciones:
a. Escribir un Procedimiento llamado Renombrar() usando
una variable tipo String llamada vNombre y una caja de
entrada InputBox:
vNombre=InputBox(“Entrar el nuevo Nombre de la Hoja”)
b. Usamos la propiedad Name de ActiveSheet en el Objeto
Window:
ActiveSheet.Name=vNombre
5) Desencadenar una acción cuando se activa una Celda de una Hoja
Escribir un Procedimiento DesencadenarAbrir() cuando se haga clic
en una Celda
Indicaciones:
a. Modificar el valor de la Celda con el String “Aquí estoy”
mediante la instrucción:
ActiveCell.Value= “Aquí estoy”
b. Modificamos el formato de la Celda mediante:
With ActiveCell.Font
.Bold = True
.Size = 1
.ColorIndex = 5
End With
With Selection.Interior
.ColorIndex = 36
End With
With Selection
.HorizontalAlignment = xlDistributed
.VerticalAlignment = xlCenter
End With
Ejercicios sobre objetos Celdas
6) Recuperar el valor de una celda
Escribir un Procedimiento RecuValor() en un Módulo, que devuelva
el valor que hay en una celda dada. Por ejemplo escribir en la K4 la
palabra “océano” y leer en un MsgBox :
“la celda K4 contiene: océano”.
7) Modificar el valor de una celda
Modificar el valor de K4 al valor entero : 45 con un Procedimiento
ModiValor()
8) Modificar el Formato de una celda
Escribir un procedimiento FormatoCelda() en la ventana de código
de la Hoja Worksheet 1 que aplique a la celda K4 : fondo azul, caracteres
amarillos y fuente Comic Sans tamaño 14.
Indicaciones:
a) Usar el método Select y la propiedad Selection del objeto
Range:
El método Select activa las hojas y los Objetos (Range) de las hojas; la
propiedad Selection devuelve un objeto que representa la selección actual
del Objeto Range de la Hoja activa del Libro activo.
Antes de utilizar la propiedad Selection, se debe activar un Libro, activar o
seleccionar un Hoja y, a continuación, seleccionar un Rango, u otro objeto,
con el método Select
b) Usar la estructura o construcción With-End With
Sub FormatoCelda()
Sheets(1).Activate
Range("K4").Select
Selection.Interior.ColorIndex = 5
With Selection.Font
.ColorIndex = 36
.Name = "comic sans ms" ‘da igual ponerlo con Mayús. “Comic” o minús. “comic”
.Size = 14
End With
End Sub
9) Seleccionar todas las celdas en un Rango definido B100:E100 en la
Hoja 2
Indicaciones:
a) Activar la Hoja 2
b) Usaremos el método Select aplicado al Range(“B10:E100”)
c) Hacer lo mismo pero llamando al Rango B10:E100 con el nombre :
Zonal
Ojo: hay que dimensionar al nombre Zonal con tipo Range:
Dim Zonal As Range
10) Llenar una Tabla con números
Escribir un Procedimiento Sub LlenarNum() en la Hoja 1 de manera que
llene la siguiente Tabla con números del 1 al 12 en el Rango: M6:N11
1
2
3
4
5
6
7
8
9
10
11
12
Indicacion: usaremos un bucle For Each…Next,
Sub LlenarNum()
Dim tabla As Range
Dim celda As Range
Dim contador As Integer
Sheets(1).Activate
Set tabla = Range("M6:N11")
tabla.Select
For Each celda In Selection
contador = contador + 1
celda = contador
Next
End Sub
11) Buscar un valor en una Tabla
Con el Procedimiento BuscarRango() buscar con el método Find (en vez
de un bucle: es más rápido) un número escrito por el usuario en la Tabla
anterior. Una vez encontrado poner el valor en negrita.
Sub BuscarRango()
Sheets(1).Activate
Set tabla = Range("M6:N11")
num = InputBox("Escriba el valor a buscar")
tabla.Find(num).Select
ActiveCell.Font.Bold = True
End Sub

Documentos relacionados