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

Creando relaciones de confianza entre maquinas Linux por SSH

He buscado muchas veces sobre este mismo tema asi que hoy he decidido documentarlo para su posterior uso. De manera general una relación de confianza entre maquinas se establece con el objetivo de evitar la digitación de contraseña para acceso por terminal (ssh). Es decir que yo pueda acceder a una maquina y esta revise entre sus known_host (lista de equipos conocidos) y me permita acceso. Otra funcion importante es que se pueda realizar sincronizaciones mediante rsync y programadas por Cron evitando la intervención del usuario. Ahora si el procedimiento tecnico. Este proceso lo realize entre dos maquinas linux con sistemas operativos Ubuntu y Red Hat respectivamente. En el caso de la maquina con Ubuntu, escogi el usuario sobre el cual deseo crear la confianza. Este procedimiento hay que hacerlo con cada usuario en el cual desea evitar digitar la contraseña puesto que son entidades independientes con privilegios distintos dentro del S.O. usuario@ubuntu$ ssh-keygen - t rsa --...

Variables y Tipos de datos - Macros en Excel

Las variables son útilies en la creación de Macros. Son de nuestro especial interés cuando deseamos desarrollar formulas personalizadas (User Defined Formulas). Para introducirnos en el tema de la creación de formulas, necesitamos reconocer los tipos de datos existentes y tener la capacidad de utilizarlos. A continuación se presenta una tabla con los tipos de datos y la capacidad de almacenamiento según el tipo.   Cada de uno de estos tipos de datos deben usarse en concordancia con el objetivo de la macro. El siguiente ejercicio muestra el uso de variables tipo entero (integer): Entrar una cantidad que representa el precio de algo por el teclado con la instrucción InputBox y guardarlo en la celda A1 de la hoja activa. Si el valor entrado desde el teclado (y guardado en A1) es superior a 1000, pedir descuento con otro InputBox y guardarlo en la casilla A2 de la hoja activa. Calcular en A3, el precio de A1 menos el descuento de A2. Sub variables1() Dim Precio As...