Elementos Vba Vba

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 34

lOMoARcPSD|41797060

Elementos VBA - VBA

fundamentos de programacion (Corporación Universitaria Iberoamericana)

Escanea para abrir en Studocu

Studocu no está patrocinado ni avalado por ningún colegio o universidad.


Descargado por jose alexis castro medina (castromedina61@gmail.com)
lOMoARcPSD|41797060

Actividad 2 - Elementos del VBA

Dariana Alarcon

Carlos Vidal

Jenny Pinto

Ing. Francisco Sierra

Docente

Corporación Universitaria Iberoamericana

Facultad de Ingeniería

Fundamentos de programación

Bogotá D.C.

2023

Descargado por jose alexis castro medina (castromedina61@gmail.com)


lOMoARcPSD|41797060

Desarrollo - Actividad 2

1. En primera instancia, se debe desarrollar un análisis de los conceptos fundamentales de la


programación orientada a objetos y a eventos, es por ello por lo que se recomienda revisar los
siguientes temas:

a. Programación orientada a objetos.

b. Programación orientada a eventos.

c. Estructura de un programa de VBA.

d. Método Sub de VBA.

e. Función y parámetros de función.

f. Llamado de funciones.

g. Tipos de variables en VBA.

h. Módulos y formularios en VB

Desarrollo

Podemos decir que la programación orientada a objetos es un importante conjunto de técnicas


que pueden usarse para hacer el desarrollo de programas mas eficientes, a la par que mejora la
fiabilidad de los programas. En este tipo de programación los objetos son los elementos
fundamentales en su construcción, no solamente es comprender lo que es un objeto, o su uso
dentro de un programa. Lo fundamental dentro de un sistema es la manera como estos se
interconectan y se comunican entre sí. Podemos entender esta como una manera de programar,
mucho más cercana a las cosas en la vida real que en otras formas de programación, que nos
permite diseñar mejor las aplicaciones, llegando a mayores cotas de complejidad, sin que por ello
el código que se genere se vuelva inmanejable.

La programación orientada a objetos surge por la necesidad de solucionar inconvenientes que


presentaba la programación estructurada, esta era la forma de programación usada desde
principios de la década de los setenta, y la cual consiste en ir descomponiendo un programa en
elementos más pequeños y manejables, denominados funciones, lo cual permite escribir código
más claro.

Al emplear la programación orientada a objetos debemos aprender a pensar cómo resolver los
problemas de una manera distinta a como hacíamos esto anteriormente, en la programación
estructurada. Ahora debemos escribir nuestros programas en términos de clases, objetos,
propiedades y métodos.

En cuanto a la programación orientada a eventos es una forma de programación en el que la


estructura y la ejecución de los programas están determinados por los sucesos o acciones que

Descargado por jose alexis castro medina (castromedina61@gmail.com)


lOMoARcPSD|41797060

ocurren en el sistema, y pueden ser definidos por el usuario o por el propio sistema. La diferencia
de la programación orientada a eventos, con la programación estructurada o secuencial, es que
mientras en la programación secuencial o estructurada, es el programador el que define cuál va a
ser el flujo o la secuencia del programa, en la programación orientada a eventos es el propio
usuario el que dirija el flujo del programa.

Este tipo de programación es muy fácil de usar y es bastante adecuada para aquellas personas que
tienen poco conocimiento en programación. Con los lenguajes orientados a eventos se pueden
realizar de manera rápida aplicaciones sencillas y muy funcionales, usando interfaces gráficas en
las que podemos insertar controles o componentes a los que se le programan los eventos. Estos
eventos permitirán a los usuarios realizar una serie de acciones lógicas dentro del programa.

Dentro de los elementos que forman parte de la programación por eventos, tenemos: Eventos,
propiedades, métodos, algunos de estos elementos son comunes también a la programación
orientada a objetos.

Algunos de los conceptos fundamentales de estas formas de programación son:

Objeto: Es un ente abstracto empleado en programación el cual permite separar los diferentes
componentes de un programa, ayudando así a simplificar su elaboración, depuración y mejoras.

Los objetos integran, a diferencia de los métodos procedurales, tanto los procedimientos como las
variables y datos referentes al objeto. A estos se les otorga ciertas características en la vida real.

Métodos: Son las funciones que se definirán y permiten efectuar al objeto algún tipo de tarea.

Atributos o propiedades: Todas aquellas características que se aplican y las cuales son susceptibles
de ser modificables.

VBA (Visual Basic para aplicaciones) es el lenguaje de macros de Microsoft Visual Basic que es
usado para programar aplicaciones Windows y que viene incluido en varias aplicaciones Microsoft,
entre las que tenemos Excel y Access. VBA permite a usuarios y programadores ampliar la
funcionalidad de estos programas de la suite Microsoft Office. VBA es un subconjunto casi
completo de Visual Basic 5.0 y 6.0. De Visual Basic podemos decir que es un programa basado en
objetos, aunque no orientado a objetos como los son Visual C++. Esto es porque Visual Basic utiliza
objetos con propiedades y métodos, pero carece de los mecanismos de herencia y polimorfismo
propios de los verdaderos lenguajes orientados a objetos como Java y C++.

Con VBA puedes escribir tus propias funciones, crear mediante el método sub tus propios
procedimientos, acceder a funciones propias de Excel, generar formularios

2. Realizar un pequeño programa (en lo posible con un método tipo Sub de VBA) para cada uno
de los siguientes pequeños retos que se describen a continuación, tenga en cuenta que los
ejercicios se han organizado de menor a mayor complejidad, con el fin de que pueda ir
adquiriendo mayor confianza y habilidad en la programación en visual basic for applications.

Descargado por jose alexis castro medina (castromedina61@gmail.com)


lOMoARcPSD|41797060

El trabajo es en equipo, es por ello que se ha creado una serie de puntos que incrementan su
complejidad a medida que se progresa en ellos y también se ha establecido que la solución de un
punto se basa directamente en el aprendizaje logrado en el punto anterior, por lo que se
recomienda no dividir los puntos entre los integrantes sino, por el contrario, analizarlos y
trabajarlos en grupo.

Desarrollo

a) Realice un método sub que genere un mensaje con una función msgbox de visual
basic for applications.

Pantallazo código

Pantallazo de ejecución

Descargado por jose alexis castro medina (castromedina61@gmail.com)


lOMoARcPSD|41797060

Función MsgBox

Muestra un mensaje en un cuadro de diálogo, espera a que el usuario haga clic en un botón y
devuelve un Entero que indica el botón en el que el usuario ha hecho clic.

Sintaxis

MsgBox (prompt, [ buttons, ] [ title, ] [ helpfile, context ])

La sintaxis de la función MsgBox consta de los argumentos con nombre siguientes:

Descripción

Prompt Obligatorio. Expresión de cadena que aparece como mensaje en el cuadro de diálogo. La
longitud máxima de prompt es de aproximadamente 1024 caracteres, según el ancho de los
caracteres utilizados. Si el símbolo del sistema consta de más de una línea, puede separar las líneas
mediante un carácter de retorno de carro (Chr(13)), un carácter de avance de línea (Chr(10)) o
retorno de carro : combinación de caracteres de avance de línea (Chr(13) &Chr(10)) entre cada
línea.

buttons Opcional. Expresión numérica que es la combinación de valores que especifica el número
y tipo de botones para mostrar, el estilo de icono para usar, la identidad del botón predeterminado
y la modalidad del cuadro de mensaje. Si se omite, el valor predeterminado para buttons es 0.

title Opcional. Expresión de cadena que aparece como barra de titulo en el cuadro de diálogo.
Si omite title, el nombre de aplicación se coloca en la barra de título.

helpfile Opcional. Expresión de cadena que identifica el archivo de Ayuda que se usa para
proporcionar ayuda contextual para el cuadro de diálogo. Si se proporciona helpfile, también se
debe proporcionar context.

context Opcional. Expresión numérica que es el número de contexto de Ayuda asignado al tema
correspondiente de la Ayuda por el autor de la misma. Si se proporciona context, también se debe
proporcionar helpfile.

Configuración

La configuración del argumento de botones es:

Constante Valor Descripción


vbOKOnly 0 Muestra solo el botón Aceptar.

vbOKCancel 1 Muestra los botones Aceptar y Cancelar

vbAbortRetryIgnore 2 Muestra los botones Anular, Reintentar e Ignorar.

vbYesNoCancel 3 Muestra los botones Sí, No y Cancelar.

vbYesNo 4 Muestra los botones Sí, No.

Descargado por jose alexis castro medina (castromedina61@gmail.com)


lOMoARcPSD|41797060

vbRetryCancel 5 Muestra los botones Reintentar y Cancelar.

vbCritical 16 Muestra el icono Mensaje crítico.

vbQuestion 32 Muestra el icono Consulta de advertencia.

vbExclamation 48 Muestra el icono Mensaje de advertencia.

vbInformation 64 Muestra el icono Mensaje de información.

vbDefaultButton1 0 El primer botón es el valor predeterminado.

vbDefaultButton2 256 El segundo botón es el valor predeterminado.

vbDefaultButton3 512 El tercer botón es el valor predeterminado.

vbDefaultButton4 768 El cuarto botón es el valor predeterminado.

vbApplicationModal 0 Modal de aplicación; el usuario debe responder al


cuadro de mensaje antes de continuar trabajando
en la aplicación actual.
vbSystemModal 4096 Modal de sistema; todas las aplicaciones se
suspenden hasta que el usuario responde al cuadro
de mensaje.
vbMsgBoxHelpButton 16384 Agrega el botón Ayuda al cuadro de mensaje.
VbMsgBoxSetForeground 65536 Especifica la ventana del cuadro de mensaje como
la ventana en primer plano.
vbMsgBoxRight 524288 Se alinea el texto a la derecha.
vbMsgBoxRtlReading 1048576 Especifica que el texto debe mostrarse de derecha
a izquierda en sistemas en hebreo y árabe.

El primer grupo de valores (de 0 a 5) describe el número y el tipo de botones que se muestran en
el cuadro de diálogo; el segundo grupo (16, 32, 48, 64) describe el estilo de icono; el tercer grupo
(0, 256, 512) determina qué botón es el predeterminado y el cuarto grupo (0, 4096) determina la
modalidad del cuadro de mensaje. Al combinar números para crear un valor final para el
argumento buttons, use solo un número de cada grupo.

Estas constantes están especificadas por Visual Basic para aplicaciones. Como resultado, los
nombres se pueden usar en cualquier lugar del código en vez de los valores reales.

Valores devueltos

Constante Valor Descripción


vbOK 1 Aceptar
vbCancel 2 Cancel
vbAbort 3 Anular
vbRetry 4 Reintentar

Descargado por jose alexis castro medina (castromedina61@gmail.com)


lOMoARcPSD|41797060

vbIgnore 5 Ignore
vbYes 6 Sí
vbNo 7 No

Para solucionar este punto, simplemente invocamos la función y le colocamos el mensaje que
deseamos mostrar, siguiendo la sintaxis de la función que esta especificada en la parte superior
(learn.microsoft.com, 2023)

En este punto de la actividad, se nos pide aplicar la función MsgBox, y mostrar un mensaje, para
ello empleamos la sintaxis que tiene esta función y que se encuentra documentada,
anteriormente. En pseint la solución de este punto se haría de este modo:

b) Realice un pequeño programa en el cual se declaren variables enteras y tipo string


con la estructura Dim “nombre de la variable” as integer o estructura Dim “nombre
de la variable” as string.

Pantallazo código

Descargado por jose alexis castro medina (castromedina61@gmail.com)


lOMoARcPSD|41797060

Pantalla de ejecución

Instrucción Dim

Declara variables y asigna espacio de almacenamiento.

Sintaxis

Dim [ WithEvents ] varname [ ( [ subscripts ] ) ] [ As [ New ] type ] [ , [ WithEvents ] varname [ ( [


subscripts ] ) ] [ As [ New ] type ]] . . .

La sintaxis de la instrucción Dim consta de estas partes:

Parte Descripción
WithEvents Opcional. Keyword que especifica que varname es un objeto
variable que se usa para responder a eventos activados por
un objeto ActiveX. WithEvents solo es válido en módulos de
clase. Con WithEvents puede declarar todas las variables

Descargado por jose alexis castro medina (castromedina61@gmail.com)


lOMoARcPSD|41797060

individuales que desee, pero no puede crear matrices con


WithEvents. No puede usar Nuevo con WithEvents.
varname Obligatorio. Nombre de la variable; sigue las convenciones
de nomenclatura de variable estándar.
subscripts Opcional. Dimensiones de una variable de matriz; se
pueden declarar hasta 60 dimensiones distintas. El
argumento subíndices usa la sintaxis siguiente: [ lowerTo ]
upper [ , [ lowerTo ] upper ] .
Cuando no se encuentra de manera explícita en lower, el
límite inferior de una matriz se controla mediante la
instrucción Option Base. El límite inferior es cero si no existe
una instrucción Option Base.
Nuevo La palabra clave Nuevo no se puede usar para declarar
variables de cualquier tipo de datos intrínseco o declarar
instancias de objetos dependientes, y tampoco puede
usarse con WithEvents.
type Opcional. Tipo de datos de la variable; puede ser Byte,
Boolean, Integer, Long, Currency, Single, Double, Decimal
(no compatible actualmente), Date, String (para cadenas de
longitud variable), Longitud de cadena (para cadenas de
longitud fija), Object, Variant, un tipo definido por el usuario
o un tipo de objeto. Utilice una cláusula Astype
independiente para cada variable que declare.
Observaciones

Las variables declaradas con Dim en el nivel de módulo están disponibles para todos los
procedimientos dentro del módulo. En el nivel de procedimiento, las variables están disponibles
solo en el procedimiento.

Use la instrucción Dim en el nivel de módulo o de procedimiento para declarar el tipo de datos de
una variable. Por ejemplo, la siguiente instrucción declara una variable como un Integer.

Dim NumberOfEmployees As Integer

También puede usar una instrucción Dim para declarar el tipo de objeto de una variable. Lo
siguiente declara una variable para una nueva instancia de una hoja de cálculo.

Dim X As New Worksheet

Si la palabra clave Nuevo no se utiliza al declarar una variable de objeto, la variable que hace
referencia al objeto debe tener asignado un objeto existente mediante el uso de la instrucción Set
antes de poder usarlo. Hasta que se asigne a un objeto, la variable de objeto declarada tiene el
valor especial Nothing, que indica que no hace referencia a ninguna instancia determinada de un
objeto.

También puede usar la instrucción Dim con paréntesis vacíos para declarar una matriz dinámica.
Después de declarar una matriz dinámica, use la instrucción ReDim dentro de un procedimiento
para definir el número de elementos y dimensiones de la matriz. Si intenta volver a declarar una

Descargado por jose alexis castro medina (castromedina61@gmail.com)


lOMoARcPSD|41797060

10

dimensión para una variable de matriz cuyo tamaño se especificó explícitamente en una
instrucción Private, Public o Dim, se produce un error.

Si no especifica un tipo de datos o de objeto, y no hay ninguna instrucción Def_type_ en el


módulo, la variable es Variant de forma predeterminada. Cuando las variables se inicializan, se
inicializa una variable numérica en 0, se inicializa una cadena de longitud variable en cadena de
longitud cero ("") y se completa con ceros una cadena de longitud fija. Las variables Variant se
inicializan enEmpty. Cada elemento de una variable de tipo definido por el usuario se inicializa
como si fuese una variable independiente.

Nota

Cuando usa la instrucción Dim en un procedimiento, normalmente la instrucción Dim se coloca al


principio.

Ejemplo

Este ejemplo muestra cómo usar la instrucción Dim para declarar variables. También muestra
cómo usar la instrucción Dim para declarar matrices. El límite inferior predeterminado para
subíndices de matriz es 0 y se puede reemplazar en el nivel de módulo mediante la instrucción
Option Base. (learn.microsoft.com, 2023).

Este punto de la actividad, se nos pide aplicar la instrucción Dim, declarando variables de tipo
integer y string la sintaxis que tiene esta instrucción y que se encuentra documentada,
anteriormente. En pseint la solución de este punto se haría de este modo:

Descargado por jose alexis castro medina (castromedina61@gmail.com)


lOMoARcPSD|41797060

11

c) Construya un programa que tenga una variable tipo byte, luego guarde en la variable
un número menor a 200 para que luego el programa incremente el valor de la
variable en una unidad.

Pantallazo código

Pantallazo de ejecución

Descargado por jose alexis castro medina (castromedina61@gmail.com)


lOMoARcPSD|41797060

12

Para poder desarrollar este punto de la actividad, seguimos usando la instrucción Dim, y aplicamos
a un tipo de variable especifico Byte, en este proceso declaramos la variable, la inicializamos y
luego la modificamos. En el pseint la solución de este punto se desarrollaría de este modo:

d) Realice un programa que declare una variable tipo entera (integer) y capture un dato
con la función inputbox de visual basic for applications para luego ser publicada con
la función msgbox.

Pantallazo de código

Descargado por jose alexis castro medina (castromedina61@gmail.com)


lOMoARcPSD|41797060

13

Pantallazo de ejecución

Función InputBox

Muestra una pregunta en un cuadro de diálogo, espera a que el usuario escriba el texto o haga clic
en un botón y devuelve una String que contiene el contenido del cuadro de texto.

Descargado por jose alexis castro medina (castromedina61@gmail.com)


lOMoARcPSD|41797060

14

Sintaxis

InputBox(prompt, [ title ], [ default ], [ xpos ], [ ypos ], [ helpfile, context ])

La sintaxis de la función InputBox consta de los argumentos con nombre siguientes:

Parte Descripción
prompt Obligatorio. Expresión de cadena que aparece como mensaje en el
cuadro de diálogo. La longitud máxima de prompt es de
aproximadamente 1024 caracteres, según el ancho de los caracteres
utilizados. Si el símbolo del sistema consta de más de una línea,
puede separar las líneas utilizando un carácter de retorno de carro
(Chr(13)), un carácter de avance de línea (Chr(10)) o una combinación
de caracteres de avance de línea de retorno de carro ((Chr(13) &
(Chr(10)) entre cada línea.
title Opcional. Expresión de cadena que aparece como barra de titulo en
el cuadro de diálogo. Si omite title, el nombre de aplicación se coloca
en la barra de título.
default Opcional. Expresión de cadena que aparece en el cuadro de texto
como respuesta predeterminada si no se proporciona ninguna otra
entrada. Si se omite default, el cuadro de texto aparece vacío.
Xpos Opcional. Expresión numérica que especifica, en twips, la distancia
horizontal entre el borde izquierdo del cuadro de diálogo y el borde
izquierdo de la pantalla. Si se omite xpos, el cuadro de diálogo se
centra horizontalmente.
Ypos Opcional. Expresión numérica que especifica, en twips, la distancia
vertical entre el borde superior del cuadro de diálogo y la parte
superior de la pantalla. Si se omite ypos, el cuadro de diálogo se
coloca verticalmente aproximadamente a un tercio hacia abajo en la
pantalla.
helpfile Opcional. Expresión de cadena que identifica el archivo de Ayuda que
se usa para proporcionar ayuda contextual para el cuadro de diálogo.
Si se proporciona helpfile, también se debe proporcionar context.
context Opcional. Expresión numérica que es el número de contexto de
Ayuda asignado al tema correspondiente de la Ayuda por el autor de
la misma. Si se proporciona context, también se debe proporcionar
helpfile.
Observaciones

Cuando se proporcionan helpfile y context, el usuario puede presionar F1 (Windows) o AYUDA


(Macintosh) para ver el tema de Ayuda correspondiente a context. Algunas aplicaciones host, por
ejemplo Microsoft Excel, agregan automáticamente un botón Ayuda al cuadro de diálogo. Si el
usuario selecciona Aceptar o presiona ENTRAR, la función InputBox devuelve lo que está en el
cuadro de texto. Si el usuario selecciona Cancelar, la función devuelve una cadena de longitud cero
("").

El cuadro de texto solo acepta 255 caracteres. La cadena de retorno se trunca en 254 caracteres.
(learn.microsoft.com, 2023)

Descargado por jose alexis castro medina (castromedina61@gmail.com)


lOMoARcPSD|41797060

15

En este punto, se aplica la función InputBox, y con ella capturamos el valor de una variable y que
nos debe proporcionar el usuario, para ello empleamos la sintaxis que tiene esta función y que se
encuentra documentada, anteriormente. En pseint la solución de este punto se haría de este
modo:

e) Busque o proponga una ecuación sencilla que requiera cálculos aritméticos que
incluyan: suma, resta, multiplicación, división y potenciación y construya un
programa que solicite al usuario los datos, usando la función inputbox de visual basic
for applications y calcule el resultado mostrando en pantalla, por medio de la
función msgbox

Pantallazo de código

Descargado por jose alexis castro medina (castromedina61@gmail.com)


lOMoARcPSD|41797060

16

Pantallazo de ejecucion

Operadores aritméticos en Visual Basic:

Los operadores aritméticos se usan para realizar muchas de las operaciones aritméticas conocidas
que implican el cálculo de valores numéricos representados por literales, variables, otras
expresiones, llamadas a funciones y propiedades y constantes. También clasificados con
operadores aritméticos son los operadores de desplazamiento de bits, que actúan en el nivel de los
bits individuales de los operandos y desplazan sus patrones de bits a la izquierda o derecha.

En este punto de la actividad, vamos a aplicar la captura de variables a través de inputBox y el uso
de los diferentes operadores aritméticos, como su significado aplicándolo en una ecuación que nos
hemos inventado, esta información se encuentra documentada, anteriormente. En pseint la
solución de este punto se haría de este modo:

Descargado por jose alexis castro medina (castromedina61@gmail.com)


lOMoARcPSD|41797060

17

f) Realice un programa que genere números aleatorios usando la función Rnd de visual
basic for applications.

Pantallazo código

Pantallazo de ejecución

Descargado por jose alexis castro medina (castromedina61@gmail.com)


lOMoARcPSD|41797060

18

Función Rnd

Devuelve un valor Single que contiene un número pseudoalea aleatorio.

Sintaxis

Rnd [ (Number) ]

El argumentoNumber opcional es una expresión numérica Single o cualquier expresión numérica


válida.

Valores devueltos

Si El número es Rnd genera


Menor que cero El mismo número cada vez, usando Number como inicialización.

Mayor que cero Número siguiente de la secuencia pseudoalea aleatoria.

Igual que cero El último número generado.

No se proporciona. Número siguiente de la secuencia pseudoalea aleatoria.


Comentarios

La función Rnd devuelve un valor menor que 1 pero mayor o igual que cero.

El valor de Number determina cómo Rnd genera un número pseudoalea aleatorio:

Para una inicialización dada, se genera la misma secuencia de números porque cada llamada
sucesiva a la función Rnd usa el número anterior como inicialización para el siguiente número de la
secuencia.

Antes de llamar a Rnd, use la instrucción Randomize sin un argumento para inicializar el generador
de números aleatorios con una inicialización basada en el temporizador del sistema.
(learn.microsoft.com, 2023)

Descargado por jose alexis castro medina (castromedina61@gmail.com)


lOMoARcPSD|41797060

19

En este punto de la actividad, se nos pide vemos el uso de la función Rnd, donde generemos 10
números aleatorios los cuales le mostraremos al usuario, para ello empleamos la sintaxis que tiene
esta función y que se encuentra documentada, anteriormente. En pseint la solución de este punto
se haría de este modo:

g) Proponga una operación o una ecuación sencilla que dé como resultado un número
con varios decimales para luego ser redondeados a un dígito con la función Round.

Pantallazo código

Pantallazo de ejecución

Descargado por jose alexis castro medina (castromedina61@gmail.com)


lOMoARcPSD|41797060

20

Función Round: Devuelve un número redondeado al número de decimales especificado.

Sintaxis

Round(expression, [ numdecimalplaces ])

La sintaxis de la función Round consta de estas partes:

Parte Descripción
expression Obligatorio. Expresión numérica que se redondea.
numdecimalplaces Opcional. Número que indica cuántos lugares a la derecha del decimal
se incluyen en el redondeo. Si se omite, la función Round devuelve
enteros.
(learn.microsoft.com, 2023)

En este punto de la actividad, se nos pide aplicar la función Round, la cual nos permite redondear
un número, el cual es producto de una ecuación de tres números, para ello empleamos la sintaxis
que tiene esta función y que se encuentra documentada, anteriormente. En pseint la solución de
este punto se haría de este modo:

Descargado por jose alexis castro medina (castromedina61@gmail.com)


lOMoARcPSD|41797060

21

h) Construya un programa que declare una variable tipo double y otra tipo integer, en
la variable double aloje un número que sea menor a 30.000 y luego use la función
Int() para convertirlo en entero para luego almacenarlo en la variable entera.

Pantallazo código

Descargado por jose alexis castro medina (castromedina61@gmail.com)


lOMoARcPSD|41797060

22

Pantallazo de ejecución

Funciones Int, Fix

Devuelve la parte entera de un número.

Sintaxis

Int(number) Fix(number)

El argumento de número necesario es una expresión numérica double o cualquier expresión


numérica válida. Si número contiene un valor Null, se devuelve Null.

Comentarios

Tanto Int como Fix quitan la parte fraccionaria del número y devuelven el valor del entero
resultante.

La diferencia entre Int y Fix es que si number es negativo, Int devuelve el primer entero negativo
menor o igual que number, mientras que Fix devuelve el primer entero negativo mayor o igual que
number. Por ejemplo, Int convierte -8,4 en -9 y Fix -8,4 en -8.

Fix(number) es equivalente a Sgn(number) * Int(Abs(number)).

Ejemplo:

En este ejemplo se muestra cómo las funciones Int y Fix devuelven la parte entera de los números.
En el caso de un argumento de número negativo, la función Int devuelve el primer entero negativo
inferior o igual al número; la función Fix devuelve el primer entero negativo superior o igual al
número. (learn.microsoft.com, 2023)

En este punto de la actividad, se nos pide usar la función Int(), para pasar el valor de una variable
de tipo Double a Integer, la sintaxis que tiene esta función y que se encuentra documentada,
anteriormente.

Descargado por jose alexis castro medina (castromedina61@gmail.com)


lOMoARcPSD|41797060

23

i) Construya un programa que usando el operador mod de visual basic extraiga el


residuo de una división.

Pantallazo código

Pantallazo de ejecución

Operador Mod

Divide dos números y devuelve solo el resto.

Sintaxis

result = number1 Mod number2

Partes

Result : Necesario. Cualquier propiedad o variable numérica.

Descargado por jose alexis castro medina (castromedina61@gmail.com)


lOMoARcPSD|41797060

24

number1 : Obligatorio. Cualquier expresión numérica.

number2 : Obligatorio. Cualquier expresión numérica. (learn.microsoft.com, 2023)

En este punto, usamos el operador MOD, el cual permite conocer el residuo de la división de dos
números, empleando para ello la sintaxis que tiene esta función y que se encuentra documentada,
anteriormente. En pseint la solución de este punto se haría de este modo:

j) Respecto al ejercicio anterior, responda la siguiente pregunta ¿Cómo se puede usar


el operador mod para identificar si un número es par o impar?

Pantallazo código

Descargado por jose alexis castro medina (castromedina61@gmail.com)


lOMoARcPSD|41797060

25

Pantallazo de ejecución

Para este punto de la actividad, aplicamos el operador MOD, para determinar si un número es par
o no, conociendo que cualquier número que divida a otro de manera exacta nos da como residuo
0. En pseint la solución de este punto se haría de este modo:

k) Construya un método sub que Capture un dato dentro de una celda de una de las
hojas de Excel, se recomienda revisar el objeto range, ya que este permite hacer
referencia a rangos de celdas en Excel, ejemplo range(“A2”).value.

Descargado por jose alexis castro medina (castromedina61@gmail.com)


lOMoARcPSD|41797060

26

Pantallazo código

Pantallazo de ejecución

Objeto Range (Excel)

Representa una celda, una fila, una columna, una selección de celdas que contienen uno o más
bloques de celdas contiguos o un rango 3D. (learn.microsoft.com, 2023)

En este punto de la actividad, se nos pide usar el objeto Range, el cual nos va a permitir tomar el
valor que se encuentre en una celda, y luego mostrar dicho valor a través de una función MsgBox,
para ello aplicamos la sintaxis que tiene este objeto y que se encuentra documentada,
anteriormente.

Descargado por jose alexis castro medina (castromedina61@gmail.com)


lOMoARcPSD|41797060

27

l) Construya un método sub que sume el valor de dos celdas y consigne el resultado de
la suma en otra celda.

Pantallazo código

Pantallazo de ejecución

Método WorksheetFunction.Sum (Excel): Suma todos los números de un rango de celdas.

Sintaxis

expresión. Sum (Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9, Arg10, Arg11, Arg12, Arg13,
Arg14, Arg15, Arg16, Arg17, Arg18, Arg19, Arg20, Arg21, Arg22, Arg23, Arg24, Arg25, Arg26, Arg27,
Arg28, Arg29, Arg30)

Expresión Variable que representa un objeto WorksheetFunction.

Descargado por jose alexis castro medina (castromedina61@gmail.com)


lOMoARcPSD|41797060

28

Parameters

Nombre Obligatorio/opcional Tipo de datos Descripción


Arg1 - Arg30 Obligatorio Variant Number1, number2... - 1 a
30 argumentos para los que
desea el valor total o la
suma.

Valor devuelto: Double. (learn.microsoft.com, 2023)

En este punto de la actividad, seguimos empleando el método Range para tomar los valores de las
celdas de la hoja de cálculo, los cuales sumaremos, y empleamos luego el método sum, que
pertenece al objeto WorksheetFunction,

m) Utilice el objeto cells y el método .value con el fin de modificar el valor de una celda
en específico.

Pantallazo código

Descargado por jose alexis castro medina (castromedina61@gmail.com)


lOMoARcPSD|41797060

29

Pantallazo de ejecución

Propiedad Worksheet.Cells (Excel): Devuelve un objeto Range que representa todas las celdas de la
hoja de cálculo (no solo las celdas que están actualmente en uso).

Sintaxis

expresión. Celdas

Expresión Variable que representa un objeto Worksheet.

Comentarios

Dado que el miembro predeterminado de Range reenvía las llamadas con parámetros a la
propiedad **[Item, puede especificar el índice de fila y de columna inmediatamente después de la
palabra clave Cells en vez de hacer una llamada explícita a [Item.

Si se usa esta propiedad sin un calificador de objeto, se devuelve un objeto Range que representa
todas las celdas de la hoja activa. (learn.microsoft.com, 2023)

Para desarrollar este punto de la actividad, aplicamos la propiedad Cells del objeto Worksheet,
para modificar el valor de la celda que especifiquemos indicándole que fila y que columna
deseamos modificar:

Descargado por jose alexis castro medina (castromedina61@gmail.com)


lOMoARcPSD|41797060

30

n) Construya un método sub que seleccione una celda usando el objeto activecell de
visual basic for applications y el método select, ejemplo activecell.select

Pantallazo código

Pantallazo de ejecución

Propiedad Application.ActiveCell (Excel)

Devuelve un objeto Range que representa la celda activa de la ventana activa (la ventana en la
parte superior) o de la ventana especificada. Si la ventana no contiene una hoja de cálculo, esta
propiedad produce un error. Solo lectura.

Sintaxis

Descargado por jose alexis castro medina (castromedina61@gmail.com)


lOMoARcPSD|41797060

31

expresión.ActiveCell

expresión Variable que representa un objeto Application.

Observaciones

Si no se especifica un calificador de objeto, esta propiedad devuelve la celda activa de la ventana


activa.

Tenga cuidado en distinguir entre la celda activa y la selección. La celda activa es una sola celda de
la selección actual. La selección puede contener más de una celda, pero solo una es la celda activa.
(learn.microsoft.com, 2023)

Para desarrollar este punto de la actividad, lo primero que hacemos es activar la hoja2, y luego
usamos la propiedad ActiveCell, para mostrar el valor que tiene la celda activa, también
cambiamos, el color de dicha celda.

o) Construya un método sub que seleccione una celda de Excel y luego use el objeto
activecell con su método offset para modificar el valor de otra celda, tenga en cuenta
la siguiente estructura activecell.offset(1,3).value

Pantallazo código

Descargado por jose alexis castro medina (castromedina61@gmail.com)


lOMoARcPSD|41797060

32

Pantallazo de ejecución

Propiedad Range.Offset (Excel): Devuelve un objeto Range que representa un rango desplazado
del rango especificado.

Sintaxis

expression.Offset (RowOffset, ColumnOffset)

expresión Variable que representa un objeto Range.

Parameters

Nombre Obligatorio/ Tipo de datos Descripción


opcional
RowOffset Optional Variant Número de filas (positivo, negativo o 0
(cero) por el que se va a desplazar el
intervalo. Los valores positivos
desplazan hacia abajo, mientras que los
negativos lo hacen hacia arriba. El valor
predeterminado es 0.
ColumnOffset Optional Variant Número de columnas (positivas,
negativas o 0 (cero) por las que se va a
desplazar el intervalo. Los valores
positivos desplazan hacia la derecha,
mientras que los negativos lo hacen
hacia la izquierda. El valor
predeterminado es 0.

Descargado por jose alexis castro medina (castromedina61@gmail.com)


lOMoARcPSD|41797060

33

Ejemplo

En este ejemplo se activa la celda situada tres columnas a la derecha y tres columnas hacia abajo
con relación a la celda activa en Sheet1.

Worksheets("Sheet1").Activate

ActiveCell.Offset(rowOffset:=3, columnOffset:=3).Activate

(learn.microsoft.com, 2023)

Para el desarrollo de esta parte de la actividad, usamos la propiedad Offset, como nos lo pide el
enunciado, para ello activamos la hoja número 2 del libro y luego tomamos como base la celda
activa y nos desplazamos 8 fila hacia abajo y colocamos un valor.

Descargado por jose alexis castro medina (castromedina61@gmail.com)

También podría gustarte