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. 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 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 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 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 With ActiveCell.Font.Bold = True.Size = 1 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:.colorindex = 5 With Selection.Interior.ColorIndex = 36
With Selection.HorizontalAlignment = xldistributed.verticalalignment = xlcenter 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. 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 Sub FormatoCelda() Range("K4").Select b) Usar la estructura o construcción With- 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 9) Seleccionar todas las celdas en un Rango definido B100:E100 en la Hoja 2 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 Set tabla = Range("M6:N11") tabla.select For Each celda In Selection contador = contador + 1 celda = contador Next 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() Set tabla = Range("M6:N11") num = InputBox("Escriba el valor a buscar") tabla.find(num).select ActiveCell.Font.Bold = True