Ir al contenido principal

Ejercicios de practica del modelo de objetos de VBA

1. Desarrolle una macro que cree un libro. Una vez creado el libro genere numeros aleatorios en el rango A1-F10. Luego seleccione el rango, haga una copia en 3 hojas del libro. Por último guarde el libro en la carpeta de documentos del computador.

2.  Utilice las funciones Inputbox y Msgbox para solicitar al usuario que digite 2 numeros y luego realice la suma de los numeros y muestrela mediante la función Msbox.

Utilice la ayuda del explorador de objetos para utilizar Inputbox y Msgbox.



Solución a los ejercicios - Actualización 6 de diciembre 2011

Ejercicio 1
**************************************

Sub ejercicio()
'Desarrollada por Juan David Cabrera Cardona

Workbooks.Add
Range("A1:F10").FormulaR1C1 = "=RANDBETWEEN(0,150)"
Range("A1:F10").Copy
Sheets("Hoja2").Paste
Sheets("Hoja3").Paste

'La ruta de la linea siguiente puede ser remplazada por una ruta valida en su computador
ActiveWorkbook.SaveAs Filename:="C:\Users\SALA4\Documents\Ejemplof.xlsm", _
        FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False


End Sub
---------------------------------------------------------
Sub nuevo_libro()
'Macro desarrollada por Einar Arenas Alvarez

    Workbooks.Add
   
Dim fila, columna As Byte
Dim aleatoiro As Integer
Cells(2, 5).Select
    For fila = 1 To 10
        For columna = 1 To 6
            Cells(fila, columna) = "=rand()"
        Next columna
    Next fila
Range("A1:F10").Select
Selection.Copy
Sheets("Hoja3").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

'Falta desarrollar la instrucción que guarda el libro

End Sub

---------------------------------------------------------

Sub macro1()
'Macro desarrollada por Sandra Milena Chaves Carvajal

Workbooks.Add
ActiveCell.FormulaR1C1 = "=RANDBETWEEN(0,10)"
    Range("A1").Select
    Selection.AutoFill Destination:=Range("A1:F1"), Type:=xlFillDefault
    Range("A1:F1").Select
    Selection.AutoFill Destination:=Range("A1:F10"), Type:=xlFillDefault
    Range("A1:F10").Select
Range("A1:F10").copy Sheets("Hoja2").Range("A1:F10")
Range("A1:F10").copy Sheets("Hoja3").Range("A1:F10")

'La ruta de la linea siguiente puede ser remplazada por una ruta valida en su computador
ActiveWorkbook.SaveAs Filename:="C:\Users\SALA4\Documents\Libro1..xls", _
        FileFormat:=xlExcel8, Password:="", WriteResPassword:="", _
        ReadOnlyRecommended:=False, CreateBackup:=False
End Sub
---------------------------------------------------------

Sub macro_1()
'Macro desarrollada por Hector Andres Garcia Manchola

Workbooks.Add
Range("A1:F10").Value = "=Rand()"
Range("A1:F10").Copy Worksheets(2).Range("A1:F10")
'Selection.Copy
'Sheets("Hoja2").Select
'Range("A1:F10").Select
'ActiveSheet.Paste
'Range("A1:F10").Select
Selection.Copy
Sheets("Hoja3").Select
Range("A1:F10").Select
ActiveSheet.Paste
Worksheets.Add
Sheets("Hoja4").Select
Range("A1:F10").Select
ActiveSheet.Paste

'La ruta de la linea siguiente puede ser remplazada por una ruta valida en su computador
ActiveWorkbook.SaveAs Filename:="C:\Users\SALA4\Documents\Trabajo_1.xlsx", _
        FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
End Sub


**************************************

Ejercicio 2
**************************************
Sub mensaje()
'Desarrollada por Juan David Cabrera Cardona

Dim Val As Integer
Dim Val2 As Integer
Dim Suma As Integer
Val = InputBox("Primer Valor", "Numero", "")

Val2 = InputBox("Segundo Valor", "Numero", "")
Suma = Val + Val2
Dim Res As Integer
Res = MsgBox(Suma, , "Resultado")

End Sub

----------------------------------------------------------

Comentarios

Entradas más populares de este blog

Ejercicio Condicionales usando Macros en Excel

La toma de decisiones es determinante en la secuencia de ejecución de una macro. Las herramientas que proporciona VBA para la toma de decisiones descansan en los condicionales. Un ejemplo de estructuras condicionales en Excel es la función "SI", la cual permite hacer una prueba lógica y tomar generar dos resultados posibles dependiendo si la prueba lógica es verdadera o falsa. "SI su estatura en metros es superior a 1.5 mts, puede ingresar a la montaña rusa, de lo contrario NO". En la afirmación anterior solo aquellos niños con una estatura superior a 1.5 tendrán acceso al juego mecánico, los demás niños simplemente estarán excluidos del juego hasta que cumplan el requisito de forma imperativa.
El lenguaje de macros permite 3 estructuras condicionales distintas:
a) IIF(prueba_lógica, verdadero, falso). Su resultado obligatoriamente debe asignarse a una variable
variable = IFF(3>1, "Verdadero", "Falso"). El tipo de variable puede ser numero, …

Buscar en Excel usando Desref y Coincidir

Si bien la función BuscarV resulta de gran ayuda a la hora de las búsquedas, existen otras funciones que aunque propiamente no se especialicen en buscar, pueden utilizarse para ejecutar búsquedas. En el post anterior hablamos de Indice y Coincidir, en este post quiero mostrar cómo utilizar la función Desref en compañia de Coincidir. 
Función Desref: regresa un rango a partir de una referencia dada. Este rango puede ser una sola celda o varias celdas
=DESREF(Ref;Filas;Columnas;[Ancho];[Alto])
Argumentos:
Ref: Es la referencia desde la cual desref hará el cálculo de cuantas filas y colunmas voy a incluir en el rango que deseo seleccionar o que requiero obtener como resultado de la función.
Filas: Numero de filas que cuenta desref a partir de Ref. Puede ser un número negativo o positivo. Positivo contará filas hacia abajo y negativo hacia arriba.
Columnas: Numero de columnas que cuenta desref a partir de Ref. Puede ser un número negativo o positivo. Positivo contará columnas a la dere…