Escolar Documentos
Profissional Documentos
Cultura Documentos
EXCEL
De Wiki Soludevt
Saltar a navegacin, buscar
Contenido
[ocultar]
1 Introduccin
2 = Instrucciones de Asignacin =
3 Instrucciones Ejecutables
o 3.1 Banco de Preguntas
3.1.1 Pregunta 1
3.1.2 Pregunta 2
3.1.3 Pregunta 3
3.1.4 Pregunta 4
3.1.5 Pregunta 5
3.1.6 Pregunta 6
3.1.7 Pregunta 7
3.1.8 Pregunta 8
3.1.9 Pregunta 9
3.1.10 Pregunta 10
3.1.11 Pregunta 11
3.1.12 Pregunta 13
3.1.13 Pregunta 14
3.1.14 Pregunta 15
3.1.15 Pregunta 16
3.1.16 Pregunta 17
3.1.17 Pregunta 18
3.1.18 Pregunta 19
3.1.19 Pregunta 20
3.1.20 Pregunta 21
3.1.21 Pregunta 22
3.1.22 Pregunta 23
o 3.2 Un objeto
4.1.2 Procedimientos
4.1.3 Variables
4.1.4 Constantes
o 4.2 Matrices
o 4.3 Operadores
o 4.4 Banco de Preguntas
4.4.1 Pregunta 1
4.4.2 Pregunta 2
4.4.3 Pregunta 3
4.4.4 Pregunta 4
5 Procedimientos y Funciones
6 Procedimientos
o 6.1 Escribir un Procedimiento Sub
o 6.2 Funcin
7.4.1 Pregunta 1
7.4.2 Pregunta 2
7.4.3 Pregunta 3
7.4.4 Pregunta 4
7.4.5 Pregunta 5
7.4.6 Pregunta 6
7.4.7 Pregunta 7
7.4.8 Pregunta 8
7.4.9 Pregunta 9
7.4.10 Pregunta 10
7.4.11 Pregunta 11
7.4.12 Pregunta 12
7.4.13 Pregunta 13
7.4.14 Pregunta 14
7.4.15 Pregunta 15
7.4.16 Pregunta 16
7.4.17 Pregunta 17
7.4.18 Pregunta 18
7.4.19 Pregunta 19
7.4.20 Pregunta 21
7.6.1 Pregunta 1
7.6.2 Pregunta 2
7.6.3 Pregunta 3
7.6.4 Pregunta 4
7.6.5 Pregunta 5
7.6.6 Pregunta 6
7.6.7 Pregunta 7
7.6.8 Pregunta 8
7.6.9 Pregunta 9
7.6.10 Pregunta 10
7.6.11 Pregunta 11
7.6.12 Pregunta 12
7.6.13 Pregunta 13
7.6.14 Pregunta 14
7.6.15 Pregunta 15
7.6.16 Pregunta 16
7.6.17 Pregunta 17
7.6.18 Pregunta 18
7.6.19 Pregunta 19
7.6.20 Pregunta 20
7.6.21 Pregunta 21
7.8.1 Pregunta 1
7.8.2 Pregunta 2
7.8.3 Pregunta 3
7.8.4 Pregunta 4
7.8.5 Pregunta 5
7.8.6 Pregunta 6
7.8.7 Pregunta 7
7.8.8 Pregunta 8
7.8.9 Pregunta 9
7.8.10 Pregunta 10
7.8.11 Pregunta 11
7.8.12 Pregunta 12
7.8.13 Pregunta 13
7.8.14 Pregunta 14
7.8.15 Pregunta 15
7.8.16 Pregunta 16
7.8.17 Pregunta 17
7.8.18 Pregunta 18
7.11.1 Pregunta 2
7.11.2 Pregunta 3
7.11.3 Pregunta 4
7.11.4 Pregunta 5
7.11.5 Pregunta 6
7.11.6 Pregunta 7
7.11.7 Pregunta 8
7.11.8 Pregunta 9
7.11.9 Pregunta 10
7.11.10 Pregunta 11
7.11.11 Pregunta 12
7.11.12 Pregunta 13
7.11.13 Pregunta 14
7.11.14 Pregunta 15
7.11.15 Pregunta 16
7.11.16 Pregunta 17
7.11.17 Pregunta 18
7.11.18 Pregunta 19
7.11.19 Pregunta 20
7.12.1 Pregunta 1
7.12.2 Pregunta 2
7.12.3 Pregunta 3
7.12.4 Pregunta 4
7.12.5 Pregunta 20
8.3.1 Pregunta 1
8.3.2 Pregunta 2
8.3.3 Pregunta 3
8.3.4 Pregunta 5
8.3.5 Pregunta 6
8.3.6 Pregunta 7
8.3.7 Pregunta 8
8.3.8 Pregunta 9
8.3.9 Pregunta 10
8.3.10 Pregunta 11
8.3.11 Pregunta 12
8.3.12 Pregunta 13
8.3.13 Pregunta 14
8.3.14 Pregunta 15
8.3.15 Pregunta 16
8.3.16 Pregunta 17
8.3.17 Pregunta 18
8.3.18 Pregunta 19
8.3.19 Pregunta 20
9.6.1 ThisWorkBook
9.6.2 Sheets
9.6.3 WorkSheets
9.6.4 Charts
9.6.5 Shapes
9.6.6.1 Pregunta 1
9.7.1 ActiveSheet
9.7.2 ActiveWorkBook
9.7.3 ActiveChart
9.7.4.1 Pregunta 1
9.7.4.2 Pregunta 2
9.7.4.3 Pregunta 3
9.7.4.4 Pregunta 4
9.7.4.5 Pregunta 5
9.7.4.6 Pregunta 6
9.7.4.7 Pregunta 7
9.7.4.8 Pregunta 8
9.7.4.9 Pregunta 9
9.7.4.10 Pregunta 10
9.7.4.11 Pregunta 11
9.7.4.12 Pregunta 12
9.7.4.13 Pregunta 13
9.7.5 = Pregunta 13
9.7.5.1 Pregunta 14
9.7.5.2 Pregunta 15
9.8.1 Cells
9.8.2 Columns
9.8.4 Rows
9.8.7 FUNCIONES
9.8.8.1 Pregunta 1
9.8.8.2 Pregunta 2
9.8.8.3 Pregunta 3
9.8.8.4 Pregunta 4
9.8.8.5 Pregunta 5
9.8.8.6 Pregunta 6
o 9.9 UserForms
o 9.10 Columns
o 9.11 MACROS
o 9.12 BUSCAR UNA CADENA DE TEXTO EN OTRA MAS LARGA
o 9.13 control listbox
10 Bibliografa
Introduccin
Microsoft Excel es un programa del computador mediante hojas electrnicas agrupadas en
libros los que ayudan a realizar clculos de cualquier fondo especialmente numrico.a ms
de esto podemos decir que Visual Basic es un diseador de entorno de Datos. Adems
constituye una herramienta muy eficaz y necesaria para varias enseanzas numricas. Entre
muchas otras aplicaciones, es utilizado en el tratamiento estadstico de datos, tambin
permitiendo hacer presentacin grfica de los datos o nmeros almacenados.
Hojas Electronicas Es un programa que permite insertar datos numricos y alfanumricos
dispuestos en forma de tablas. Habitualmente es posible realizar clculos complejos con
frmulas y funciones y dibujar distintos tipos de grficas. Esta hoja electronica esta
compuesta por filas y columnas.
Las hojas de clculo, se utilizan para hacer pequeas bases de datos, informes, grficos
estadsticos, clasificaciones de datos, entre otros usos. Las operaciones ms frecuentes se
basan en clculos entre celdas, las cuales son referenciadas respectivamente mediante la
letra de la columna y el nmero de la fila, por ejemplo =B1*C1.
Microsoft VBA (Visual Basic for Applications) es el lenguaje de macros de Microsoft
Visual Basic que se utiliza para programar aplicaciones Windows y que se incluye en varias
aplicaciones Microsoft. VBA permite a usuarios y programadores ampliar la funcionalidad
de programas de Microsoft Office. Visual Basic para Aplicaciones es un subconjunto casi
completo de Visual Basic 5.0 y 6.0.
Microsoft VBA viene integrado en aplicaciones de Microsoft Office, como Word, Excel y
Access, Powerpoint y Visio. Prcticamente cualquier cosa que se pueda programar en
Visual Basic 5.0 o 6.0 se puede hacer tambin dentro de un documento de Office, con la
sola limitacin que el producto final no se puede compilar separadamente del documento,
hoja o base de datos en que fue creado; es decir, se convierte en una macro (o ms bien
sper macro). Esta macro puede instalarse o distribuirse con slo copiar el documento,
presentacin o base de datos.
Su utilidad principal es automatizar tareas cotidianas, as como crear aplicaciones y
servicios de bases de datos para el escritorio. Permite acceder a las funcionalidades de un
lenguaje orientado a eventos con acceso a la API de Windows. Caractersticas de Visual
Basic.
Elementos de visual basic para aplicaciones:
El Explorador de proyectos es una herramienta de exploracin y gestin que muestra una
lista jerrquica de cada proyecto abierto. Tambin muestra cada una de las componentes
asociadas con los proyectos, como los documentos de Word, formularios, mdulos de clase
y referencias. En palabras sencillas hay que dejarlo tal como est. A medida que
agreguemos objetos a nuestro progranma irn apareciendo en el explorador y nos servir
para movernos de un componente a otro.
Ventana de propiedades: La ventana de Propiedades muestra las propiedades para el objeto
activo (Formulario de usuario o control). Ofrece una manera visual de configurar y
modificar propiedades. En la ventana de propiedades , las propiedades se pueden listar
alfabticamente o por categoras. En palabras sencillas, cuando agregamos un objeto este
tiene varias "propiedades" como su color, tamao, tipo de letra, etc. En esta ventana
podemos cambiar las propiedades del objeto "activo" (iluminado) en ese momento.
'Barra de herramientas:'
Es donde aparecen los botones para las funciones mas usadas, esta justo abajo de la Barra
de mens que tiene los mens con todas las opciones del Visual BAsic Area de trabajo. Es
donde colocamos nuestros objetos (Formularios o controles) y les agregamos cdigo Como
se hacen los programas en Visual Basic:
Los programas en Visual Basic se hacen en dos etapas a) Se dibujan las pantallas b) Se
coloca cdigo a los objetos As de simple, con esto tenemos toda la teora necesaria para
programar en VB, parece chiste pero es en serio.
Visual Basic.- es un lenguaje de programacin de los llamados "visuales", puesto que parte
de la programacin que se realiza con l se basa en la utilizacin de elementos visuales. La
palabra "Visual" hace referencia al mtodo que se utiliza para crear la interfaz grfica de
usuario. En lugar de escribir numerosas lneas de cdigo para describir la apariencia y la
ubicacin de los elementos de la interfaz, simplemente podemos agregar objetos
prefabricados en su lugar dentro de la pantalla, que ahorran mucho tiempo de programacin
y que sobrepasan el concepto de la programacin convencional en cuanto a la estructura
secuencial del programa. Profundizaremos en estos conceptos a medida que avancemos en
el desarrollo del curso. Nos permite la creacin de componentes y trabajar con objetos,
otros lenguajes tienen ms potencia en la programacin orientada a objetos, pero a medida
que han avanzado en las versiones de Visual Basic, ha aumentado su versatilidad.
Microsoft VBA viene integrado en aplicaciones de Microsoft Office, tales como , como
Word, Excel y Access, Powerpoint y Visio. Prcticamente cualquier cosa que se pueda
programar en Visual Basic 5.0 o 6.0 se puede hacer tambin dentro de un documento de
Office, con la sola limitacin que el producto final no se puede compilar separadamente del
documento, hoja o base de datos en que fue creado; es decir, se convierte en una macro (o
ms bien sper macro). Esta macro puede instalarse o distribuirse con slo copiar el
documento, presentacin o base de datos.
Su utilidad principal es automatizar tareas cotidianas, as como crear aplicaciones y
servicios de bases de datos para el escritorio. Permite acceder a las funcionalidades de un
lenguaje orientado a eventos con acceso a la API de Windows. Este lenguaje ha sido
implementado en otros productos como StarBasic en StarOffice que despus heredara
OpenOffice.
Entre los diferentes campos que posee Microsoft Excel se puede mencionar algunas de las
actividades que se puede realizar en la misma, como programacin con macros en VBA
(Visual Basic) el cual puede existir en algunas versiones con varios trminos en ingles.
Es un lenguaje orientado a eventos en aplicaciones tradicionales o "por
procedimientos", la aplicacin es la que controla qu partes de cdigo y
en qu secuencia se ejecutan.
_________________________________________________________________________
__________________
VISUAL BASIC Visual Basic es un ambiente grfico de desarrollo de aplicaciones para el
sistema operativo Microsoft Windows. Las aplicaciones creadas con Visual Basic estn
basadas en objetos y son manejadas por eventos. Visual Basic se deriva del lenguaje Basic,
el cual es un lenguaje de programacin estructurado. Sin embargo, Visual Basic emplea un
modelo de programacin manejada por eventos.
LENGUAJES DE PROGRAMACION
Es un idioma artificial (crea conocimiento)el cual es entendible para el computador y se los
utiliza para crear programas que controlen el comportamiento fsico y lgico de una
mquina. Este lenguaje est formado por un conjunto de smbolos y reglas sintcticas y
semnticas predefinidas y su estructura y el significado de sus elementos y expresiones. Al
proceso por el cual se escribe, se prueba, se depura, se compila y se mantiene el cdigo
fuente de un programa informtico a esto se lo llama programacin.
Visual Basic consiste en un editor de cdigo (programa donde se escribe el cdigo fuente),
un depurador (programa que corrige errores en el cdigo fuente para que pueda ser bien
compilado), un compilador (programa que traduce el cdigo fuente a lenguaje de mquina),
y un constructor de interfaz grfica o GUI (es una forma de programar en la que no es
necesario escribir el cdigo para la parte grfica del programa, sino que se puede hacer de
forma visual).
- Con Visual Basic se pueden crear aplicaciones grficas con sonido, animacin, video y
otros componenetes de multimedia.
Entorno de desarrollo de visual basic
Su entorno de desarrollo es muy similar al de otros lenguajes e IDE's.
Se compone principalmente de su barra de herramientas y mens que se pueden
personalizar con prcticamente la completa totalidad de los comandos del IDE a necesidad.
El espacio de trabajo donde se muestran todas las ventanas del proyecto, las vistas de
cdigo de mdulos y objetos, y lalos controles con los que componen las ventanas de
nuestra aplicacin. Por defecto disponemos los controles bsicos:
o (PictureBox) Caja de Imagen
o (Label) Etiqueta
o (TextBox) Caja de texto
o (Frame) Marco
o (CommandButton) Botn de comando
o (CheckBox) Casilla de verificacin:
Los botones de opciones son mutuamente excluyentes, solo permiten que solo una opcin
se seleccionada. Suponiendo que deseamos presentar al usuario varias opciones de las
cuales puede escoger varias. En este caso el uso de cajas de verificacin es ms adecuado.
Crea una aplicacin como la mostrada abajo. El usuario podra escoger el item que necesite
dando clic en la caja de verificacin. Los iconos sern mostrados al seleccionar un item. o
(OptionButton) Botn de opcin
o (ComboBox) Lista desplegable
o (ListBox) Lista
o (HScrollBar) Barra de desplazamiento horizontal
o (VScrollBar) Barra de desplazamiento vertical
o (Timer) Temporizador
o (DriveListBox) Lista de unidades de disco
La ltima versin slo para 16 bits, la 3.0, no inclua una detallada biblioteca de
componentes para toda clase de usos. Durante la transicin de Windows 3.11 a Windows
95, apareci la versin 4.0, que poda generar programas de 16 y 32 bits a partir de un
mismo cdigo fuente, a costa de un gran aumento en el tamao de los archivos "runtime"
necesarios.
Adems, se sustituyen los controles VBX por los nuevos OCX. Con la versin 5.0, estuvo a
punto de implementar por primera vez la posibilidad de compilar a cdigo nativo,
obteniendo una mejora de rendimiento considerable. Tanto esta como la posterior 6.0
soportaban caractersticas propias de los lenguajes orientados a objetos, aunque careciendo
de algunos tems importantes como la herencia y la sobrecarga.
La versin 6.0 continua utilizndose masivamente y es casi compatible prcticamente al
100% con las ltimas versiones de Windows como Vista y Windows 7.
Las versiones actuales de Visual Basic se basan en la plataforma .NET, que se desligan de
las anteriores versiones. Cabe mencionar que aunque menos conocido, existi tambin una
versin gratuita de Visual Basic 5.0 dedicada en su prctica al desarrollo de controles y
componentes, su nombre en concreto era Microsoft Visual Basic 5.0 Control Creation
Edition (Visual Basic 5 CCE).
Tambin hubo versiones orientadas al desarrollo de aplicaciones para dispositivos mviles
basados en Windows CE y Pocket PC, conocido como eMbedded Visual Basic.
Tiene lo siguiente:
Barra de titulo: Muestra el nombre del Proyecto y del formulario que diseamos. Barra de
Menus: agrupa los menus desplegables que contiene todas las operaciones que se llevaran a
cabo. Barra de Herramientas:contiene los botones que se utiliza con mas frecuencia en la
elaboracin de un proyecto. Ventana de formularios:es la ventana donde diseamos la
interfaz grafica. Cuadro de Herramientas:nos presenta todos los controles necesarios para
una aplicacion, como cuadros de texto, botones, entre otros. Ventana de proyecto:muestra
los elememntos involucrados en el proyecto Ventana de Posicin de Formularios:nos indica
la posicion del formulario en pantalla.
VENTAJAS EN VISUAL BASIC
Es un lenguaje .
Posee una curva de aprendizaje muy rpida.
Integra el diseo e implementacin de formularios de Windows.
Permite usar con suma facilidad la plataforma de los sistemas Windows dado que tiene
acceso prcticamente total a la API de Windows includas libreras actuales.
El cdigo en Visual Basic es fcilmente migrable a otros lenguajes.
Es un lenguaje muy extendido por lo que resulta fcil encontrar informacin,
documentacin y fuentes para los proyectos.
Fcilmente extensible mediante libreras DLL y componentes ActiveX de otros lenguajes.
Posibilidad de aadir soporte para ejecucin de scripts, VBScript o JScript, en las
aplicaciones mediante Microsoft Script Control.
Acceso a la API multimedia de DirectX (versiones 7 y 8). Tambin est disponible, de
forma no oficial, un componente para trabajar con OpenGL 1.1: VBOpenGL type library
Existe una versin integrada en las aplicaciones de Office, versiones tanto Windows como
Mac, que permite programar macros para extender y automatizar funcionalidades en
documentos como por ejemplo una hoja de clculo de Excel o una base de datos Access
(VBA)
Es un entorno perfecto para realizar pequeos prototipos rpidos de ideas.
Es amigo de los objetos
Permite crear anuncios.
DESVENTAJAS EN VISUAL BASIC
Sin soporte oficial de Microsoft desde el 4 de abril de 2008 (aunque existe mucha
documentacin disponible en el sitio de MSDN includas descargas de Service Packs,
paquetes de dependencias mnimas y similares en el sitio web de Microsoft).
No es multiplataforma (sin embargo se pueden usar emuladores e intrpretes para
correrlos en otras plataformas).
Por defecto permite la programacin sin declaracin de variables, (que puede ser
sencillamente corregida escribiendo la frase Option Explicit en el encabezado de cada
mdulo de cdigo, en cuyo caso ser menester declarar todas las variables a utilizar, lo que
a la postre genera cdigo ms estable y seguro).
End Sub
Si usa una funcin de hoja de clculo que requiere como argumento una referencia de
rango, deber especificar un objeto Range. Por ejemplo, puede usar la funcin de hoja de
clculo Coincidir para efectuar una bsqueda en un rango de celdas. En una celda de hoja
de clculo, podra insertar una frmula como =COINCIDIR(9;A1:A10;0). No obstante, en
End Sub
Nota
End Sub Ejemplo En este ejemplo se usa la funcin de hoja de clculo Pago para calcular
un pago de prstamo hipotecario. Tenga en cuenta que en el ejemplo se usa el mtodo
InputBox en lugar de la funcin InputBox, para que el mtodo pueda comprobar el tipo. El
enunciado Static hace que Visual Basic conserve los valores de las tres variables, que se
mostrarn como valores predeterminados la prxima vez que se ejecute el programa.
Static loanAmt
Static loanInt
Static loanTerm
loanAmt = Application.InputBox _
(Prompt:="Loan amount (100,000 for example)", _
Default:=loanAmt, Type:=1)
loanInt = Application.InputBox _
(Prompt:="Annual interest rate (8.75 for example)", _
Default:=loanInt, Type:=1)
loanTerm = Application.InputBox _
(Prompt:="Term in years (30 for example)", _
Default:=loanTerm, Type:=1)
payment = Application.WorksheetFunction _
.Pmt(loanInt / 1200, loanTerm * 12, loanAmt)
Entorno de desarrollo
Su entorno de desarrollo es muy similar al de otros lenguajes Se compone principalmente
de su barra de herramientas y mens que se pueden personalizar con prcticamente la
completa totalidad de los comandos del IDE a necesitar. El espacio de trabajo donde se
muestran todas las ventanas del proyecto, las vistas de cdigo de mdulos y objetos, y las
vistas de diseo de formularios y componentes. El Cuadro de herramientas (por defecto a
la izquierda) contiene los controles con los que componen las ventanas de nuestra
aplicacin. Por defecto disponemos los controles bsicos en este encantamos los
siguientes :
o Puntero: Se utiliza para manipular los controles existentes sobre el formulario. Con el
puntero se puede seleccionar, mover y ajustar el tamao de los objetos.
o (PictureBox) Caja de Imagen: la principal funcion de este boton es agregar una imagen
(Picture).
o (Label) Etiqueta Este componente se utiliza para agregar textos o mensajes estaticos. asi
mismo este componente conforme se van agregando ms de estos en el UserForm se van
numerando automaticamente.
o (TextBox) Caja de texto a traves de este podemos escribir caracteres de distintos tipos y
cualidades tanto numericos como alfabeticos
o (Frame) Marco: Describe un marcod e agrupamiento en el que se puede incluir controles
del mismo tipo.
o (CommandButton) Botn de comando es decir que me permite ejecutar una funcion
dada o propuesta en un ejercicio de USerForm. o
(CheckBox) Casilla de verificacin : Se utiliza para listar opciones y que el usuario
pueda elegir entre estas.
o (OptionButton) Botn de opcin : permite elegir al usuario una ovarias opciones entre
un grupo sea limitado o e ilimitado de opciones. Cuando se activa un botn de opcin, los
dems se desactivan.
o (ComboBox) Lista desplegable: esta funcion le permite al usuario elegir entre las
opciones ya establecidas y que se desplegan de esta.
o (ListBox) Lista : Permite establecer elementos y visulizarlos en forma de columnas.
Permite ofrecer al usuario una serie de opciones para que elija. El cuadro de lista indica las
opciones que se encuentran disponibles y el usuario selecciona un elemento o entrada de la
lista haciendo clic sobre el.
Tambin es un objeto en Visual Basic y por tanto tiene asociados sus propias propiedades y
eventos, al mismo tiempo como se est usando dentro del objeto form1, muchas
propiedades que se definan para el objeto Form1, el objeto Label1 las va a heredar.
Si bien es cierto que el objeto se llama Label, pero cuando se ponen dentro de una forma
Visual Basic los va numerando automticamente, si se ponen tres Labels en Form1, ellos se
llaman, simbolizan, procesan o programan como Label1, Label2, Label3.
Es su propiedad Caption, la que lleva el contenido del mensaje que se quiere desplegar en
la pantalla, solo click derecho a un lado de la propiedad Caption en la pagina de
propiedades, teniendo seleccionada la caja Label1 en la forma y escribir el texto indicado.
CommandButton Este control es el tpico botn que aparece en todas las aplicaciones y
que al hacer click sobre l nos permite realizar alguna operacin concreta, normalmente
Aceptar o Cancelar. Aunque segn el cdigo que le asociemos podremos realizar las
operaciones que queramos.
variables
son las zonas asignadas por la memoria del ordenador para almacenar los
datos.
OptionButton
Este control nos permite elegir una opcin entre varias de las que se nos plantean. Cada
opcin ser un control optionbutton diferente.
Aadir comentarios
Los comentarios pueden explicar un procedimiento o una instruccin en particular a
cualquier persona que tenga que leer el cdigo. Visual Basic ignora los comentarios cuando
ejecuta los procedimientos. Las lneas de comentario comienzan por un apstrofe (') o con
la palabra clave Rem seguida por un espacio y puede colocarse en cualquier lugar del
procedimiento. Para aadir un comentario a la misma lnea que ocupa una instruccin, debe
insertarse un apstrofe despus de esta, seguido por el comentario. Los comentarios
aparecen en pantalla en color verde, color predefinido.
Comprobar errores de sintaxis
Si se presiona la tecla ENTRAR despus de escribir una lnea de cdigo y la lnea aparece
en pantalla en color rojo , debe averiguar cul es el problema en esa instruccin y
corregirlo. Aunque en muchas de las situaciones cuando se escribe una linea de codigo el
programa devuelve un mensajecon error de sintaxis sin tener la necesidad de presionar la
tecla entrar los muestra en forma inmediata al compilar el cdigo.
Periodo en tiempo de ejecucin durante el cual el elemento esta disponible para su uso
Cmo: Prolongar la duracin de una variable
Normalmente, una variable deja de existir cuando el elemento de programacin en el que se
declara deja de existir. Sin embargo, puede alargar su duracin ms que la de su elemento
contenedor declarndola con la palabra clave Static (Visual Basic).
Perodo de duracin en Visual Basic
El perodo de duracin de un elemento declarado es el tiempo durante el cual est
disponible para el uso. Las variables son los nicos elementos que tienen un perodo de
duracin. Para este propsito, el compilador trata los parmetros de procedimiento y la
funcin vuelve como un caso especial de variable. El perodo de duracin de una variable
representa el tiempo durante el cual puede contener un valor. Su valor puede variar en su
perodo de duracin, pero siempre contiene un valor.
Para alargar la duracin de una variable ms que la de su elemento contenedor
Si la variable es una variable local (declarada dentro de un procedimiento), incluya la
palabra clave Static en la instruccin Instruccin Dim (Visual Basic) que la declara. Una
variable esttica existe mientras exista la clase o mdulo que contiene el procedimiento
que declara la variable. Si una variable local est dentro de un procedimiento Shared
(Visual Basic), el procedimiento y sus variables existen siempre que la aplicacin est en
ejecucin. No utilice Static en este caso.'Si la variable es una variable miembro
(declarada dentro de una clase o estructura, fuera de todo procedimiento), incluya la
palabra clave Shared en la instruccin Dim que la declara. Una variable compartida
no est asociada a ninguna instancia de su clase o estructura y existe siempre que la
aplicacin est en ejecucin. No puede utilizar Static en una variable miembro. Si una
variable miembro se declara en un mdulo, existe siempre que la aplicacin est en
ejecucin. No utilice Shared en este caso.
Ambito
Conjunto de cdigo que puede hacer referencia al elemento sin calificar su nombre.
Cmo: Controlar el mbito de una variable Normalmente, una variable est en mbito, o
visible para referencia, en toda la regin donde se declara. En algunos casos, el nivel de
acceso de la variable puede influir en su mbito.
= Instrucciones de Asignacin =
Las instrucciones de asignacin realizan operaciones de asignacin, que consisten en tomar
el valor de la derecha del operador de asignacin (=) y almacenarlo en el elemento de la
izquierda.
por ejemplo v = 42: este ejemplo nos indica que la instruccin de asignacin almacena el
valor literal 42 en la variable v
Es decir una instruccin de asignacin asigna el valor de una expresin a una variable. En
general, si la variable que se va a asignar es una propiedad, la propiedad debe ser de lectura
y escritura o de slo escritura; en caso contrario, se produce un error de compilacin. Si la
variable es una variable de slo lectura, la asignacin debe producirse en un constructor
Shared o un constructor de instancia apropiado para el tipo de la variable; en caso contrario,
se producir un error de compilacin.
AssignmentStatement ::=
SimpleAssignmentStatement |
DelegateAssignmentStatement |
CompoundAssignmentStatement |
MidAssignmentStatement
Las conversiones de restriccin (las que no son de ampliacin) conllevan el riesgo de error
o de prdida de datos en tiempo de ejecucin. Las conversiones de restriccin se pueden
realizar explcitamente mediante una funcin de conversin de tipos, o se puede indicar al
compilador que realice implcitamente todas las conversiones estableciendo Option Strict
Off. Para obtener ms informacin, vea Conversiones implcitas y explcitas.
Clases de Instrucciones
Las instrucciones de asignacin, en las que se evalua una expresin sobre variables y
constantes del lenguaje, y el resulatado se asigna en una variable
Las instrucciones de control de flujo como las instrucciones IF-THEN-ELSE,en donde se
selecciona las instrucciones a realizar en funcin del resultado de una expresin lgica
Sub Pregunta()
Dim suNombre As String
suNombre = InputBox("Cmo se llama?")
MsgBox "Su nombre es " & suNombre
End Sub
En Visual Basic, una instruccin es una comando completo que puede contener palabras
clave, operadores, variables, constantes y expresiones. Las instrucciones se clasifican en
dos categoras: instrucciones de declaracin, que asignan nombre a una variable, constante
o procedimiento, y tambin pueden especificar un tipo de datos, e instrucciones ejecutables,
que inician acciones
Una instruccin de asignacin asigna el valor de una expresin a una variable. En general,
si la variable que se va a asignar es una propiedad, la propiedad debe ser de lectura y
escritura o de slo escritura; en caso contrario, se produce un error de compilacin.
Si la variable es una variable de slo lectura, la asignacin debe producirse en un
constructor Shared o un constructor de instancia apropiado para el tipo de la variable; en
caso contrario, se producir un error de compilacin.
AssignmentStatement
SimpleAssignmentStatement
DelegateAssignmentStatement
CompoundAssignmentStatement
MidAssignmentStatement
Dim r, s, t As Boolean
r = True
s = 45 > 1003
t = 45 > 1003 Or 45 > 17
' The preceding statements assign False to s and True to t.
Igualmente, se pueden asignar valores adecuados a elementos de programacin del tipo de
datos Char, Date u Object. Tambin se puede asignar una instancia de objeto a un elemento
declarado como miembro de la clase a partir de la que se crea esa instancia.
Instrucciones de asignaciones simples
Una instruccin de asignacin almacena el resultado de una expresin en una variable. El
tipo de la expresin debe poder convertirse implcitamente en el tipo de la variable. En el
tiempo de ejecucin, se evala la expresin a la derecha de la asignacin antes de la
expresin de variable. Si la variable que se va a asignar es un elemento de matriz de un tipo
de referencia, se realizar una comprobacin en tiempo de ejecucin para garantizar que la
expresin es compatible con el tipo de elemento de matriz. En el ejemplo siguiente, la
ltima asignacin provoca el inicio de una excepcin ArrayTypeMismatchException,
porque no se puede almacenar una instancia de ArrayList en un elemento de una matriz
String. Ejemplo
Dim sa(10) As String
Dim oa As Object() = sa
oa(0) = Nothing ' OK.
oa(1) = "Hello" ' OK.
oa(2) = New ArrayList() ' ArrayTypeMismatchException is thrown.
Instrucciones de asignacin compuesta
Las instrucciones de asignacin compuesta realizan primero una operacin en una
expresin antes de asignarla a un elemento de programacin. En el siguiente ejemplo se
muestra uno de estos operadores, +=, que incrementa el valor de la variable del lado
izquierdo del operador con el valor de la expresin de la derecha.
n += 1
En el ejemplo anterior se suma 1 al valor de n y, a continuacin, el nuevo valor se almacena
en n. Es el equivalente abreviado de la siguiente instruccin:
n=n+1
Mediante el uso de este tipo de operadores, puede realizarse una serie de operaciones de
asignacin compuestas. Para obtener una lista de estos operadores y ms informacin sobre
ellos, vea Operadores de asignacin.
El operador de asignacin de concatenacin (&=) es til para agregar una cadena al final de
cadenas existentes, como se muestra en este ejemplo.
Dim q As String = "Sample "
q &= "String"
' q now contains "Sample String".
Conversiones de tipos en instrucciones de asignacin
El valor que se asigna a una variable, propiedad o elemento de matriz debe ser de un tipo de
datos apropiado para el elemento de destino. En general, hay que intentar generar un valor
del mismo tipo de datos que el del elemento de destino. Sin embargo, algunos tipos se
pueden convertir en otros tipos durante la asignacin.
Para obtener informacin sobre cmo convertir entre tipos de datos, vea Conversiones de
tipos en Visual Basic. En pocas palabras, Visual Basic convierte automticamente un valor
de un tipo dado en cualquier otro tipo al que amplia. Una conversin de ampliacin es
aquella que siempre se produce en tiempo de ejecucin y no pierde datos. Por ejemplo,
Visual Basic convierte un valor Integer en Double cuando es apropiado, porque Integer se
amplia a Double. Para obtener ms informacin, vea Conversiones de ampliacin y de
restriccin.
Las instrucciones de asignacin realizan operaciones de asignacin, que consisten en tomar
el valor de la derecha del operador de asignacin (=) y almacenarlo en el elemento de la
izquierda, como en el ejemplo siguiente. El elemento de programacin del lado izquierdo
del operador de asignacin debe poder aceptar y almacenar un valor. Esto significa que
debe ser una variable o propiedad que no es ReadOnly (Visual Basic), o debe ser un
elemento de matriz. En el contexto de una instruccin de asignacin, este tipo de elemento
a veces se denomina valor l, que significa "valor de la izquierda".
Instrucciones Ejecutables
Una instruccin ejecutable realiza una accin. Puede llamar a un procedimiento, bifurcar a
otra parte del cdigo, recorrer varias instrucciones con un bucle o evaluar una expresin.
Una instruccin de asignacin es un caso especial de una instruccin ejecutable.
Una instruccin ejecutable inicia una accin. Puede ejecutar un mtodo o funcin y saltar a
bloques de cdigo o no ejecutar otros. Las instrucciones ejecutables incluyen a menudo
operadores condicionales o matemticos.
El siguiente ejemplo que veremos a continuacion utiliza utiliza la instruccin For
Each...Next para pasar por cada una de las celdas de un rango llamado MiIntervalo en la
Hoja1 de un libro Microsoft Excel activo. La variable c es una celda en la coleccin de
celdas que componen MiIntervalo...
ejemplo de uina instruccion ejecutable:
Sub DarFormato()
Const limite As Integer = 33
For Each c In Worksheets("Hoja1").Range("MiIntervalo").Cells
If c.Value > limite Then
With c.Font
.Bold = True
.Italic = True
End With
End If
Next c
MsgBox "Fin!"
End Sub
Banco de Preguntas
Pregunta 1
QUE ES VISUAL BASIC?
Visual Basic es un lenguaje de programacin desarrollado por el alemn Alan Cooper para
Microsoft, el cual es el utilizado para el desarrollo de programas.Dicho lenguaje de
programacin nos permite disear:mens,ventanas,etc de una forma
Pregunta 2
Que es una instruccin de Asignacion? y de un ejemplo:
Una Instruccin de asignacin asigna el valor de una expresin a una variable. En general,
si la variable que se va a asignar es una propiedad, la propiedad debe ser de lectura y
escritura o de slo escritura; en caso contrario, se produce un error de compilacin. Si la
variable es una variable de slo lectura, la asignacin debe producirse en un constructor
Shared o un constructor de instancia apropiado para el tipo de la variable; en caso contrario,
se producir un error de compilacin.
Las variables estn indefinidas hasta que sus valores se espefican explcitamente mediante
una instruccin de asignacion, dichas instrucciones realizan operaciones de asignacin, que
consisten en tomar el valor de la derecha del operador de asignacin (=) y almacenarlo en el
elemento de la izquierda, como en el ejemplo siguiente.
El valor del lado derecho del operador de asignacin se genera mediante una expresin que
puede estar formada por cualquier combinacin de constantes, variables, propiedades,
elementos de matriz, otras expresiones o llamadas a funcin.
Ejemplo de una instruccion de asignacion:
a = 40
b = 15
c = 40+15
c= 55
Pregunta 3
Sub INSTRUCCION_EJECUTABLE_IF ()
Dim Num as Integer
Num = Inputbox("INGRESE NUMERO")
If Num > 5 and Num < 10 then
Msgbox "VERDADERO",,"PRUEBAS"
Else
Msgbox "FALSO",,"PRUEBAS"
End If
End Sub
Pregunta 4
QUE ES UNA SENTENCIA DE CONTROL?
Las sentencias de control son, denominadas tambin estructuras de control, permiten tomar
decisiones y realizar un proceso repetidas veces.
Son los denominados bifurcaciones y bucles. Este tipo de estructuras son comunes en
cuanto a concepto en la mayora de los lenguajes de programacin, aunque su sintaxis
puede variar de un lenguaje de programacin a otro. Se trata de unas estructuras muy
importantes ya que son las encargadas de controlar el flujo de un programa segn los
requerimientos del mismo.
Visual Basic dispone de las siguientes estructuras:
- If...Then - If...Then...Else - Select case - For... Next - While...Wend - Do...loop - Goto
Pregunta 5
QUE ES UNA VARIABLE LOCAL?
Una variable local es aquella que se declara dentro de un procedimiento. Esta variable slo
est disponible para el cdigo dentro del procedimiento y se pueden declarar utilizando las
sentencias Dim, tal como figura a continuacin.
Dim sum As Integer
Pregunta 6
Para qu se utilizan las Instrucciones de Declaracin?
Las instrucciones de declaracin se utilizan para definir procedimientos, variables,
propiedades, matrices,constantes, y asignarles un nombre caracteristico y respectivo que las
individualize. Cuando se declara un elemento de programacin, tambin se puede definir su
tipo de datos, nivel de acceso y mbito.
Una instruccin-de-declaracin (declaration-statement) declara una variable o una
constante local. Las instrucciones de declaracin se pueden incluir en bloques, pero no
estn permitidas como instrucciones incrustadas.
Pregunta 7
Cuales son los metodos para dar valor a una variable en las instrucciones de
asignacion?
Los metodos para dar valor a una variable en las instrucciones de asignacion son los
siguientes:
1) Leer el valor del archivo
2) Pedir al usuario que ingrese un valor mediante teclado
3) Asignar el valor dentro del programa
Pregunta 8
Cuando se declara un elemento de programacin Se puede definir:?
mbito
Tipo
Nivel de acceso
Pregunta 9
Qu ejecuta las instrucciones de declaracin?
Una instruccion de declaracion se la puede definir como una serie de afirmaciones repetidas
que hacen referencia a un solo objeto o estructura.Que asignan nombre a una variable,
constante o procedimiento, y tambin pueden especificar un tipo de datos, e instrucciones
ejecutables, que inician acciones. Las instrucciones de declaracin se utilizan para definir
procedimientos, variables, propiedades, matrices y constantes, y asignarles nombre. Cuando
se declara un elemento de programacin, tambin se puede definir su tipo de datos, nivel de
acceso y mbito.
Existen tres tipos de declaracin:
La primera declaracin es la instruccin Sub. Junto con su instruccin End Sub
correspondiente, declara un procedimiento denominado applyFormat. Tambin especifica
que applyFormat es Public, lo que quiere decir que cualquier cdigo que pueda hacer
referencia a ella, puede tambin llamarla.
La segunda declaracin es la instruccin Const. Que declara la constante limit, que
especifica el tipo de datos Integer y un valor de 33.
La tercera declaracin es la instruccin Dim. Que declara la variable thisWidget. El tipo
de datos es un objeto concreto, especficamente un objeto creado a partir de la clase
Widget. Puede declarar una variable para que sea de cualquier tipo de datos elemental o de
cualquier tipo de objeto que est expuesto a la aplicacin que est usando.
Valores iniciales
Cuando se ejecuta el cdigo que contiene una declaracin de instruccin, Visual Basic
reserva la memoria requerida para el elemento declarado. Si el elemento contiene un valor,
Visual Basic lo inicializa al valor predeterminado para su tipo de datos.
Pregunta 10
Qu funciones tienen las instrucciones ejecutables?
Pregunta 11
Que es un Bucle? Indique los ms frecuentes
Un bucle o ciclo, en programacin, es una sentencia que se realiza repetidas veces a un
trozo aislado de cdigo, hasta que la condicin asignada a dicho bucle deje de cumplirse.
Generalmente, un bucle es utilizado para hacer una accin repetida sin tener que escribir
varias veces el mismo cdigo, lo que ahorra tiempo, deja el cdigo ms claro y facilita su
modificacin en el futuro.
Tambin conocido como ciclo, es una sentencia que se realiza repetidas veces a un
determinado cdigo, hasta que la condicin asignada deje de cumplirse.
Es utilizado para hacer una accin repetida sin tener que escribir varias veces el mismo
cdigo, ahorra tiempo, deja el cdigo ms claro y facilita su modificacin.
Los ms frecuentes son: Bucle While Bucle For Bucle Do o Repetir.
Pregunta 13
Que se puede hacer con Visual Basic?
Con visual basic se pueden crear apicaciones con las caracteristicas de los programas de
windows esto es con ventanas , botones,cajas de dialogo y de texto, botones de opcion y de
seleccion, barras de desplazamiento, graficos, menus, etc. con visual basic se puede crear
programas para uso personal, para un grupo de trabajo, para una empresa ,aplicaciones
distribuidasa a travs de internet , aplicaciones de base de datos y muchas cosas mas de
acuerdo a su ingenio e imaginacion .
Pregunta 14
Cual es el objetivo principal de Visual Basic?
Pregunta 15
'Caractersticas de Visual Basic.' Barra de titulo: muestra el nombre del proyecto y del
formulario q se est diseando actualmente Barra de mens: agrupa los mens despegables
que contienes todas las operaciones que pueden llevarse a cabo con Visual Basic para
aplicaciones.
Barra de herramientas estndar: contienen los botones que se utilizan con mayor frecuencia
cuando se trabaja con un proyecto. Simplifica la eleccin de opciones de los mens
Archivo, Edicin, Ver y Ejecutar; adems, en el rea derecha presenta la ubicacin
(coordenadas) y el tamao del objeto seleccionado
Ventana de formulario: es el rea donde se disea la interfaz grfica, es decir, es donde se
inserta electo grficos, como botones, imgenes, casilla de verificacin, cuadros de listas,
etc.
Cuadro de herramientas: presenta todos los controles necesarios para disear una
aplicacin, como cuadros de texto, etiquetas, cuadros de listas, botones de comandos, etc.
Ventana de proyecto: muestra los elementos involucrados en el proyecto, como formularios,
mdulos, controles oxc, etc. Cada elemento puede seleccionarse en forma independiente
para su edicin.
Ventana de posicin del formulario: muestra la ubicacin que tendr el formulario en la
pantalla, cuando ejecute la aplicacin. Esta ubicacin puede cambiarse si se hace clic con el
botn izquierdo del mouse.
La Ventana propiedades muestra todas las propiedades del control actualmente
seleccionado, en este caso muestra las propiedades del Form1, luego podemos ver que
abajo dice "Form1 Form", lo que est en negrita es el nombre del objeto, y lo que le sigue
es el tipo de objeto, en este caso es un Formulario.
Pregunta 16
Cmo grabar una macro Excel VBA?
Para aprender a programar VBA de Excel la mejor manera de empezar es probablemente la
grabacin de macros en Excel. Es fcil grabar tus propias macros. Y con un lgero retoque,
salen todava mejor. Para ejemplos de marcado, ver ejemplos de macros tiles. Preparar la
grabacin la grabacion en exel de visual se resuelve exclusivamente hay que habilitar
macros
Entra Herramientas - Macro - Grabar nueva macro.
Nombre de la macro Pon un nombre descriptivo, por ejemplo DosDecimales. Si quieres
espacio entre palabras, pon Dos_Decimales.
Mtodo abreviado (atajo) Si quieres que la macro se active desde el teclado, pon la
combinacin, por ejemplo CTRL + L. Presionando MAYUSCULA te darn todava ms
combinaciones.
Guardar macro en O se guarda en Este Libro, o en Libro de Macros Personales. Si eliges
Libro de Macros Personales, la macro va a estar disponible desde cualquier libro de Excel.
Descripcin Si quieres puedes poner un texto explicativo el cual se incluir en el cdigo de
la macro. Presiona OK. Ahora la macro grabar todo lo que pase a tu libro de Excel. Si
seleccionas celda H1, esa misma accin se grabar. Despus, al ejecutar la macro, esa celda
se selecionar (sorpresa...!). Entonces, mientras grabas, seleciona celda H1, cambia el
formato a Nmero - 2 decimales. Paramos la grabacin.
Pregunta 17
Qu es una instruccin de asigancin compuesta?
Las instrucciones de asignacin compuesta realizan primero una operacin en una
expresin antes de asignarla a un elemento de programacin. En el siguiente ejemplo se
muestra uno de estos operadores, +=, que incrementa el valor de la variable del lado
izquierdo del operador con el valor de la expresin de la derecha.
n += 1
En el ejemplo anterior se suma 1 al valor de n y, a continuacin, el nuevo valor se almacena
en n. Es el equivalente abreviado de la siguiente instruccin:
n=n+1
Pregunta 18
Una instruccin ejecutable puede:
a)realiza una accin. b)especificar un tipo de datos, e instrucciones ejecutables, que inician
acciones. c)Proporciona un anlisis de alto nivel de las instrucciones d)escribir varias
instrucciones en una lnea, continuar una instruccin en varias lneas, e)agregar
comentarios y comprobar errores de compilacin. f)Describe instrucciones que realizan
operaciones de asignacin (asignan el valor de la g)derecha del operador a la variable de la
izquierda). h)Describe instrucciones que asignan nombre a procedimientos, variables,
matrices y constantes, y los definen. i)Puede llamar a un procedimiento, bifurcar a otra
parte del cdigo, j)recorrer varias instrucciones con un bucle o evaluar una expresin
Pregunta 19
Defina que es formularios y cuantos tipos existen?
Se llama formulario a una plantilla o pgina con espacios vacos que han de ser rellenados
con alguna finalidad, por ejemplo una solicitud de empleo en la que has de rellenar los
espacios libres con la informacin personal requerida.
Existen tres tipos de formularios
Formulario normal (FORM) Estos formularios trabajan de forma independiente en un
proyecto y son los ms utilizados Formulario padre (MDIForm) Sirve para la creacin de
interfaces de documentos mltiples (MDI) estos formularios se utilizan pera administrar a
otros formularios que casi siempre son formularios hijos. Formulario hijo (Childform) Esto
formularios en un aplicacin se encuentran administrados por un nico formulario pobre
(MDIForm). Los formularios hijos se convienen de formularios normales a formularios
hijos a travs de la propiedad ( Childform)
Pregunta 20
Que es programacion orientada a objetos, que es un objeto y ponga un ejemplo?
La programacin orientada a objetos es una forma de programar que trata de encontrar una
solucin a estos problemas. Introduce nuevos conceptos, que superan y amplan conceptos
antiguos ya conocidos. Entre ellos destacan los siguientes:
Clase: definiciones de las propiedades y comportamiento de un tipo de objeto concreto. La
instanciacin es la lectura de estas definiciones y la creacin de un objeto a partir de ellas.
Herencia: (por ejemplo, herencia de la clase D a la clase C) Es la facilidad mediante la cual
la clase D hereda en ella cada uno de los atributos y operaciones de C, como si esos
atributos y operaciones hubiesen sido definidos por la misma D. Por lo tanto, puede usar los
mismos mtodos y variables publicas declaradas en C. Los componentes registrados como
"privados" (private) tambin se heredan, pero como no pertenecen a la clase, se mantienen
escondidos al programador y slo pueden ser accedidos a travs de otros mtodos pblicos.
Esto es as para mantener hegemnico el ideal de OOP.
Objeto: entidad provista de un conjunto de propiedades o atributos (datos) y de
comportamiento o funcionalidad (mtodos) los mismos que consecuentemente reaccionan a
eventos. Se corresponde con los objetos reales del mundo que nos rodea, o a objetos
internos del sistema (del programa). Es una instancia a una clase.
Mtodo: Algoritmo asociado a un objeto (o a una clase de objetos), cuya ejecucin se
desencadena tras la recepcin de un "mensaje". Desde el punto de vista del
comportamiento, es lo que el objeto puede hacer. Un mtodo puede producir un cambio en
las propiedades del objeto, o la generacin de un "evento" con un nuevo mensaje para otro
objeto del sistema.
Evento: Es un suceso en el sistema (tal como una interaccin del usuario con la mquina, o
un mensaje enviado por un objeto). El sistema maneja el evento enviando el mensaje
adecuado al objeto pertinente. Tambin se puede definir como evento, a la reaccin que
puede desencadenar un objeto, es decir la accin que genera.
Mensaje: una comunicacin dirigida a un objeto, que le ordena que ejecute uno de sus
mtodos con ciertos parmetros asociados al evento que lo gener. Propiedad o atributo:
contenedor de un tipo de datos asociados a un objeto (o a una clase de objetos), que hace
los datos visibles desde fuera del objeto y esto se define como sus caractersticas
predeterminadas, y cuyo valor puede ser alterado por la ejecucin de algn mtodo.
Estado interno: es una variable que se declara privada, que puede ser nicamente accedida
y alterada por un mtodo del objeto, y que se utiliza para indicar distintas situaciones
posibles para el objeto (o clase de objetos). No es visible al programador que maneja una
instancia de la clase. Componentes de un objeto:atributos, identidad, relaciones y mtodos.
Identificacin de un objeto: un objeto se representa por medio de una tabla o entidad que
est compuesta por sus atributos y funciones correspondientes. En comparacin con un
lenguaje imperativo, una "variable", no es ms que un contenedor interno del atributo del
objeto o de un estado interno, as como la "funcin" es un procedimiento interno del
mtodo del objeto.
Pregunta 21
Explique si Visual Basic es un lenguaje de programacin orientado a objetos?
Visual Basic para aplicaciones en efecto es un lenguaje de programacion que se encuentra
orientado a objetos, puesto que los compomentes, controles...etc que utiliza los usa como
Pregunta 22
Enumere 6 Tipos de Variables o Datos de Visual Basic?
BOOLEAN Slo admite 2 valores de verdad o lgicos que son : TRUE , FALSE.
INTEGER admite valores entre -32768 y 32767.
DOUBLE admite valores decimales de doble precisin.
CURRENCY vlido para valores de tipo moneda.
STRING cadenas de caracteres.
DATE fechas, permite operar con ellas.
Pregunta 23
COMMAND BUTTON
Es el control principal de la forma, contiene el cdigo principal del programa y su
activacin por el usuario provoca que se realicen los principales procesos del problema
planteado (aqu es donde se capturan datos, se realizan operaciones, etc.).
De este control se maneja su propiedad Caption para etiquetarlo con la palabra OK o
ACEPTAR o EXE , y su evento Click para activarlo, es en dicho evento donde se
construye el cdigo del programa.
Este botn tambin puede activar su evento Click, cuando el usuario presione la tecla
<ENTER>, solo poner la propiedad Default en true, en este caso el botn de ordenes, se le
conoce como botn de default.
Igualmente puede activar su evento Click cuando el usuario, presione la tecla <ESC>, solo
poner la propiedad Cancel en true, a este caso se le conoce como CANCEL BUTTON.
Tambin puede mostrar un icono o imagen grfica, primero poniendo su propiedad style =
1 (grfico) y luego usando su propiedad picture para buscar una imagen adecuada.
Igualmente tambin puede usarse como un botn de salida o terminacin o exit del
programa, solo cargando la instruccin END en su evento click, como en el siguiente
ejemplo en visual basic
Private Sub Command1_Click()
End
End Sub
ESTE CODIGO SIRVE PARA SALIR DEL PROGRAMA
Un objeto
En Visual Basic Un objeto es definido como una combinacin entre el cdigo y los datos
que puede tratarse como una unidad. Un objeto puede ser considerado una porcin de una
aplicacin, como un control o un formulario. Una aplicacin entera tambin podria ser
considerada como un objeto.
Los objetos permiten declarar variables y procedimientos una vez y utilizarlos siempre que
sean necesarios. Por ejemplo, si desea agregar un corrector ortogrfico a una aplicacin,
puede definir todas las variables y funciones auxiliares para proporcionar funcionalidad de
correccin ortogrfica. Si crea el corrector ortogrfico como una clase, puede volver a
utilizarlo en otras aplicaciones mediante la inclusin de una referencia en el ensamblado
compilado. An mejor, tal vez pueda ahorrarse trabajo mediante el uso de una clase de
corrector ortogrfico que otra persona ya haya desarrollado.
Las referencias a propiedades and mtodos con frecuencia requieren un calificador de
objeto explcito. Las causas y posibles soluciones de este error son las siguientes:
Dim RetVal
' Variant implcita.
' La propiedad predeterminada se asigna a la Variant ' ValRet de
RetVal = CreateObject("Excel.Application")
RetVal.Visible = True
' Aqu ocurre el error.
Tipo 8.
Utilice la instruccin Set al asignar una referencia de objeto. En casos extraos, este error
se produce cuando tiene un objeto vlido, pero est intentando ejecutar una accin no
vlida en el objeto. Por ejemplo, puede recibir este error si intenta asignar un valor a una
propiedad de slo lectura. Compruebe la documentacin del objeto y asegrese de que la
accin que intenta ejecutar es vlida.
Cada formulario, men o control que se crea es un mdulo autocontenido llamado objeto.
Los bloques bsicos de construccin de una aplicacin con Visual Basic son los objetos.
Cada objeto tiene un conjunto de caractersticas y un comportamiento definido
(propiedades, mtodos y eventos) que lo diferencian de otros tipos de objeto.
ENTORNO DE PROGRAMACION
El lenguaje de programacin que utiliza Excel para trabajar con macros es el VBA (Visual
Basic Application) que como podemos deducir est basado en Visual Basic.
El men del editor de Visual Basic: Esta es la barra de men del editor de Visual Basic
donde podemos acceder a las diversas opciones y comandos del propio editor.
La barra de botones: Esta es la barra de botones de Visual Basic, donde podemos acceder de
una manera ms rpida a las opciones ms comunmente utilizadas, como son la ejecucin,
la parada, guardar, etc... En la parte izquierda de la pantalla podemos ver dos recuadros, el
recuadro superior es el del proyecto. Aqu se encuentran los mdulos, las hojas utilizadas en
los procedimientos/funciones, etc.
En la parte inferior tenemos otro recuadro, con las propiedades del objeto seleccionado. En
esta imagen podemos ver las propiedades del objeto Hoja1 y que es una hoja de clculo
(Worksheet).
Al iniciar un proyecto o archivo y abrir el editor de cdigo, ver que ya hay cdigo en el
lugar que le corresponde y en el orden correcto. Cualquier cdigo que escriba debe seguir la
siguiente secuencia:
1.Instrucciones Option
2.Instrucciones Imports
3.Instrucciones Namespace y elementos del nivel de espacio de nombres
Si escribe instrucciones en un orden distinto, pueden producirse errores de compilacin.
Un programa tambin puede contener instrucciones de compilacin condicional. Pueden
incluirse en el archivo de cdigo fuente entre las instrucciones de la secuencia anterior.
Instrucciones Option Las instrucciones Option establecen reglas de base para el cdigo
subsiguiente, y de esta forma ayudan a prevenir errores de sintaxis y de lgica. Instruccin
Option Explicit (Visual Basic) garantiza que se declaran todas las variables y que se
escriben correctamente, lo que reduce el tiempo de depuracin.
Instrucciones Imports Puede incluir Imports (Instruccin) para importar nombres definidos
fuera del proyecto. Las instrucciones Imports permiten que el cdigo haga referencia a
clases y otros tipos definidos en el espacio de nombres importado sin tener que calificarlos.
Puede utilizar tantas instrucciones Imports como sea necesario.
Instrucciones Namespace Los espacios de nombres ayudan a organizar y clasificar los
elementos de programacin para facilitar la agrupacin y el acceso. Utiliza Namespace
(Instruccin) para clasificar las instrucciones siguientes dentro de un espacio de nombres
determinado.
Elementos de programacin en el nivel de espacio de nombres
Las clases, estructuras y mdulos contienen todo el cdigo del archivo de cdigo fuente.
Son elementos del nivel de espacio de nombres, que pueden aparecer dentro de un espacio
de nombres o en el nivel del archivo de cdigo fuente. Contienen las declaraciones de todos
los dems elementos de programacin. Las interfaces, que definen firmas de elemento pero
no proporcionan ninguna implementacin, tambin aparecen en el nivel de mdulo. Para
obtener ms informacin sobre los elementos del nivel de mdulo, vea los siguientes temas:
Instruccin Class (Visual Basic)
Structure (Instruccin)
Module (Instruccin)
Instruccin Interface (Visual Basic)
Los elementos de datos en el nivel de espacio de nombres son las enumeraciones y los
delegados.
Elementos de programacin en el nivel de mdulo
Los procedimientos, operadores, propiedades y eventos son los nicos elementos de
programacin que pueden contener cdigo ejecutable (instrucciones que realizan acciones
en tiempo de ejecucin). Son elementos del nivel de mdulo del programa. Para obtener
ms informacin sobre los elementos del nivel de procedimiento, vea los siguientes temas:
Instruccin Function (Visual Basic)
Instruccin Sub (Visual Basic)
Declare (Instruccin)
Operator (Instruccin)
Property (Instruccin)
Event (Instruccin)
Los elementos de datos en el nivel de mdulo son las variables, las constantes, las
enumeraciones y los delegados.
Elementos de programacin en el nivel de procedimiento
La mayora del contenido de los elementos del nivel de procedimiento son instrucciones
ejecutables, que constituyen el cdigo en tiempo de ejecucin del programa. Todo el cdigo
ejecutable debe estar incluido en algn procedimiento (Function, Sub, Operator, Get, Set,
AddHandler, RemoveHandler, RaiseEvent). Para obtener ms informacin, vea
Instrucciones ejecutables.
Los elementos de datos en el nivel de procedimiento se limitan a las constantes y las
variables locales.
Procedimiento Main
El procedimiento Main es el primer cdigo que se ejecuta cuando se carga la aplicacin.
Main acta como punto de inicio y control global de la aplicacin. Hay cuatro variedades
de Main:
Sub Main()
Sub Main(ByVal cmdArgs() As String)
o letra::= {a | b | c | d | e | f | g | h | i | j | k | l | m | n | | o | p | q | r | s | t | u | v | w | x | y | z}
o dgito::= {1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0} TIPOS PREDEFINIDOS:
o INTEGER
o Los valores de este tipo son los valores numricos enteros positivos y negativos.
o Coincide con el concepto matemtico de nmeros enteros.
o El rango depend del computador concreto utilizado, SIEMPRE simtrico entorno al cero.
o Dentro de dicho rango la representacin es exacta
o Los rangos son:
o 2^15 = 32768
o 2^31 = 2147483648
o Valor mnimo; MIN (INTEGER)
o Valor mximo; MAX (INTEGER)
o Operadores:
o Suma de enteros A + B
o Resta de enteros A - B
o Multiplicacin de enteros A {*} B
o Divisin de enteros A DIV B
o Resto de entero A MOD B
o Identidad de un entero + A
o Cambio de signo de un entero - A
o La division se realiza entre 2 numeros enteros y obtiene el cociente entero truncado al
valor mas proximo a cero
o MOD puede estar SOLO definido para divisores positivos.
o El resultado es el resto de la division de enteros realizadas con DIV
o CARDINAL
o Representa valores numricos enteros no negativos
o No es muy utilizada por los lenguajes de programacin. Modula-2 permite el doble de
valores positivos
o Forma general del rango es: 0, MAX (CARDINAL)
o Emplea los mismos operadores que para los enteros
o Las operaciones entre cardinales SOLO se da entre cardinales.
o Si queremos realizar operaciones combinadas es necesario que previamente se realice una
conversin de la representacin delos datos al tipo adecuado.
o En algunas versiones de Modula-2, FLOAT y TRUNC solo realzan las conversiones entre
valores de los tipos REAL y CARDINAL, en lugar de REAL e INTEGER.
o FLOAT (45) Representa el valor real 45.0
o TRUNC (34.7) Representa el valor entero 34
o REAL:
o Representa los valores numricos reales positivos y negativos.
o Esta representacin puede no ser exacta, as que solo se puede considerar valido dentro de
un rango.
o El rango como la precisin depende del computador concreto utilizado, aunque nunca
ser posible una representacin de valores irracionales (e, pi) o cuya precisin sea superior
a la disponible en el computador que utilizamos.
o Operaciones:
o Suma de reales A + B
o Resta de reales A - B
o Multiplicacin de reales A * B
o Divisin de reales A / B
o Identidad de reales + A
END EscribirHola.
El texto del programa comienza con una cabecera en la que despus de la palabra
MODULE, se pone el nombre que le damos al mdulo de programa. A continuacin se
declara la lista de elementos importados de otros mdulos. Esta lista de importados puede
estar vaca si no se necesita ninguna colaboracin de otros mdulos. En la lista de
importados se indica desde que modulo se importan los elementos y la lista de elementos
que se quieren importar, usando las palabras inglesas, FROM e IMPORT. La parte final del
programa contiene las sentencias ejecutables correspondiente a las acciones a realizar,
escritas entre las palabras inglesas BEGIN y END. Las diferentes partes del programa se
separan una de otra mediante ( . Al final del texto del programa se repite el nombre del
mdulo como comprobacin y se acaba con un (.) Descripcin formal de la estructura de un
programa: o Mdulo_programa ::= Cabecera_programa Bloque Nombre_programa o
Cabecera_programa ::= MODULE Nombre_programa; {Lista_importados;} o
Lista_importados ::= FROM Nombre_mdulo IMPORT Lista_elementos}} o
Lista_elementos ::= Nombre_elemento {, Nombre_elemento} La estructura de un bloque
solamente puede indicarse de momento en forma simplificada, ya que solo se han visto los
elementos mnimos necesarios para escribir un programa. o Bloque ::= Parte_ejecutiva
END o Parte_ejecutiva ::= BEGIN Secuencia_de_sentencias o Secuencia_de_sentencias ::=
Sentencia {; Sentencia} o Uso Comentarios: o Cabeceras de programas o Cabeceras de
seccin Comentario de Seccin o Comentarios-orden (*-- Aqu cuentas lo que esta
haciendo la orden siguiente --*) o Comentarios al margen (* A la izquierda tienes el cdigo
que estas utilizando y esto a la dcha*) Descripcin formal de la estructura de un programa o
Bloque ::= Parte_declarativa Parte_ejecutiva END o Parte_declarativa ::= {Declaracin} o
Declaracin ::= Declaracin_de_constantes | Declaracin_de_variables o
Parte_ejecutiva ::= BEGIN Secuencia_de_sentencias o Secuencia_de_sentencias ::=
Sentencia {Sentencias;}
Dim DailyTotal As Decimal = 0 ' Sales total for today(Ventas Totales Del Dia)
' This comment is so long that it requires more than one line, so
' the comment character (') must be repeated on the second line
o en espaol:
'este comentario es demasiado largo que requiere mas de una linea,entonces 'el simbolo
para comentario()debe ser utilizado en la segunda linea de codigo
Sentencias de Control
Las sentencias de control, denominadas tambin estructuras de control, permiten tomar
decisiones y realizar un proceso repetidas veces. Visual Basic dispone de las siguientes
estructuras:
- If...Then. - If...Then...Else. - Select case. - For... Next. - While...Wend. - Do...loop. - Goto.
SELEC CASE
Estructura General:
Select Case dato
Case valor1
bloque de sentencias
case valor2
bloque de sentencias
Case valor3
bloque de sentencias
case else
bloque de sentencias, se ejecutan si no se cumple ninguno de los valores anteriores
End Select
SENTENCIA IF
Permite tomar una decisin referente al camino a seguir o accin a ejecutar en un proceso
basndose en el resultado (verdadero o falso) de una condicin. Su sintaxis es: If condicin
then accin1 [else accin2] donde condicin debe ser una expresin numrica, relacional o
lgica. Si la condicin es verdadera se ejecuta la accin1 y si es falsa se ejecutar la
accin2.
SENTENCIA SELECT
Esta expresin permite ejecutar una de varias acciones en funcin del valor de una
expresin. Es una alternativa a If... Then ... ElseIf cuando lo que se necesita es comprobar
es la misma expresin con diferentes valores. Su sintaxis es: selec case expresion
case lista1
sentencias
case lista2
sentencias
case else
sentencias n
end select donde expresin es una expresin numrica o alfanumrica, y lista1 y lista2....
representan una lista que puede tener cualquiera de las formas siguientes:
expresin[,expresin]... expresin to expresin Is operador-de-relacin expresin
combinacin de las anteriores separadas por comas
SENTENCIA THEN =sentencia
SENTENCIA ELSE =sentencia
Next [variable[,variable...]]
Cuando se ejecuta una sentencia For en la que el valor de la expresin3 es positivo o no se
ha especificado, primero se ha asigna el valor de la expresin1 a la variable y a
continuacin se comprueba si la variable es mayor que la expresin 2, en cuyo caso se salta
el cuerpo del bucle y se contina en la lnea que ste a continuacin de la sentencia Next.
En otro caso, se ejecutan las lnea sde programa que haya entre la sentencia For y la
sentencia Next. Por ltimo, la variable, se incrementa en el valor de la expresin3, o en 1 si
Step no se especifica, volvindose a efectuar la comparacin entre la variable y la
expresin2, y as sucesivamente. SENTENCIA WHILE... WEND
Un bucle While repite la ejecucin de un conjunto de sentencias mientras una condicin
dada sea cierta. La condicin se verifica antes de ejecutarse el conjunto de sentencias.
While condicion
[sentencias]
Wend
Loop Do
[sentencias]
[Exit do]
[sentencias]
* Selectiva Simple
* Selectiva Doble
* Selectiva Mltiple
Selectiva Simple (If Then / End If)
Se identifican porque estn compuestos nicamente de una condicin. La estructura si entonces evala la condicin y en tal caso:
Si la condicin es verdadera, entonces ejecuta la accin Si (o acciones si son varias). Si la
condicin es falsa, entonces no se hace nada.
Espaol Ingls
Si <condicin> If <condicin>
Entonces then
<accin Si> <accin Si>
fin_si endif
Ejemplo 1.
Construir un algoritmo tal, que dado como dato la calificacin de un alumno en un examen,
escriba Aprobado en caso que esa calificacin fuese mayor que 8.
Permite tomar una decisin referente al camino a seguir o accin a ejecutar en un proceso
basndose en el resultado (verdadero o falso) de una condicin.
FORMATO A: Cuando la alternativa tiene una sola sentencia.
If exp_log Then
sentencia
End if
Comentarios
La seleccin simple (xlNone) slo permite seleccionar un elemento a la vez. Al hacer clic
con el mouse (ratn) o presionar la barra espaciadora se cancela la seleccin y se selecciona
el elemento en el que se ha hecho clic.
La expresin exp_log puede dar como resultado un valor verdadero (1) o falso (0). Cuando
la exp_log es verdad se ejecuta la sentencia 1 y el control del programa salta a la sentencia
3. Cuando la exp_log es falsa se ejecuta la sentencia 2 y continua en la sentencia 3.
FORMATO B: Cuando tenemos varias sentencias por la alternativa verdadera y una
sentencia por la alternativa falsa.
If exp_log Then
sentencia1
sentencia2
sentencia3
Else
sentencia4
End If
sentencia5
- Select case - For... Next - While...Wend - Do...loop - Goto - Then - Else - End If
Selectiva Mltiple (Select Case / Case else / End Select)
Esta expresin permite ejecutar una de varias acciones en funcin del valor de una
expresin. Es una alternativa a If... Then ... ElseIf cuando lo que se necesita es comprobar
es la misma expresin con diferentes valores. Su sintaxis es:
En esta estructura, expresionX puede ser una variable numrica, cadena de caracteres o una
condicin, la misma q es evaluada una sola vez al inicio de la estructura y comparada con
las expresiones (expresin1, expresin2, expresin3....) para ejecutar el bloque de
sentencias respectivo cuando son iguales. expresin1, expresin2, expresin3,....
expresinN representan la lista de los posibles valores que pueden tomar la expresinX.
Cada bloque de sentencias puede tener uno o mas lneas de cdigos que son ejecutadas y
cuando el valor de la expresinX no coincide con ninguno de la expresin1, expresin2,....
expresinN se ejecuta el bloque de sentencias correspondientes.
La multiseleccin extendida (xlExtended) suele comportarse como la seleccin simple, en
la que, al hacer clic en un elemento, se cancelan todas las dems selecciones. Cuando se
mantiene presionada la tecla MAYS mientras se hace clic con el mouse o se presiona una
tecla de direccin, los elementos se seleccionan consecutivamente a partir del elemento
seleccionado. Cuando se mantiene presionada la tecla CTRL mientras se hace clic con el
mouse, se agregan elementos individuales a la seleccin de la lista. Este modo es apropiado
cuando se permiten mltiples elementos pero no se utilizan con frecuencia.
expresin to expresin Is operador-de-relacin expresin combinacin de las anteriores
separadas por comas
Estructuras Repetitivas
Sentencia For... NexT La sentencia for da lugar a un bucle que permite ejecutar un
conjunto de sentencias cierto nmero de veces. Su sintaxis es:
for variable = expresion1 to expresion2[Step expresion3]
[sentencias]
[Exit for]
[sentencias]
Next [variable[,variable...]]
Es muy comn encontrar en las aplicaciones que una sentencia o un grupo de sentencias se
debe ejecutar un nmero determinado de veces. Las sentencias son las mismas, pero los
datos con los que operan varan. El conjunto de sentencias que operan repetidamente se
llama bucle, ciclo o lazo. El bucle es una secuencia de sentencias que se repiten mientras se
cumple una condicin que controla las iteraciones. Una iteracin es un conjunto de
sentencias que se repiten en el interior del bucle por lo que a las estructuras repetitivas
tambin se les conoce como estructuras iterativas.
Cuando se ejecuta una sentencia For en la que el valor de la expresin3 es positivo o no se
ha especificado, primero se ha asigna el valor de la expresin1 a la variable y a
continuacin se comprueba si la variable es mayor que la expresin 2, en cuyo caso se salta
el cuerpo del bucle y se contina en la lnea que ste a continuacin de la sentencia Next.
En otro caso, se ejecutan las lnea sde programa que haya entre la sentencia For y la
sentencia Next. Por ltimo, la variable, se incrementa en el valor de la expresin3, o en 1 si
Step no se especifica, volvindose a efectuar la comparacin entre la variable y la
expresin2, y as sucesivamente. La sentencia exit for permite salir del bucle for... next
antes de que este finalice.
Sentencia While... Wend Un bucle While repite la ejecucin de un conjunto de sentencias
mientras una condicin dada sea cierta. La condicin se verifica antes de ejecutarse el
conjunto de sentencias.
While condicion
[sentencias]
Wend
Loop Do
[sentencias]
[Exit do]
[sentencias]
Loop[{While|Until}condicin]
Donde condicin es cualquier expresin que se evale a True o a False
Sentencia es una orden que se le da ala computadora para que ejecute una accin
determinada. Un programa de VISUAL BASIC consta de sentencias que le dice a la
maquina las funciones que debe realizar . Sentencias condicionales.
Llamamos sentencias condicionales a aquellas que se realizan si se cumple una determinada
condicin. Son las sentencias por las que empieza cualquier texto de Basic, y este no va ser
menos.
La sentencia condicional mas usada es:
Si se cumple una condicin Entonces
Realiza estas instrucciones
Si no se cumple
Realiza estas otras instrucciones
Fin de la sentencia.
As de fcil es programar en Basic. Lo que ocurre es que esta herramienta habla ingls, y lo
descrito anteriormente toma la forma:
If condicin Then
Instrucciones
Else
Otras instrucciones
End If
En este ejemplo, la condicin era que, o se cumple una condicin y ejecuta unas
determinadas instrucciones, o no se cumple, y ejecuta otras condiciones distintas. Puede
ocurrir que, caso de no cumplirse la condicione primera, se abra un abanico de dos o tres
posibilidades. La sentencia condicional tendra entonces la forma:
If condicin 1 Then
Instrucciones
Else If Condicin 2
Otras instrucciones
Else If Condicin 3
Otro juego de instrucciones
Else Instrucciones que debe realizar caso de no cumplir las condiciones 1, 2 y 3.
End If
Como decamos anteriormente, este es el tipo de sentencia condicional mas usada. Existe
otra:
Select Case
Su nombre casi nos define lo que es: Selecciona, dependiendo del caso, un determinado
juego de instrucciones:
Select Case variable ' variable es una variable que puede tomar los valores (p.e.) de 1 a 4
Case 1
Instrucciones a ejecutar en caso de que variable = 1
Case 2
Instrucciones a ejecutar en caso de que variable = 2
Case 3
Instrucciones a ejecutar en caso de que variable = 3
Case 4
Instrucciones a ejecutar en caso de que variable = 4
End Select
Este procedimiento resulta mucho mas sencillo y rpido que las sentencias If Then Else
vistas anteriormente, cuando el margen de eleccin es mayor que 2.
Mientras condicin
Instrucciones
Fin del bucle
Existen dos formas de bucle: Una, que realiza un nmero determinado de recorridos por el
bucle. Es el denominado bucle por contador. Otra, realiza el bucle hasta que se cumpla (o
deje de cumplirse) una condicin. Es el llamado bucle por condicin.
Bucle por contador
Realiza el bucle tantas veces como le indiquemos. Por ejemplo, en este bucle nos va a
presentar las 26 letras maysculas del alfabeto ingls
For N=65 To 90
Label1.caption = Chr ( N )
Next N
Este "programa" nos presentar en una caja (Label) los caracteres cuyo nmero ASCII vaya
desde el 65 (A) al 90 (Z) Comenzar presentando el correspondiente al nmero 65, e ir
presentando sucesivamente el 66, el 67, etc., hasta llegar al 90, donde se parar.
Bucles por condicin
Ejecuta las instrucciones del bucle mientras se cumple una condicin
X=0
Do While X < 1000
X=X+1
Loop
Si lo que queremos es que el programa se ejecute mientras no se cumpla una determinada
condicin, la sentencia ser:
X=0
Do Until X > 1000
X=X+1
Loop
Observe que la diferencia entre una y otra es la condicin, While para indicar Mientras se
cumpla que ... y Until para indicar Mientras no se cumpla que ....
Para terminar bien el programa anterior utilizaremos la condicin de While (Mientras se
cumpla la condicin)
For N=65 To 90
Label1.caption = Chr ( N )
Label1.RefreshN ' Refresca la etiqueta
X=0
Procedimientos
Un procedimiento es un bloque de instrucciones de Visual Basic incluido entre una
instruccin de declaracin (Function, Sub, Operator, Get, Set) y una declaracin End
correspondiente. En Visual Basic, todas las instrucciones ejecutables deben incluirse en
algn procedimiento.
los Procedimientos nos sirven para realizar una tarea concreta que probablemente se vaya a
ejecutar varias veces a lo largo de la vida de la pgina. Esta tarea se especifica en un bloque
de cdigo de manera independiente y cuando se desean realizar las acciones.
Una vez realizadas las acciones pertinentes se devuelve el flujo del programa al lugar desde
donde se invoc ese procedimiento o funcin. Lo primero que debemos hacer al crear un
procedimiento es pensar las cosas que se desean hacer dentro de la funcin, la informacin
que necesitaremos (que tendremos que recibir como parmetros) y la informacin que
devolver.
Llamar a un procedimiento
Los procedimientos se invocan desde otras partes del cdigo. Esto se conoce como una
llamada a procedimiento. Cuando finaliza la ejecucin de un procedimiento, ste devuelve
el control al cdigo que lo invoc, que recibe el nombre de cdigo de llamada. El cdigo de
llamada es una instruccin o una expresin contenida en una instruccin, que hace
referencia al procedimiento por su nombre y le transfiere el control.
Volver de un procedimiento
Los procedimientos devuelven el control al cdigo de llamada cuando finalizan su
ejecucin. Para ello, puede utilizar Instruccin Return (Visual Basic), la instruccin
Instruccin Exit (Visual Basic) apropiada para el procedimiento o la instruccin End
Con una instruccin Exit Sub o Exit Function, el control vuelve inmediatamente al
cdigo de llamada. No se ejecutan las instrucciones siguientes a la instruccin Exit.
Puede tener ms de una instruccin Exit en el mismo procedimiento, y puede
mezclar las instrucciones Return y Exit en el mismo procedimiento.
Parmetros y argumentos
En la mayora de los casos, un procedimiento necesita funcionar en datos diferentes cada
vez que lo llama. Puede pasar esta informacin al procedimiento como parte de la llamada
al procedimiento. El procedimiento define cero o ms parmetros, cada uno de los cuales
representa un valor que el procedimiento espera que le pase. Cada parmetro de la
definicin del procedimiento cuenta con un argumento correspondiente en la llamada al
procedimiento. Un argumento representa el valor que pasa al parmetro correspondiente en
una llamada a procedimiento determinada.
Tipos de procedimientos
Visual Basic utiliza varios tipos de procedimientos:'
*Procedimientos Sub: ejecutan acciones pero no devuelven un valor al cdigo de llamada.
*Los procedimientos de control de eventos son procedimientos Sub que se ejecutan en
respuesta a un evento provocado por una accin del usuario o por un suceso en un
programa.
*Procedimientos Function: devuelven un valor al cdigo de llamada. Pueden realizar
otras acciones antes de volver.
Variables
Visual Basic, al igual que la mayora de los lenguajes de programacin, utiliza variables
para almacenar valores. Una variable tiene un nombre (la palabra que se utiliza para
referirse al valor que contiene la variable) y un tipo de datos (que determina la clase de
datos que puede almacenar la variable). Una variable puede representar una matriz, si es
necesario que almacene un conjunto indizado de elementos de datos estrechamente
relacionados entre s.
Una variable es un lugar de almacenamiento con nombre que puede contener cierto tipo de
datos (nmero, texto, fecha, etc.), que puede ser modificado durante la ejecucin del
programa. Cada variable tiene un nombre nico que la identifica dentro de su nivel de
mbito. Puede especificar un tipo de datos o no. Los nombres de variable deben comenzar
con un carcter alfabtico, deben ser nicos dentro del mismo mbito, no deben contener
ms de 255 caracteres y no pueden contener un punto o carcter de declaracin de tipo.
OPTION EXPLICIT
Obliga a declarar previamente las variables que se vayan a usar. De no haberla declarado
antes de usarla, el programa dar una comunicacin de error.
Visual Basic, al igual q la mayora de los lenguajes d programacin, utiliza variables para
almacenar valores.Una variable puede representar una matriz, si es necesario que almacene
un conjunto indicando de elementos de datos estrechamente relacionados entre s.
no sale del formulario, procedimiento mdulo donde se declar. Cada vez que entremos
al formulario, procedimiento o mdulo, esa variable tomar el valor cero (si es numrica) o
nulo (si es string).
Sentencia PRIVATE Es la forma de declarar una variable como Privada. Puede emplearse
solamente en la seccin de declaraciones de un Formulario o Mdulo. La sintaxis es de la
siguiente forma:
Private nombrevariable As Tipovariable Declarando una variable mediante la sentencia
PRIVATE en un Formulario o Mdulo, esa variable puede usarse en todo ese Formulario o
Mdulo (En todos sus Procedimientos y Funciones), pero NO fuera del Formulario o
Mdulo donde se declar. La sentencia Private no puede usarse en un procedimiento o
funcin.
Publicnombrevariable As Tipovariable
Declarando una variable de esta forma en la seccin de declaraciones de un Mdulo, esa
variable puede usarse en cualquier parte del programa citndola simplemente por su
nombre.
Si se declara de esta forma en la seccin de declaraciones de un Formulario, esa variable
puede usarse en toda el programa. Para nombrarla, si estamos en el Formulario donde se
declar basta con citarla por su nombre. Si no estamos en ese Formulario, habr que citarla
por el nombre del Formulario, seguido del nombre de la variable, separados por un punto :
NombreFormulario.Nombrevariable En un Mdulo puede usarse tambin la sentencia
Global en vez de Public :
Sentencia GLOBAL Declara una variable que es vlida en todo el programa. La sintaxis
es: Global nombrevariable Astipovariable La sentencia Global slo puede usarse en el
apartado de declaraciones de un Mdulo. Mediante la sentencia Global la variable puede
usarse en todo el espacio del programa.
Sentencia STATIC
Como se dijo anteriormente, una variable declarada en un procedimiento pierde su valor al
salir de l. Lo peor es que una vez que el programa vuelva a entrar en ese procedimiento, la
variable estar puesta a cero. Afortunadamente, esto ltimo tiene solucin. Si declarsemos
una variable en un procedimiento o funcin, como esttica, esa variable, aunque no la
podremos utilizar fuera de ese procedimiento o funcin, cuando volvamos a l conservar
el valor que tena cuando lo abandonamos. Esta declaracin como esttica se realiza
mediante la intruccin Static
Static nombrevariable Astipovariable
El nombre de una variable puede ser tan largo como queramos. hasta un mximo de 40
caracteres. En la versin VB para Espaa se pueden usar incluso la y vocales acentuadas.
Es indiferente usar mayscula minsculas. No se sorprenda, si por ejemplo, la ha
declarado con maysculas y luego la cita con minsculas al escribir el cdigo, que
automticamente se cambie a maysculas. El nombre de una variable siempre debe
comenzar por una letra. No hay problema por utilizar variables largas. Al compilar el
programa no se lleva el nombre, es decir, no le va a ocupar mas espacio. Utilice siempre
nombres que le definan la variable con algn sentido. Es muy til a la hora de acordarse
como se llaman, y sobre todo, a la hora de rehacer un programa que realiz hace seis meses.
Pese a que Visual Basic no obliga a declarar variables, es muy til hacerlo. De esta forma se
tiene control sobre el programa. La experiencia se lo ir demostrando.
Resumimos la forma de declarar una variable :
En un Procedimiento (La variable no puede usarse fuera de esta Procedimiento)
Dim Variable As Tipovariable
En un Procedimiento, como permanente (La variable no puede usarse fuera de este
procedimiento, y dentro de l conserva el valor aunque se salga y se vuelva a entrar)
Static Variable As Tipovariable
En un Formulario (En su seccin de declaraciones)
Como Privada (Solamente se puede usar en ese Formulario)
Dim Variable As Tipovariable
Private Variable As Tipovariable
Como Pblica (Puede usarse en toda la aplicacin)
Public Variable As Tipovariable
En un Mdulo
Como Privada (Solamente puede usarse en ese Mdulo)
Dim Variable As Tipovariable
Private Variable As Tipovariable
Como Pblica (Puede usarse en toda la aplicacin)
Public Variable As Tipovariable
la variable num se almacena un numero de tipo entero para utilizarle y sumarle es decir
num=num +1
En el desarrollando cdigos en VBA, con frecuencia tenemos que almacenar valores para
realizar n cantidad de clculos.En Visual Basic se utilizan variables para almacenar valores
al igual que en otros lenguajes de programacin.Entonces que es una variable,
Variable
Las variables se utilizan para almacenar valores que tienen la propiedad de variar el
contenido de cualquier tipo de datos.
Debemos tomar en cuenta algunos aspectos bsicos:
1. Las variables deben tener un nombre que describa el valor que contiene dicha
variable.
2. Las variables tambin tienen un tipo de dato, bsicamente es el que establece cual
es la clase de dato que se almacenara en nuestra variable.
USO
Visual Basic, al igual que la mayora de los lenguajes de programacin, utiliza variables
para almacenar valores. Una variable tiene un nombre (la palabra que se utiliza para
referirse al valor que contiene la variable) y un tipo de datos (que determina la clase de
datos que puede almacenar la variable). Una variable puede representar una matriz, si es
necesario que almacene un conjunto indizado de elementos de datos estrechamente
relacionados entre s.
Ambito de las variables
Denominamos mbito de una variable a las partes del programa donde esa variable est
declarada. Para entenderlo mejor, veamos someramente la forma de un programa
desarrollado en VB.
Un programa VB tiene uno o varios formularios. Cada formulario tiene varios controles.
Tanto el formulario como cada uno de sus controles tienen una parte del programa,
justamente la parte relacionada con cada uno de los eventos que pueden suceder bien al
formulario o a los controles. A estas partes las habamos llamado Procedimientos. Podemos
tener procedimientos que no estn relacionados con ningn evento ocurrido al formulario o
a sus controles. Aparte de formularios y controles, un programa puede tener Mdulos, y en
cada uno de los mdulos podemos insertar cuantos Procedimientos y Funciones queramos.
La estructura de un programa VB puede ser de la siguiente forma:
realidad, lo que tenemos son dos variables distintas, pero con el mismo nombre, una
declarada para todo el formulario excepto para el procedimiento donde se volvi a declarar,
y otra para ese procedimiento concreto.
NOTA.- No es recomendable declarar una variable a dos niveles. Es mucho mejor utilizar
otro nombre para esa variable dentro del procedimiento donde se le declarara por segunda
vez. A esta nota cabe exceptuar cuando declaramos variables para una operacin tipo
contador
For I = 1 To N
Esa variable I es prctico declararla con el mismo nombre en cada Procedimiento donde se
use.
TIPOS DE VARIABLES
MsgBox resultado
End Sub
Variables Pblicas o Globales:
Son aquellas variables que se declaran en el programa principal y podrn ser utilizadas en
cualquier parte de programa. Para la declaracin de las variables se utiliza la instruccin
Public.
Ejemplo:
Option Explicit
Public num1, num2, num3, resultado as Integer
Sub expresin1 ()
num1 = 45
num2 = 12
num3 = 9
resultado = Cint ((num1 + num2)^2 / num3 (num1 * num2))
MsgBox resultado
End Sub
Sub expresin2 ()
resultado = Cint (num1/ (num3 - (num1 * num2))
MsgBox resultado
End Sub
Variables Estticas:
Son aquellas variables que se declaran dentro de un procedimiento y conservan su valor; es
decir, que son definidas dentro de cada procedimiento pero retienen el valor de la ltima
vez en el que fue utilizado. Para la declaracin de las variables se utiliza la instruccin
Static.
tambien podemos decir qu las variables estaticas especifican si una o varias variables
locales declaradas deben seguir existiendo y conservar sus ltimos valores tras la
finalizacin del procedimiento en el que se han declarado.
Ejemplo:
Option Explicit
Sub macro2 ()
Static dato as Byte
dato = dato + 5
num.select
num = dato
End Sub
Tipos de Datos de las Variables
tipos de datos
existen diversos tipos de datos numricos para controlar nmeros en varias
representaciones. Los tipos integrales representan slo nmeros enteros (positivos,
negativos y cero) y los tipos no integrales representan nmeros con partes enteras y
fraccionarias.
Los tipo de datos que puede almacenar una variable establece dos condiciones:
El conjunto de valores permitidos para este dato.
El grupo de operaciones que se pueden aplicar sobre esos valores.
Los tipos de datos se dividen en 3 categoras elementales, que son:
numricos, cadena de caracteres y lgicos.
Las variables pueden ser de los siguientes tipos: (El nmero indicado en segundo lugar
indica el nmero de Bytes que ocupa en memoria.)
(*) Una variable tipo String ocupa el mismo nmero de bytes que caracteres tenga la
cadena.
(**) Una variable tipo Variant ocupa 16 bytes si se trata de un nmero y 22 bytes + longitud
de la cadena si se trata de un dato tipo cadena de caracteres.
Existen tambin variables definidas por el usuario (Ya ver la sentencia Type). En este tipo
de variables se pueden introducir muchos datos de distinto tipo. Los bytes necesarios para
almacenar esa variable depender de los datos que se hayan definido.
Dentro de las variables Objet (variables que se refieren a objetos) existe una gran variedad
que a estas alturas del curso no debemos complicarnos con ellas.
Cada tipo de variable ocupa unos determinados bytes. Si no se define una variable, VB
toma como tipo por defecto para la variable el tipo Variant. Este tipo ocupa mas bytes que,
por ejemplo, un integer. Si el tipo de dato que vamos a introducir en una variable es un
integer, y no la hemos declarado como tal, VB asumir para esa variable que es del tipo
Variant, lo que le llevar a gastar mas bytes de memoria (16) que los que necesitara (2) si
la hubisemos declarado previamente. Si esa variable va a estar en el rango de 0 a 255, y no
declaramos previamente que la variable va a se del tipo Byte, o la declaramos como integer,
p. e., estamos desperdiciando memoria RAM y posiblemente, retardando la ejecucin del
programa. Lo mismo podemos decir del resto de las variables, y lo importante que es
definirlas y definirlas bien.
Ejemplos Prcticos de declaracin de variables En Visual Basic, cuando declaramos una
variable como String (Cadena de caracteres), no es necesario declarar su longitud. VB
aceptar cualquier nmero de caracteres. Si desea evitar que se puedan introducir ms de un
determinado nmero de caracteres, debe declarar su nmero. Por ejemplo : Dim Var1 as
String Var1 puede tener cualquier nmero de caracteres Dim Var2 as String * 15 Var2
puede tener un mximo de 15 caracteres. En este segundo caso, si se introduce como Var2
una cadena de caracteres con mas de 15 caracteres, Var2 tomar solamente los 15 primeros.
Visual basic no presenta ningn aviso de que esa variable ha omitido los caracteres que han
sobrepasado la cifra de 15. Si desea que el usuario conozca esa circunstancia, debe
introducir el cdigo oportuno para producir el aviso. La declaracin de variables tipo String
con nmero de caracteres predefinido presenta tambin inconvenientes a la hora de tratar
esa cadena de caracteres con sentencias tales como Mid, Left y Right, o a la hora de aadir
una cadena a otra. La experiencia nos indica que NO merece la pena declarar variables tipo
String con el nmero de caracteres prefijado.
Reglas de tipos de datos
Distintos tipos. Puede especificar distintos tipos de datos para
las diferentes
constantes utilizando una clusula As independiente para cada
variable que declare.
Sin embargo, no puede declarar varias constantes para que sean del
mismo tipo utilizando
una clusula As comn.
Comportamiento
Declarar Variables
Una variable se declara para especificar su nombre y sus caractersticas. La instruccin de
declaracin para variables es Instruccin Dim (Visual Basic). Su ubicacin y contenido
determinan las caractersticas de la variable, la instruccin de declaracin puede incluirse
en un procedimiento para crear una variable de nivel de procedimiento. O puede colocarse
al principio de un mdulo, en la seccin Declarations, para crear una variable de nivel de
mdulo.
Se pueden declarar varias declarar distintas variables en la misma instruccin sin necesidad
de repetir el tipo de datos. En las instrucciones siguientes, las variables i, jy k se declaran
como tipo Integer, l y m como Long, y x e y como Single: Copiar
Dim i, j, k As Integer ' All three variables in the preceding statement are declared as Integer.
Dim l, m As Long, x, y As Single ' In the preceding statement, l and m are Long, x and y
are Single.
El mbito de una variable est formado por todo cdigo que puede hacer referencia a la
variable sin tener que calificar su nombre. El mbito de una variable est determinado por
la ubicacin en la que se haya declarado la variable. El cdigo de una regin determinada
puede utilizar las variables definidas en dicha regin sin necesidad de especificar los
nombres de las variables.
Este es el principal paso en la vida de una variable, esta se realiza en la seccion que
comienza con la palabra var. Para declarar variables se utiliza normalmente una instruccin
Dim. La instruccin de declaracin puede incluirse en un procedimiento para crear una
variable de nivel de procedimiento. O puede colocarse al principio de un mdulo, en la
seccin Declarations, para crear una variable de nivel de mdulo.
Para declarar variables se deben tomar en consideracion los siguientes parametros:
1. Nunca deben empezar con caracteres especiales
2. No se pueden usar palabras reservadas como dim, integer, long, single, double, if,
etc...
3. No es obligatorio pero deberian ser identificadas con un nombre referiendose al
proceso para la que va ser usada.
4. Deben ser declaradas de acuerdo al tipo de datos que las mismas van a usar.
5. Se puede declarar varias variables en una misma lnea de cdigo.
[[Ejemplo]]
Dim numero1, numero2 as integer
Dim nombre, ciudad as string
Dim answer as boolean
Dim division as double
Dim cedula as integer, nombre as string, sueldo as double
Tambien es muy importante tomar en cuenta que si se ecuentra activo el option explicit,
esta nos obliga a declarar previamente las variables que se vayan a usar. De no haberla
declarado antes de usarla, el programa dar una comunicacin de error.
Resumimos la forma de declarar una variable :
En un Procedimiento (La variable no puede usarse fuera de esta Procedimiento)
Dim Variable As Tipovariable
En un Procedimiento, como permanente (La variable no puede usarse fuera de este
procedimiento, y dentro de l conserva el valor aunque se salga y se vuelva a entrar)
Static Variable As Tipovariable
En un Formulario (En su seccin de declaraciones)
Como Privada (Solamente se puede usar en ese Formulario)
Dim Variable As Tipovariable
Private Variable As Tipovariable
Como Pblica (Puede usarse en toda la aplicacin)
Public Variable As Tipovariable
En un Mdulo
Como Privada (Solamente puede usarse en ese Mdulo)
Dim Variable As Tipovariable
Private Variable As Tipovariable
Como Pblica (Puede usarse en toda la aplicacin)
Public Variable As Tipovariable
Global Variable As Tipovariable
Opction Explicit:
Un concepto claro que podemos tener de la instruccion option explicit es la que nos indica
que exige la declaracin explcita de todas las variables en un archivo.
Esta instruccin se usa en el mdulo para forzar las declaraciones explcitas de todas las
variables en dicho mdulo, es decir, que no las des por supuestas, sino que se tengan que
declarar antes de comenzar. Si se usa, la instruccin Option Explicit, sta debe aparecer en
un mdulo antes de cualquier otro procedimiento.
Utilice Option Explicit para evitar escribir incorrectamente el nombre de una variable
existente o para evitar confusiones en el cdigo all donde el mbito de la variable no est
claro. Si no utiliza la instruccin Option Explicit, todas las variables no declaradas son de
tipo Object.
EJEMPLO DE LA FUNCION OPTION EXPLICIT
Option Explicit
Sub Cn_s()
Dim C0 As Integer
Dim t As Integer
Dim i As Integer
C0 = Val(InputBox("Entrar el Capital Inicia", "Entrada de datos"))
t = Val(InputBox("Entrar el Tiempo", "Entrada de datos"))
i = Val(InputBox("Entrar el Inters", "Entrada de datos"))
ActiveSheet.Range("cns").Value = C0*(1+i*t)
End Sub
La funcin Val(Dato String), devuelve los nmeros contenidos en una cadena como un
valor numrico del tipo adecuado.
Si la cadena a convertir contiene algn carcter no numrico devuelve 0.
As, si al pedir un valor se teclea "Hola", la funcin Val, devolver un cero.
Funciones de conversin de tipos. (Tabla copiada de la ayuda en lnea de Visual Basic para
Excel).
Val(Cadena). Convierte la cadena a un valor numrico.
nInt
nLng
nSng
nDob
nCur
nVar
As
As
As
As
As
As
Integer
Long
Single
Double
Currency
Variant
Sub: Indica que por ejemplo Command1 es un procedimiento, es decir no es una funcin o
propiedad. Las funciones devuelven un valor, los procedimientos no (salvo en algunos
casos particulares).
() : En los dos parntesis van los parmetros
Comentarios
Si se utiliza, la instruccin Option Explicit tiene que aparecer en un archivo antes que
cualquier otra instruccin de cdigo fuente.
Cuando Option Explicit aparece en un archivo, se deben declarar explcitamente todas las
variables mediante instrucciones Dim o ReDim. Si intenta utilizar un nombre de variable no
declarada, se producir un error en tiempo de compilacin.
Utilice Option Explicit para evitar escribir incorrectamente el nombre de una variable
existente o para evitar confusiones en el cdigo all donde el mbito de la variable no est
claro. Si no utiliza la instruccin Option Explicit, todas las variables no declaradas son de
tipo Object.
Declarar una Variable de objeto para Automatizacin
OBJETO: de Automatizacin
Automatizacin es el proceso de controlar un programa de otro programa o herramienta de
desarrollo externo. Puede automatizar cualquier programa que contiene un modelo de
objetos de Visual Basic. Un modelo de objetos es una coleccin jerrquica de objetos que
estn disponibles el programa o la expone a Visual Basic.
Para declarar una variable de objeto de automatizacion el Objeto que se ofrece para otras
aplicaciones o herramientas de programacin a travs de las interfaces de Automatizacin.
Declara una variable de Object especificando As Object en Instruccin Dim. Asigna un
objeto a este tipo de variable colocando el objeto despus del signo igual (=) en una
instruccin de asignacin o una clusula de inicializacin.
EJEMPLO:
En el siguiente ejemplo se declara una variable Object y se le asigna la instancia actual.
Dim thisObject As Object
thisObject = Me
Puede combinar la declaracin y la asignacin inicializando la variable como parte de su
declaracin.
El ejemplo siguiente es equivalente al ejemplo anterior.
Dim thisObject As Object = Me
No todos los lenguajes de programacin pueden utilizar todas las variable que aparecen en
una biblioteca de tipos o biblioteca de objetos. Las causas y posibles soluciones de este
error son las siguientes:
Intent utilizar una variable definida en una biblioteca de tipos u objetos que tiene un tipo
de datos no admitido por Visual Basic.
No puede utilizar una variable de un tipo no reconocido por Visual Basic en un programa
de Visual Basic. Cuando accede a objetos de Automatizacin, pueden producirse errores de
determinados tipos especficos. Las causas y posibles soluciones de este error son las
siguientes:
Compruebe las propiedades del objeto Err para determinar el origen y la naturaleza del
error. Adems, al acceder a un objeto de Automatizacin, pruebe utilizando la instruccin
On Error Resume Next justo antes de la instruccin de acceso. Cuando especifica un
nombre de objeto sin una propiedad o mtodo, Visual Basic asume que est haciendo
referencia al miembro predeterminado del objeto (propiedad o mtodo). Sin embargo, no
todos los objetos exponen un miembro predeterminado. Las causas y posibles soluciones de
este error son las siguientes:
Visual Basic no puede determinar el miembro predeterminado para el objeto especificado.
Consulte la documentacin del objeto y proporcione una especificacin explcita para la
propiedad o el mtodo.
Comprender la Vida de las Variables
Vida de las Variables la vida de las variables es El periodo de vida de una variable es el
tiempo durante el cual la variable est activa, ocupando el espacio de memoria y pueden ser
clasificados de acuerdo a la siguiente tabla:
mbito de bloque
El periodo de vida de estas variables se desarrolla desde el momento en que son declaradas
dentro del bloque y hasta que dicho bloque finaliza.
mbito de procedimiento
Para estas variables, su periodo de vida est comprendido entre el momento en que son
declaradas y hasta que la ejecucin del procedimiento termina
mbito a nivel de mdulo y proyecto
En este caso, el periodo de vida de la variable va desde el comienzo de la ejecucin de la
aplicacin y hasta que esta termina.
Variable no definida
Se ha usado la instruccin Option Explicit para impedir que los mdulos tengan variables
no declaradas y para eliminar la posibilidad de crear de forma inadvertida nuevas variables
por errores tipogrficos. Las causas y posibles soluciones de este error son las siguientes:
Se ha usado la instruccin Option ExplicitTexto en cursiva para requerir la declaracin
explcita de variables y se ha usado una variable sin declararla. Declare explcitamente la
variable, o cambie la ortografa de la variable para que coincida con la deseada.
Constantes
En Visual Basic para aplicaciones una constante es un nombre significativo que toma el
lugar de un nmero o cadena que no cambia. Las constantes almacenan valores que, como
su nombre indica, permanecen iguales durante la ejecucin de una aplicacin. Puede
mejorar considerablemente la legibilidad del cdigo y facilitar su mantenimiento mediante
constantes. Utilcelas en cdigo que contiene valores que reaparecen o que dependen de
ciertos nmeros que son difciles de recordar o que no tienen un significado evidente
Al declarar una constante, se puede asignar a un valor un nombre que tenga algn
significado apropiado. La instruccin Const se utiliza para declarar una constante y darle
valor. Una constante no puede modificarse o cambiar de valor una vez que ha sido
declarada.
Se puede declarar una constante dentro de un procedimiento o al principio de un mdulo,
en la seccin de Declarations. Las constantes a nivel de mdulo son privadas, a menos que
se especifique lo contrario.
El siguiente ejemplo declara la constante Public EdadCon como un Integer y le asigna el
valor 34.
Public Const EdadCon As Integer = 34
Las constantes se pueden declarar de uno de los siguientes tipos de datos: Boolean, Byte,
Integer, Long, Currency, Single, Double, Date, String, o Variant. Dado que ya se conoce el
valor de una constante, es muy fcil elegir el tipo de datos en la instruccin Const. Si desea
ms informacin sobre tipos de datos, consulte la seccin "Tipo de datos Summary" en la
Ayuda de Visual Basic.
En una sola instruccin se pueden declarar varias constantes. Para especificar un tipo de
datos, debe incluirse el tipo de datos para cada constante. En la siguiente instruccin se
declaran como Integer las constantes EdadCon y SalarioCon.
Const EdadCon As Integer = 34, SalarioCon
Hay dos tipos de constantes las cuales son intrinsecas o definidas por el sistema y
simbolicas o definidas por el usuario que las detallaremos a continuacion:
Intrnsecas o definidas por el sistema, proporcionadas por Visual Basic o cualquier otra
aplicacin que provee una librera de objetos. Para ver una lista de estas constantes, se
acceder a Ver/Examinador de Objetos.
Simblicas o definidas por el usuario. Es una buena idea el declarar las constantes
simblicas con el prefijo con, p.e. Const conPi = 3.141592
Costantes de cadena
Las Constantes De Cadena son cualquier Constante que esta formada por un
conjunto de caracteres tomados como tales("Caracteres"),en lugar de que dichos
elementos sean asumidos como algn valor numrico o de cualquier otra indo por
ejemplo:integer o double.
Ejemplo
Nota Visual Basic sigue reconociendo constantes de aplicaciones creadas con versiones
anteriores de Visual Basic o Visual Basic for Applications. Es posible actualizar las
constantes para utilizar slo las que aparecen en el Examinador de objetos. Las constantes
que aparecen en el Examinador de objetos no tiene que declararse en su aplicacin.
Constantes simblicas o definidas por el usuario, se declaran mediante la instruccin Const.
Constantes de compilacin condicional que se declaran empleando la instruccin #Const.
En versiones anteriores de Visual Basic, los nombres de constantes se representaban
normalmente en maysculas y con guiones de subrayado. Por ejemplo:
Parte Descripcin
Matrices
DEFINICION DE UNA MATRIZ
Al utilizar matrices, puede emplear el mismo nombre para hacer referencia a distintos
valores gracias a la utilizacin de un nmero denominado ndice o subndice que permite
distinguirlos. Las matrices pueden reducir y simplificar el cdigo, permitiendo crear bucles
que gestionan de forma eficiente cualquier nmero de elementos.
Una matriz de dos dimensiones se representa con una variable con dos subndices (filas,
columnas); una matriz de tres dimensiones se representa con una variable con tres
subndices, etc. El mximo nmero de dimensiones para una matriz en Visual Basic es 60,
aunque las ms utilizadas son las de una, dos y tres dimensiones. Los ndices de las
matrices deben estar en el rango de -2 a la 31 a 2 a la 31 en versiones de 32 bits. Para
formar el nombre de una matriz y definir si sta es numrica o de caracteres, se siguen las
mismas reglas que para las variables. Por ejemplo:
Dim a(24) as integer 'matriz entera unidimensional de 24 elementos
Dim c(12, 5) as string 'matriz de caracteres de 2 dimensiones
En Visual Basic hay dos tipos de matrices: matrices estticas que tiene siempre el mismo
tamao matrices dinmicas cuyo tamao cambia en tiempo de ejecucin.
Es una estructura de datos que contiene una serie de datos que estan relacionados entre si y
que pueden ser utilizados al momento de su llamado,conjunto de elementos contiguos,
todos del mismo tipo, que comparten un nombre comn, a los que se puede acceder por la
posicin (o ndice) que ocupa cada uno de ellos dentro de la matriz.
Esta disposicin permitir escribir cdigo ms pequeo y simple, ya que se pueden
establecer codigos o instrucciones mediante el nmero del ndice. Cada elemento es una
variable que puede contener un dato numrico o una cadena de caracteres, dependiendo
esto del tipo de matriz.
Para dar valor a un elemento individual, es preciso especificar el ndice del elemento. El
siguiente ejemplo asigna un valor inicial de 20 a todos los elementos de la matriz.
Sub LlenarMatriz()
Dim curGastos(364) As Currency
MATRICES ESTTICAS
Para declarar una matriz esttica (matriz con un nmero fijo de elementos), Visual Basic
hace tres consideraciones importantes:
- Para declarar una matriz global, hgalo en la seccin de declaraciones de un mdulo
utilizando la sentencia pblic.
Public temp(59) as integer
- Para declarar una matriz a nivel de mdulo, hgalo en la seccin declaraciones del mdulo
utilizando la sentencia Private o Dim.
Private temp(59) as integer
- Para declarar una matriz local a un procedimiento, utilice la sentencia Dim o Static dentro
del propio procedimiento.
Dim temp(59) as integer
Este ejemplo declara una matriz de una dimensin, Matriz_A, con veinte elementos,
Matriz_A(0), Matriz_A(1),...,Matriz_A(19), cada uno de los cuales permite almacenar una
cadena de caracteres de longitud variable.
Dim Matriz_B(3, 1 to 6) as integer
Este ejemplo declara una matriz de dos dimensiones, Matriz_B, con 4*6 elementos,
Matriz_B(0,1) ,..., Matriz_B(3,6) de tipo entero.
Static Matriz_C(1 to 5 to 1 to 5) as integer
Este ejemplo declara una matriz esttica (Static) de dos dimensiones, Matriz_C, con 5*5
elementos, Matriz_C (1,1),..., Matriz_C(5,5), de tipo entero.
Public Matriz_D(1 to 12) as string * 60
Este ejemplo declara una dimensin, Matriz_D,, con doce elmentos, Matriz_D(1) ,...,
Matriz_D(12)cada uno de los cuale s permite almacenar una cadena de caracteres de
longitud fija (60 caracteres).
MATRICES DINMICAS
Cuando las dimensiones de una matriz no son siempre las mismas, la mejor forma de
especificarlas es mediante variables. Una matriz declarada de esta forma es una matriz
dinmica.
El espacio necesario para una matriz esttica se asigna al iniciarse la aplicacin y
permanecer fijo. En cambio, el espacio para una matriz dinmica ser asignado durante la
ejecucin de la aplicacin. Una matriz dinmica puede ser redimensionada en cualquier
momento durante la ejecucin.
Para declarar una matriz dinamica mtr1:
Dim mtr1() As Integer ' Declara una matriz dinmica.
Las instrucciones siguientes cambian el tama~no de la matriz mtr1 y la inicializa. Observe
el uso de Redim para cambiar el tama~no de la matriz dinmica.
Dim mtr1() As Integer ' Declara una matriz dinmica.
Dim r() as Double
Redim mtr1(10) ' Cambia el tama~no a 10 elementos, 1x10.
Redim r(n,m) ' Cambia tamao a n x m
For i = 1 To 10 ' Bucle 10 veces.
mtr1(i) = i ' Inicializa la matriz.
Next i
Usando Preserve se puede cambiar el tamao de la matriz mtr1 pero sin borrar los
elementos anteriores.
Redim Preserve mtr1(15) ' Cambia el tamao a 15 elementos. Para crear una matriz
dinmica:
- Asigne un nmero actual de elementos con la sentencia ReDim. Se supone que N est
definida previamente.
ReDim Matriz_A(N + 1)
ms tarde, un procedimiento clculo puede asignar espacio para la matriz, como se indica a
continuacin:
Sub Clculo()
Dim F as integer, C as integer
...
ReDim Matriz_A(F,C)
...
End Sub
Cada vez que se ejecuta la sentencia ReDim, todos los valores almacenados en la matriz se
pierden.
Visual Basic restablece los valores del valor Empty en matrices Variant, a cero en matrices
numricas, a una cadena de longitud cero en matrices de cadenas, o a Nothing en matrices
de objetos. Cuando le interese cambiar el tamao de la matriz conservando los valores de la
misma los valores de la misma, ejecute ReDim con la palabra clave Preserve. Por ejemplo,
supongamos la matriz A de dos dimensiones. La sentencia:
ReDim Preserve A(D1, UBound(A, 2) + 2)
La otra forma consiste en asignar la matriz que devuelve la funcin Matriz a una variable
Variant, tal y como muestra el siguiente ejemplo.
Dim varDatos As Variant
varDatos = Array("Cristina Martnez", "C/Don Ramn de la Cruz, 73", 38, _
Format("06-09-1952", "Fecha general"))
Los elementos de una matriz de valores Variant se identifican mediante su ndice, sea cual
sea la tcnica que se haya usado para crear la matriz. Por ejemplo, la siguiente instruccin
podra aadirse a cualquiera de los ejemplos anteriores.
MsgBox "Los datos de " & varDatos(0) & " se han guardado."
Utilizar matrices con mltiples dimensiones En Visual Basic se pueden declarar matrices
con hasta 60 dimensiones. Por ejemplo, la siguiente instruccin declara una matriz de dos
dimensiones, de 5 por 10.
Dim sngMulti(1 To 5, 1 To 10) As Single
Si considera a la matriz como una tabla de dos entradas, el primer argumento representara
a las filas y el segundo a las columnas.
Por ejemplo, la siguiente lnea de cdigo define una matriz unidimensional llamada temp
con subndices definidos en el rango de 0 a 59. Esto es, los elementos de la matriz son:
temp(0), temp(1), ..., temp(59).
El limite inferior predeterminado es 0.
Dim temp(1 to 60) as string * 40
La sentencia siguiente declara una matriz bidimensional de 10 por 10 elementos de tipo
Double:
Dim ma(9,9) as double
Se puede declarar una o ambas dimensiones con lmites inferiores explcitos:
Dim mc(3, -4 to 5, 1 to 12)
La declaracin anterior crea una matriz que tiene tres dimensiones. El tipo de cada
elemento es Variant. El nmero total de elementos es el producto de los tamaos de las tres
dimensiones(4*10*12); es decir, 480.
El espacio de almacenamiento total que necesita una matriz depende de su nmero de
elementos y del tipo de cada elemento. Por lo tanto, hay que utilizar las matrices
multidimensionales con sumo cuidado. Tambin hay que tener especial cuidado on las
matrices de tipo Variant, ya que este tipo de datos requiere ms espacio de almacenamiento
que los otros tipos de datos. Cuando se ejecuta la sentencia dim, se asigna a todos los
elementos de las matrices numricas el valor 0, y a los elementos de las matrices de
caracteres uma cadena de longitud ("") si se trata de cadenas de longitud variable, o bien se
rellenan los nulos(ANSI 0) si se trata de cadenas de longitud fija. La propiedad ToolTipText
de un control almacena una descripcin corta acerca de la funcin que desempea dicho
control.
Cuando se dispone de poco espacio de memoria, resulta til la sentencia Erase para borrar
las matrices dinmicas que ya no van a ser utilizadas. Erase tambin puede utilizarse
cuando deseamos redimensionar matrices en una aplicacin. Por ejemplo:
Dim b() as integer
n = 10: m = 20
Dim a(100) as integer
ReDim b(n, m)
...
Erase a,b 'poner a 0 la matriz a y liberar la memoria de b
ReDim b(5, 5) 'redimensionar la matriz b
Este ejemplo crea una matriz numrica unidimensional llamada a con 100 elementos,
a(1) ... a(100).
No obstante, la clusula To en las instrucciones Dim, Private, Public, ReDim y Static
proporciona una forma mas flexiblede controlar los lmites inferior y superior de cada
dimensin de una matriz.
Ejemplo de matriz de 2 dimensiones
Matriz bidimensionales de 6 x 8 (de 2 dimensiones).
Dim personas (1 to 6, 1 to 8) as string
Si luego quisiera acceder a los datos de la misma solo debemos referirnos a los subndices
Por ejemplo:
Ejemplo:
Dim matriz(3, 5) as Double
Static matriz(8, 10) as Integer
Public matriz(2, 6) as Single
Matriz Dinmica: Al declarar una matriz dinmica se puede cambiar el tamao de una
matriz mientras que el cdigo se est ejecutando. Para declarar una matriz dinmica se usan
las instrucciones Static, Dim, Private, o Public, dejando los parntesis vacos, tal y como se
muestra en el siguiente ejemplo.
Dim MatrizSingle() As Single
Para declarar una matriz dinmica no se debe especificar su tamao, por lo que puede
cambiar su tamao mientras se ejecute el cdigo.
Ejemplo:
Dim matriz() as Double
Static matriz() as Integer
Public matriz() as Single
Declarar matrices dinmicas Cuando hacemos una seleccin con el mouse, es conveniente
entrar los valores seleccionados en una matriz dinmica, es decir, una matriz que se ajuste a
la cantidad de datos seleccionada y que, eventualmente, se pueda recortar o hacer ms
grande.
Una matriz dinmica matriz1 de datos enteros se declara de la siguiente forma:
Dim matriz1() As Integer Declara una matriz dinmica.
Las instrucciones siguientes cambian el tamao de la matriz matriz1 y la comienza.
Observe el uso de Redim para cambiar el tamao de la matriz dinmica.
Dim mtr1() As Integer ' Declara una matriz dinmica. Dim r() as Double
Redim matriz1(10) ' Cambia el tamao a 10 elementos, 1x10.
Redim r(n,m) ' Cambia tamao a n x m
For i = 1 To 10 ' Bucle 10 veces. matriz1(i) = i ' Inicializa la matriz. Next i
Notas sobre la declaracin de matrices:
1. Se puede usar la instruccin ReDim, que permite declarar expresamente una matriz
dentro de un procedimiento para cambiar el nmero de dimensiones, definir el nmero de
elementos y limites superior e inferior para cada dimensin.
Ejemplo:
ReDim matriz(10) as Double
ReDim matriz(5, 5) as Single
2.Se puede usar la instruccin ReDim Preserve, que permite ampliar una matriz
conservando los valores que contiene.
Ejemplo:
Aadir 8 nuevos elementos a la matriz (matriznum)
ReDim Preserve matriznum(Ubound(matriznum) + 8)
Preserve es una palabra clave utilizada para conservar los datos de una matriz
existente cuando se cambia el tamao de la ltima dimensin; es opcional.
QUE ES UNA MATRIZ? Una matriz es una serie de elementos que forman filas (matriz
bi-dimensional) o filas y columnas (matriz tri-dimensional).
*matriz bidimensional:
1
3
6
9
12
*matriz tridimensional:
2,1,1
2,2,8
2,3,2
2,4,4
2,5,8
Al trabajar en Excel, las frmulas que hacen referencia a matrices se encierran entre
corchetes {}. Hay que tener en cuenta al trabajar con matrices lo siguiente: -No se puede
cambiar el contenido de las celdas que componen la matriz -No se puede eliminar o mover
celdas que componen la matriz -No se puede insertar nuevas celdas en el rango que
compone la matriz
Ejemplo:
A
1 2 4 6 8 2 1 2 3 4 3 5 6 7 8 4 1 2 3 4 5 =SUMA(A1:D4)
=66
Operadores
Reglas de prioridad
Todos los operadores de comparacin tienen la misma prioridad; todos ellos tienen mayor
prioridad que los operadores lgicos y los operadores bit a bit, pero menor prioridad que los
operadores de concatenacin y los operadores aritmticos.
Los operadores lgicos y los operadores bit a bit tienen el orden de prioridad que se
describe a continuacin; todos ellos tienen menor prioridad que los operadores aritmticos,
de concatenacin y de comparacin.
Los operadores con la misma prioridad se evalan de izquierda a derecha en el orden en
que aparecen en la expresin.
Operadores aritmticos Nos permiten realizar operaciones numricas con nuestras variables
+ Suma - Resta
Multiplicacin
Los operadores son smbolos que permitirn que los usuarios realicen una accin
(operacin) entre uno o ms argumentos; el mismo que dar una solucin de acuerdo a lo
planteado.
LOS TIPOS DE OPERADORES MAS UTILIZADOS SON:
* Operadores Lgicos
* Operadores Aritmticos
* Operadores de Relacin (comparacin)
* Operadores de Concatenacin
* operadores de bits
* operadores condicionales
Instrucciones a realizar...
Fin Si
Fin Si
Este sera el cdigo con un Si dentro de otro. Que es lo que hara el programa cuando
llegara a estas lneas? Primero mirara la primera condicion si esta se cumple, si es
verdadera, pasara a la siguiente lnea, mirara si esta condicion se cumple, en caso
afirmativo realizara las instrucciones que hubieran dentro. Si cualquiera de las dos
condiciones que tenemos en este ejemplo no se cumplieran el programa no realizara las
instrucciones internas.
Ahora vamos a ver como podemos implementar las mismas funciones pero todo dentro de
un mismo Si. En un principio la estructura del Si es exactamente igual, lo nico que
debemos pensar es que tendremos que separar las dos condiciones mediante un nexo. En
este caso como queremos que se cumplan las dos condiciones utilizaremos un nexo Y.
Veamos como quedara el ejemplo y despus pasaremos a comentarlo viendo su
funcionamiento en diferentes casos.
Si Posicion = 5 Y BloqueEncima = "A" entonces Instrucciones a realizar...
Fin Si
Observa como el nmero de lneas se ha reducido. Ahora vamos a plantear las diferentes
opciones con las que nos podemos encontrar y si realizara o no las instrucciones que se
encuentran dentro del Si. Recuerda que las condiciones solo pueden ser Verdaderas o
Falsas.
Posicion = 5 BloqueEncima = "A" Instrucciones a realizar... Verdadero Verdadero
Verdadero Verdadero Falso Falso Falso Verdadero Falso Falso Falso Falso
Observa que el nico caso en el que se realizaran las instrucciones sera en el que se
cumplen las dos condiciones planteadas en el Si. Por el contrario si una de las dos
instrucciones no se cumple las instrucciones no se ejecutaran. Fjate bien en el cuadro e
intntalo entender.
Analizando el operador lgico O.
Para analizar el funcionamiento de este otro operador lgico vamos a plantear otro pequeo
caso para ver que es lo que ocurrira en diferentes momentos.
Tenemos a nuestro Robot, otra vez, movindose libremente por nuestra pasarela con 10
posiciones y queremos que mire si el bloque que tiene encima se llama A o si se llama B. Si
es as deber coger el bloque y llevarlo a la primera posicion.
Para poder realizar este pequeo ejemplo sin utilizar los operadores lgicos deberamos
utilizar dos instrucciones Si de la siguiente manera:
Si BloqueEncima = "A" entonces Instrucciones a realizar...
Fin Si Si BloqueEncima = "B" entonces Instrucciones a realizar...
Fin Si
Que es lo que hara el programa cuando llegara a estas lneas? Primero mirara el primer Si
si se cumpliera realizara las instrucciones que tenemos en el interior, sino pasara al
siguiente Si y mirara la siguiente condicion, aqu, si esta condicion se cumple se realizan
las instrucciones que tenemos en el interior. De tal manera que aqu, si una de las dos
condiciones se cumple se realizaran las instrucciones. Piensa que no podemos utilizar un
Sino dentro del primer Si ya que podra ser que nos encontrsemos con un bloque llamado
C con lo que tambin se realizaran las instrucciones, cosa que no nos interesa. Por eso
ponemos dos Si para comprobar que el bloque de encima se llama A o se llama B.
Ahora vamos a ver como podemos implementar las mismas funciones pero todo dentro de
un mismo Si. En un principio la estructura del Si es exactamente igual, lo nico que
debemos pensar es que tendremos que separar las dos condiciones mediante un nexo. En
este caso como queremos que se cumpla una de las dos condiciones utilizaremos un nexo
O. Veamos como quedara el ejemplo y despus pasaremos a comentarlo viendo su
funcionamiento en diferentes casos.
Si BloqueEncima = "A" O BloqueEncima = "B" entonces Instrucciones a realizar...
Fin Si
Observa como el nmero de lneas se ha reducido y ms pensando que tendramos que
repetir las instrucciones internas dos veces. Ahora vamos a plantear las diferentes opciones
con las que nos podemos encontrar y si realizara o no las instrucciones que se encuentran
dentro del Si. Recuerda que las condiciones solo pueden ser Verdaderas o Falsas.
BloqueEncima = "A" BloqueEncima = "B" Instrucciones a realizar... Verdadero Verdadero
Verdadero Verdadero Falso Verdadero Falso Verdadero Verdadero Falso Falso Falso
Observa que el nico caso en el que no se realizaran las instrucciones sera en el que no se
cumple alguna de las dos condiciones planteadas en el Si. De forma que si una de las dos
condiciones es verdadera las instrucciones se realizan. Fjate bien en el cuadro e intntalo
entender.
OPERADORES ARITMTICOS:
Los operadores aritmticos son aquellos que dan un resultado al usuario de forma numrica,
es decir realizan las operaciones matemticas como sumas, restas, multiplicaciones, etc.
Los operadores aritmticos son binarios explicados con anterioridad tienen su
correspondiente asignacion como son: Operador Suma (+)
Operador
Operador
Operador
Operador
Operador
Resta (-)
Producto (*)
Divisin (/)
MOD
Potencia (^)
End sub
Sub cadena ()
Dim dato1 as string
Dim dato2 as string
Dim dato3 as string
dato1 = HOLA
dato2 = A
dato3 = TODOS
resultado = (dato1 + dato2 + dato3) ; ( + o &)
MsgBox resultado
End sub
Operador resta: sirve para obtener el resultado de la diferencia de dos o ms nmeros o
para indicar el valor negativo de una expresin.
Ejemplo:
Sub resta ()
Dim dato1 as double
Dim dato2 as double
dato1 = 6.5
dato2 = 3.8
resultado = (dato1 - dato2)
MsgBox resultado
End sub
Operador producto: sirve para obtener el resultado de la multiplicacin de dos o ms
nmeros.
Ejemplo:
Sub multiplicacin ()
Dim dato1 as double
Dim dato2 as double
Dim dato 3 as double
dato1 = 2.4
dato2 = 1.8
dato3 = 3.5
resultado = (dato1 * dato2 * dato3)
MsgBox resultado
End sub
Operador divisin: sirve para obtener el resultado de la divisin de dos nmeros y obtener
un resultado entero.
Ejemplo:
Sub divisn ()
Dim dato1 as integer
Dim dato2 as integer
dato1 = 225
dato2 = 55
resultado = (dato1 / dato2)
MsgBox resultado
End sub
Operador MOD: divide 2 nmeros y devuelve slo el resto; es decir que toma el residuo y
desecha el cociente
Ejemplo:
Sub divisn()
Dim dato1 As Integer
Dim dato2 As Integer
dato1 = 225
dato2 = 55
resultado = (dato2 Mod dato1)
MsgBox resultado
End Sub
Operador potencia: se utiliza para elevar un nmero a la potencia del exponente.
Ejemplo: Sub potencia()
Dim num As Integer
Dim exponente As Integer
num = 2
exponente = 2
resultado = num ^ exponente
MsgBox resultado
End Sub
OPERADORES DE COMPARACIN Los operadores de comparacin son aquellos que
comparan dos expresiones y devuelven un valor.
SMBOLO.......................................................SIGNIFICADO
<.....................................................................Menor que
>.....................................................................Mayor que
<=....................................................................Menor igual que
>=....................................................................Mayor igual que
<>....................................................................Diferente que
=.....................................................................Igual que
con estos operadores se puede escribir de la forma mas rapida expresiones de tipo: ejemplo:
n=n+3 se puede escribir de la manera n+=3
Operadores de comparacin
Se utilizan para comparar expresiones.
Sintaxis
resultado = expresin1 operadorcomparacin expresin2
resultado = objeto1 Is objeto2
resultado = cadena Like patrn
Comentarios
Esta tabla contiene una lista de los operadores de comparacin y de las condiciones que
determinan si el resultado es True, False o Null:
Operador True si False si Null si < (Menor que) expresin1 < expresin2 expresin1 >=
expresin2 expresin1 o expresin2 = Null <= (Menor o igual que) expresin1 <=
expresin2 expresin1 > expresin2 expresin1 o expresin2 = Null > (Mayor que)
expresin1 > expresin2 expresin1 <= expresin2 expresin1 o expresin2 = Null >=
(Mayor o igual que) expresin1 >= expresin2 expresin1 < expresin2 expresin1 o
expresin2 = Null = (Igual a) expresin1 = expresin2 expresin1 <> expresin2
expresin1 o expresin2 = Null <> (Distinto de) expresin1 <> expresin2 expresin1 =
expresin2 expresin1 o expresin2 = Null
Nota Los operadores Is y Like tienen funciones de comparacin especficas que difieren de
las de los operadores incluidos en la siguiente tabla.
Cuando se comparan dos expresiones, puede ser difcil determinar si stas se comparan
como nmeros o como cadenas de caracteres. En la siguiente tabla se muestra el modo en
que se comparan expresiones y cul es el resultado cuando cualquiera de las expresiones no
es del tipo Variant:
Si Entonces Ambas expresiones son de tipos de datos numricos (Byte, Boolean, Integer,
Long, Single, Double, Date, Currency o Decimal) Se efecta una comparacin numrica.
Ambas expresiones son de tipo String Se efecta una comparacin de cadenas. Una
expresin es de tipo de datos numrico y la otra es un tipo Variant que es, o puede ser, un
nmero Se efecta una comparacin numrica. Una expresin es de tipo de datos numrico
y la otra es un tipo Variant de cadena de caracteres que no se puede convertir en un nmero
Provoca un error de Error de tipos. Una expresin es de tipo String y la otra es cualquier
tipo Variant, con excepcin de Null Se efecta una comparacin de cadenas. Una expresin
es Empty y la otra es del tipo de datos numrico Se efecta una comparacin numrica,
usando 0 como la expresin Empty. Una expresin es Empty y la otra es del tipo String Se
efecta una comparacin de cadenas, utilizando una cadena de caracteres de longitud cero
("") como la expresin Empty.
Si tanto expresin1 como expresin2 son del tipo Variant, el tipo subyacente de las mismas
es el que determina la manera en que se comparan. En la siguiente tabla se muestra el modo
en que se comparan las expresiones y cul es el resultado de la operacin de acuerdo con el
tipo subyacente de Variant:
Si Entonces Ambas expresiones tipo Variant son numricas Se efecta una comparacin
numrica. Ambas expresiones tipo Variant son cadenas de caracteres Se efecta una
comparacin de cadenas. Una expresin tipo Variant es numrica y la otra es una cadena de
caracteres La expresin numrica es menor que la expresin de cadena. Una expresin tipo
Variant es Empty y la otra es numrica Se efecta una comparacin numrica, usando 0
como la expresin Empty. Una expresin tipo Variant es Empty y la otra es una cadena de
caracteres Se efecta una comparacin de cadenas, utilizando una cadena de caracteres de
longitud cero ("") como la expresin Empty. Ambas expresiones tipo Variant son Empty
Las expresiones son iguales.
Cuando se compara un tipo Single con un tipo Double, ste se redondea al grado de
precisin del tipo Single.
Si una expresin tipo Currency se compara con una de tipo Single o Double, sta se
convierte al tipo Currency. De igual forma, cuando un tipo Decimal se compara con un tipo
Single o Double, el tipo Single o el Double se convierten a tipo Decimal. Para el tipo
Currency, cualquier valor fraccionario menor que 0,0001 se pierde; para el tipo Decimal,
cualquier valor fraccionario menor que 1E-28 se pierde y puede ocurrir un error de
desbordamiento. Perder valores fraccionarios puede hacer que dos valores se comparen
como iguales cuando en realidad no lo son.
Banco de Preguntas
Pregunta 1
Qu son los Operadores? e indique los tipos de Operadores:
Los operadores son smbolos que permitirn que los usuarios realicen una accin
(operacin) entre uno o ms argumentos; el mismo que dar una solucin de acuerdo a lo
planteado. Los elementos de valor incluyen variables, constantes, literales, propiedades,
valores devueltos de procedimientos Function y Operator y expresiones, Los operadores
nos permiten realizar comparaciones, calculos y cualquier otra operacion.
Una expresin es una serie de elementos de valor combinados con operadores, que produce
un nuevo valor. Los operadores actan sobre los elementos de valor realizando clculos,
comparaciones y otras operaciones.
LOS TIPOS DE OPERADORES:
* Operadores Lgicos.- realizan los clculos familiares en valores
numricos, incluido el desplazamiento de sus modelos de bits.
* Operadores Aritmticos.- comparan dos expresiones y devuelven un valor
Boolean que representa el resultado de la comparacin.
* Operadores de Relacin (comparacin.- combinan varias cadenas en una
sola.
* Operadores de Concatenacin.- combinan valores Boolean o numricos y
devuelven un resultado del mismo tipo de datos que los valores.
Los elementos de valor que se combinan con un operador se denominan operandos de ese
operador. Los operadores combinados con los elementos de valor forman expresiones,
salvo el operador de asignacin, que forma una instruccin.
Pregunta 2
Indique el periodo de vida de las variables y Cmo pueden ser clasificadas?
El periodo de vida de una variable es el tiempo durante el cual la variable est activa,
ocupando el espacio de memoria;es decir sera utilizada en un proyrcto determinado y
pueden ser clasificados de acuerdo a la siguiente tabla:
mbito de bloque
El periodo de vida de estas variables se desarrolla desde el momento en que son declaradas
dentro del bloque y hasta que dicho bloque finaliza. Es un conjunto de instrucciones
incluido dentro de las instrucciones de declaracin de inicio y fin.
Si declara una variable dentro de un bloque, slo puede utilizarla dentro de ese bloque. En
el ejemplo siguiente, el mbito de la variable de entero cube es el bloque entre If y End If, y
las referencias a cube dejan de ser posibles cuando termina la ejecucin del bloque.
Copiar
If n < 1291 Then
Dim cube As Integer
cube = n ^ 3
End If
mbito de procedimiento
Para estas variables, su periodo de vida est comprendido entre el momento en que son
declaradas y hasta que la ejecucin del procedimiento termina Un elemento declarado en un
procedimiento no est disponible fuera de l. Solamente el procedimiento que contiene su
declaracin puede utilizarlo. Se declaran con Instruccin Dim (Visual Basic), con o sin la
palabra clave Static (Visual Basic).
mbito a nivel de mdulo y proyecto
En este caso, el periodo de vida de la variable va desde el comienzo de la ejecucin de la
aplicacin y hasta que esta termina. Los elementos para los que se declara el nivel de
acceso Private (Visual Basic) estn disponibles para todos los procedimientos del mdulo,
pero no para el cdigo de otros mdulos. La instruccin Dim en el nivel de mdulo toma
Private como valor predeterminado si no utiliza ninguna palabra nivel de acceso. No
obstante, el mbito y el nivel de acceso sern ms patentes si utiliza la palabra clave Private
en la instruccin Dim.
Pregunta 3
Indique que hace la funcin Option Explicit e indique sus partes:
Esta instruccin exige que todas las variables del mdulo se declaren explcitamente. Si un
mdulo incluye la instruccin Option Explicit, se producir un error en tiempo de
compilacin cuando Visual Basic encuentre un nombre de variable que no ha sido
previamente declarado, o cuyo nombre se ha escrito incorrectamente.
Option Explicit { On | Off }
Partes
On
Opcional. Habilita la comprobacin Option Explicit. Si no se especifica On u Off, el valor
predeterminado es On.
Off
Opcional. Deshabilita la comprobacin Option Explicit.
Pregunta 4
Cual es la diferencia principal entre un vector y una matriz?
Que el vector es unidimensional(fila) e inicia desde la posicin 0, mientras que la matriz es
bidireccional(fila, columna) e inicia desde la posicin 1
Que significa que un arreglo se desborde?
Es cuando el tamao de memoria asignado a este no es suficiente para almacenar los datos
almacenados es decir a un "vector" que tenga 'n' numero de posiciones si se le asigna un
valor en una posicion mayor que 'n' este se desbordar.
Procedimientos y Funciones
Los procedimientos o funciones son muy interesantes y tilies en la programacin. Nos
sirven para realizar una tarea concreta que probablemente se vaya a ejecutar varias veces a
lo largo de la vida de la pgina. Esta tarea se especifica en un bloque de cdigo de manera
independiente y cuando se desean realizar las acciones del procedimiento se llama al
porcedimiento o funcin. Una vez realizadas las acciones pertinentes se devuelve el flujo
del programa al lugar desde donde se imboc ese procedimiento o funcin.
Lo primero que debemos hacer al crear un procedimiento es pensar las cosas que se desean
hacer dentro de la funcin, la informacin que necesitaremos (y que tendremos que recibir
como parmetros) y la informacin que devolver. Con estas ideas claras se pueden
construir los procedimientos y funciones sin mucha dificultad, siguiendo estas estructuras.
Para un procedimiento
Sub nombre (parametro1, parametro2...)
... Cdigo del procedimiento
end Sub
Para una funcin
Function nombre (parametro1, parametro2...)
... Cdigo de la funcin
end Function
Procedimientos
Procedimientos:
Es una secuencia con nombre de instrucciones que se ejecutan como una unidad. Un
nombre de procedimiento siempre se define a nivel de mdulo. Todo el cdigo ejecutable
debe estar contenido en un procedimiento. Los procedimientos no se pueden anidar dentro
de otros procedimientos.
Un procedimiento Sub es una serie de instrucciones Visual Basic, encerradas entre un par
de instrucciones Sub y End Sub, que realizan acciones especficas pero no devuelven
ningn valor. Puede aceptar argumentos, como constantes, variables o expresiones que le
pasa el procedimiento que ha efectuado la llamada.
Si un procedimiento Sub no tiene argumentos, la instruccin Sub debe incluir un par de
parntesis vaco.
El siguiente procedimiento Sub dispone de comentarios explicativos en cada lnea.
' Declara un procedimiento llamado ObtenInformacion
' Este procedimiento Sub no acepta argumentos
Sub ObtenInformacion()
' Declara una variable de cadena llamada respuesta
Dim respuesta As String
' Asigna el valor que devuelve la funcion InputBox a l variable resp
resp = InputBox(Prompt:="Cmo se llama?")
' Instruccin condicional If...Then...Else
If respuesta = Empty Then
' Llama a la funcin MsgBox
MsgBox Prompt:="No ha escrito su nombre."
Else
' Funcin MsgBox concatenada con la variable respuesta
MsgBox Prompt:="Su nombre es " & respuesta
' Fin de la instruccin If...Then...Else
End If
' Fin del procedimiento Sub
End Sub
NOMBRE:
Es el nombre de la funcin, su tipo determina el tipo de datos que devuelve la funcin. Para
especificar el tipo, utilice los caracteres de declaracin de tipo o la clausula As tipo (Integer,
Long, Single, Double, Curency, String (solo de longitud variable), Variant, tipo definido por
el usuario, etc.); el tipo es variant por omisin.
PARMETROS:
Son una lista de variables separadas por comas que corresponden con los argumentos que
son pasados cuando es invocada la funcin. Cuando se llama a una funcin, Visual Basic
asigna el valor de cada argumento en la llamada al parmetro de la funcin.
EXPRESIN:
Define el valor devuelto por la funcin. Este valor es almacenado en el propio nombre de la
funcin, que acta como variable dentro del cuerpo de la misma. Si no se efecta esta
asignacin, el resultado devuelto ser 0 si esta es numrica, nulo () si la funcin es de
carcter, o vacio (Empty). Si la funcin es Variant.
EXIT FUNCTION:
Permite salir de una funcin. Exit Function no es necesaria a no ser que se necesite retornar
a la sentencia situada inmediatamente a continuacin de la que efectuo la llamada antes que
la funcin finalice.
END FUNCTION:
Esta sentencia, al igual que Exit Funtion, devuelve el control a la sentencia que se
encuentra inmediatamente a continuacin de la que efectu la llamada, continuando de esta
forma la ejecucin del programa.
Los procedimientos se invocan desde otras partes del cdigo. Cuando finaliza la ejecucin
de un procedimiento, ste devuelve el control al cdigo que lo invoc, que recibe el nombre
de cdigo de llamada. El cdigo de llamada es una instruccin o una expresin contenida
en una instruccin, que hace referencia al procedimiento por su nombre y le transfiere el
control.
la llamada a un procedimiento puede ser de dos formas:
nombre(argumentos)
MsgBox Muestra un mensaje en un cuadro de dilogo, espera que el usuario haga clic en
un botn y devuelve un valor que indica en que botn hizo clic el usuario.
MsgBox ("Mensaje", botones, ttulo, archivo de ayuda, texto) VbOKOnly 0 muestra el
botn aceptar VbOKCncel 1 muestra el botn aceptar y cancelar VbYesNo 4 muestra el
botn Si y No
VALORES QUE DEVUELVE
VbOk = Aceptar VbCancel = Cancelar
Se puede utilizar un procedimiento Sub para organizar otros procedimientos de forma que
sean ms fciles de entender y depurar. En el siguiente ejemplo, el procedimiento Sub
Principal efecta una llamada al procedimiento Sub MultiBeep, pasando como argumento
el valor 56. Despus de que MultiBeep acaba su ejecucin, el control vuelve a Principal y
Principal llama al procedimiento Sub Mensaje. Mensaje presenta en pantalla un cuadro de
mensaje; cuando el usuario hace clic en Aceptar, el control vuelve a Principal y Principal
termina.
Sub Principal()
MultiBeep 56
Mensaje
End Sub
Sub MultiBeep(nmbips)
For contador = 1 To nmbips
Beep
Next contador
End Sub
Sub Mensaje()
MsgBox "Es hora de terminar el semestre no podemos seguir sin
dormir!"
End Sub
Si no est interesado en el valor que devuelve una funcin, puede efectuar la llamada a la
funcin de la misma forma que si llamara a un procedimiento Sub. No utilice los parntesis,
incluya una lista de argumentos y no asigne la funcin a una variable, todo ello como
muestra el siguiente ejemplo.
MsgBox "Tarea concluida!", 0, "Cuadro de tarea"
Funcin
Las funciones son sentencias de cdigo ejecutable de un programa con la particularidad de
que deben devolver un valor al procedimiento o funcin que los ha invocado.
Los procedimientos o funciones son muy interesantes y tilies en la programacin. Nos
sirven para realizar una tarea concreta que probablemente se vaya a ejecutar varias veces a
lo largo de la vida de la pgina. Esta tarea se especifica en un bloque de cdigo de manera
independiente y cuando se desean realizar las acciones del procedimiento se llama al
porcedimiento o funcin. Una vez realizadas las acciones pertinentes se devuelve el flujo
del programa al lugar desde donde se imboc ese procedimiento o funcin.
Una funcin tiene la siguiente sintaxis:
End Function
Una funcin puede tener o no tener argumentos, pero es conveniente que retorne un valor.
Observe que se debe usar el nombre de la funcin para especificar la salida:
Lo primero que debemos hacer al crear un procedimiento es pensar las cosas que se desean
hacer dentro de la funcin, la informacin que necesitaremos (y que tendremos que recibir
como parmetros) y la informacin que devolver. Con estas ideas claras se pueden
construir los procedimientos y funciones sin mucha dificultad, siguiendo estas estructuras.
end Sub
end Function
Si se deja libre, un programa avanza por sus instrucciones de principio a fin. Algunos
programas muy simples pueden escribirse slo con este flujo unidireccional. No obstante, la
mayor eficacia y utilidad de cualquier lenguaje de programacin se deriva de la posibilidad
de cambiar el orden de ejecucin con instrucciones de control y bucles.
Estructuras de control.
Las estructuras de control tambin conocidas como ciclos, bucles, estructuras iterativas o
repetitivas, son bsicas para la elaboracin de programas, ya que el repetir una tarea varias
veces a una gran velocidad, precisin y fiabilidad es una de las caractersticas de las
computadoras que aumentan considerablemente su potencia. C soporta tres tipos de
estructuras de control: ....................................................................
Ciclo while
Ciclo do_while
Ciclo for
Teora de ciclos.
Un ciclo es cualquier construccin de programa que repite una sentencia o secuencia de
sentencias un nmero de veces. Las sentencias o grupo de sentencias que se repiten en un
bloque se denominan cuerpo del bucle y cada repeticin del cuerpo del ciclo se llama
iteracin del ciclo. ....................................................................
Contadores, acumuladores.
Contadores:
En los procesos repetitivos se necesita normalmente contar los sucesos o acciones internos
del ciclo, como pueden ser: registro o elementos en un archivo y nmero de iteraciones a
realizar por el ciclo. Para realizar esta tarea se utilizan los contadores, cuya construccin es
una de las tcnicas corrientes en la realizacin de cualquier programa. Un contador es un
campo de la memoria que est destinado a contener los diferentes valores que se van
incrementando o decrementando en cada iteracin. El campo contendr las sucesivas sumas
parciales que se van realizando en la ejecucin de las sucesivas repeticiones. El incremento
en las sumas parciales es siempre constante, pudiendo ser positivo o negativo, es decir el
contador se ir incrementando o decrementando. El contador se representar en un
programa por medio de una variable. En las instrucciones de preparacin del ciclo se
realiza la inicializacin del contador o contadores. La inicializacin de un contador consiste
en poner el valor inicial de la variable que representa al contador.
Ejemplos:
Contador =0 Contador = 4 Por consiguiente, el contador se representar por una instruccin
de asignacin del tipo:
Estructuras de decisin
Describe estructuras de control utilizadas para la bifurcacin.
Estructuras de bucles
Explica estructuras de control utilizadas para repetir procesos.
Estructuras de control adicionales
Describe estructuras de control utilizadas para la eliminacin de recursos y acceso a
objetos.
Estructuras de control anidadas
Cubre las estructuras de control situadas dentro de otras estructuras de control.
Ciclos controlados por indicadores (Banderas)
En lenguajes como Pascal, que tienen el tipo bool, se utiliza una
variable booleana con frecuencia como indicadores o banderas de estado
para controlar la ejecucin de un ciclo. El valor del indicador se
inicializa (normalmente a false ) antes de la entrada al ciclo y se
redefine (normalmente a verdadero true ) cuando un suceso especfico
ocurre dentro del ciclo. En C no existe el tipo bolean, por lo que se
utiliza como bandera una variable que puede tomar dos valores, 0 o 1. Un
ciclo controlado por bandera se ejecuta hasta que se produce un proceso
anticipado y se cambia el valor del indicador.
....................................................................
Ejemplo.
Se desea leer diversos datos tipo carcter introducidos por teclado
mediante un ciclo while y se debe terminar el ciclo cuando se lea un dato
tipo dgito (0-9).
La variable bandera, digito_leido se utiliza como un indicador que
representa cuando un dgito se ha producido por teclado.
while(Contador<=10) {
printf(%d, , Contador);
Contador++;
Fin Mientras
Explicaremos lnea a lnea este bucle:
Primera lnea:
En esta lnea pondremos la <condicion> que se debe dar para que se ejecute el bucle. En el
momento que la condicion sea Falsa se terminar el bucle y se continuar con las siguientes
instrucciones.
Segunda lnea:
Lnea o lneas donde pondremos las instrucciones a efectuar en caso de que la condicion
sea VERDADERA.
Tercera lnea:
Fin del bucle Mientras. De aqu se pasa a la primera lnea del bucle para volver a mirar la
condicion.
En esta estructura no tenemos ninguna lnea que sea opcional.
Para el facil entendimiento de este tema debemos saber que es un BUCLE en la
programacion:
QUE ES UN BUCLE? Un bucle o ciclo, en programacin, es una sentencia que se realiza
repetidas veces a un trozo aislado de cdigo, hasta que la condicin asignada a dicho bucle
deje de cumplirse.
Generalmente, un bucle es utilizado para hacer una accin repetida sin tener que escribir
varias veces el mismo cdigo, lo que ahorra tiempo, deja el cdigo ms claro y facilita su
modificacin en el futuro.
El bucle y los condicionales representan la base de la programacin estructurada. Es una
evolucin del cdigo ensamblador, donde la nica posibilidad de iterar un cdigo era
establecer una sentencia jump (que en los lenguajes de programacin fue sustituida por el
"ir a" o GOTO)
Hay distintos tipos de bucles:
Do...Loop: Seguir en el bucle mientras o hasta una condicin sea cierta (True).
For...Next: Utilizar un contador para ejecutar las instrucciones un nmero determinado de
veces.
For Each...Next: Repeticin del grupo de instrucciones para cada uno de los objetos de
una coleccin.
Los bucles son unas rutinas muy utilizadas, tienen una diferencia entre si, te doy unos
ejemplos:
El For...Next es un bucle que hace que se ejecute una subrutina tantas veces como se le
programe,
por ejemplo
For A = 1 To 10 'subrutina Next
esa subrutina se va a ejecutar 10 veces, e incluso se puede utilzar la variable A como
variable dentro de la subrutina
For A = 1 To 10 Form1.Print A Next
Esto te va a imprimir los numero de 1 al 10 en el formulario.
Es un bucle que termina en un momento programado, se puede paras con la instruccion Exit
For dentro de la sibrutina
For A = 1 To 10 If A = 7 Then Exit For Next
Esta hace que la subrutina pare al llegar a 7.
En cambio el Bucle Do...While es un bucle que se ejecuta hasta que se cumpla un condicio,
por ejemplo
Do While Not A = 10
A = A + 1
'subrutina
Loop
Este bulce se ejecuta tambien 10 veces, porque recien hay se cumple la condicion A = 10.
Esto es muy utilizado cuando no se puede presisar el momento en que se tiene que parar el
bucle,
por ejemplo cuando se esta abriendo un archivo desde el disoc se coloca algo asi:
Open Archivo For Input as #1 Do While Not EOF(1) Input #1, Dato Loop Close #1
Ese do while va a parar cuando se encuantre que el archivo se termino, por eso como
depende del tamao del archivo, uno no puede determinar el momneto justo de finalizar el
bucel, en el case del For Next, uno ya tiene que especificarle donde comenzar y cuando
parar.
Elementos del bucle
Usos
Su uso principal se orienta a los vectores, pudiendo modificar, agregar, eliminar o consultar
datos que se encuentren segn el ndice. Por esto ltimo, una condicin mnima del vector
es que debe ser ordenado, por que si se intenta leer un dato inexistente, esto genera un error
de programacin.
Un elemento fundamental en todo lenguaje de programacin son las instrucciones
iterativas, tambin llamadas bucles, que nos permiten ejecutar cierto cdigo tantas veces
como nos sea necesario. Un bucle o ciclo, en programacin, es una sentencia que se realiza
repetidas veces a un trozo aislado de cdigo, hasta que la condicin asignada a dicho bucle
deje de cumplirse. Generalmente, un bucle es utilizado para hacer una accin repetida sin
tener que escribir varias veces el mismo cdigo, lo que ahorra tiempo, deja el cdigo ms
claro y facilita su modificacin en el futuro. El bucle y los condicionales representan la
base de la programacin estructurada.
Nuestra condicin en el ejemplo ha sido simple pero, por supuesto, tambin podramos
haber programado algo como For i = cx - 1 To cx + 1 (siendo i, cx y cy variables integer),
anidar bucles o cualquier otra "accin" vlida y con
sentido. ...................................................
SU FUNCIONAMIENTO
Ahora veremos cuales son los pasos que se sigue cuando se utiliza esta estructura.
1.- Mientras <condicin> hacer
<instrucciones>
Fin Mientras
Recuerda que estas lneas se irn repitiendo hasta que la condicion se cumpla.
escape:
print "El resultado es " & var
Otro que se realiza hasta que se cumple la condicion que marcamos. En esta leccion
nos encargaremos del primer tipo.
A la hora de utilizar un bucle, sea del tipo que sea, debemos ir con cuidado y pensar cuando
debe acabar ya que si no tuviramos en cuenta esto podramos entrar en un bucle sin fin,
osea que iramos repitiendo las mismas lneas teniendo que abortar la aplicacion, para
poderla finalizar. Por esto es de suma importancia que pensemos, antes de hacer nada, en
que momento, como, donde y porque debe acabar el bucle.
El Bucle For en Visual Basic
Un elemento fundamental en todo lenguaje de programacin son las
instrucciones iterativas, tambin llamadas bucles, que nos permiten
ejecutar cierto cdigo tantas veces como nos sea necesario. Dentro de
estas instrucciones se encuentra el bucle For, cuyo ejemplo en lenguaje
Visual Basic podra ser:
Next Este cdigo imprimir por pantalla desde el nmero 0 al nmero 10. La sintaxis es
ms sencilla que en otros lenguajes, constando de un for para iniciar el bucle, el valor
inicial de la variable, su valor final, el incremento o decremento de la variable (en caso de
ser 1 puede omitirse quedando For i=0 To 10), el cdigo a repetir y la palabra Next para
cerrarlo.
Nuestra condicin en el ejemplo ha sido simple pero, por supuesto, tambin podramos
haber programado algo como For i = cx - 1 To cx + 1 (siendo i, cx y cy variables integer),
anidar bucles o cualquier otra "accin" vlida y con sentido
Utilizar bucles para repetir cdigo Empleando bucles es posible ejecutar un grupo de
instrucciones de forma repetida. Algunos bucles repiten las instrucciones hasta que una
condicin es False, otros las repiten hasta que la condicin es True. Hay tambin bucles que
repiten un conjunto de instrucciones un nmero determinado de veces o una vez para cada
objeto de una coleccin.
Elegir el bucle a utilizar
Do...Loop: Seguir en el bucle mientras o hasta una condicin sea True.
For...Next: Utilizar un contador para ejecutar las instrucciones un nmero determinado de
veces.
For Each...Next: Repeticin del grupo de instrucciones para cada uno de los objetos de
una coleccin. Ejecutar varias instrucciones sobre el mismo objeto Normalmente, en Visual
Basic, debe especificarse un objeto antes de poder ejecutar uno de sus mtodos o cambiar
una de sus propiedades. Se puede usar la instruccin With para especificar un objeto una
sola vez para una serie completa de instrucciones.
With: Ejecutar una serie de instrucciones sobre el mismo objeto
Banco de Preguntas
Un bucle puede reptir solo sentencias o algo ms? pues si siempre y cuando una Una
variante de la sentencia mientras, es la sentencia repetir. Una de las caractersticas de la
sentencia mientras es que la condicin lgica se evala al principio de cada iteracin. En
particular, si la condicin es falsa cuando la sentencia comienza, entonces el bucle no se
ejecuta nunca...
La sentencia repetir..hasta especifica un bucle condicional que se repite hasta que la
condicin se hace verdadera. Despus de cada iteracin el cuerpo del bucle evala la
condicin. Si la condicin es verdadera, el bucle se termina y se sale de el, ejecutndose la
siguiente sentencia. Si la condicin es falsa el bucle se repite...
Que es un bucle
Un bucle o ciclo, en programacin, es una sentencia que se realiza repetidas veces a un
trozo aislado de cdigo, hasta que la condicin asignada a dicho bucle deje de cumplirse.
Generalmente, un bucle es utilizado para hacer una accin repetida sin tener que escribir
varias veces el mismo cdigo, lo que ahorra tiempo, deja el cdigo ms claro y facilita su
modificacin en el futuro.
Instrucciones IF...THEN...ELSE
Ejecutan de forma condicional un grupo de instrucciones, dependiendo del valor de una
expresin.
PARTES
condition Obligatorio. Expresin. Se debe evaluar como True o False, o como un tipo de
datos que es implcitamente convertible a Boolean.
Then Obligatorio en la forma de una lnea, opcional en la forma de varias lneas.
statements Opcional. Se ejecutan una o ms instrucciones que siguen a If...Then que se
ejecutan si condition se evala como True.
else if condition Obligatorio si ElseIf est presente. Expresin. Se debe evaluar como True
o False, o como un tipo de datos que es implcitamente convertible a Boolean.
else if statements Opcional. Se ejecutan una o ms instrucciones que siguen a
ElseIf...Then que se ejecutan si elseifcondition se evala como True.
-or-
If condition [ Then ]
[ statements ]
[ ElseIf elseifcondition [ Then ]
[ elseifstatements ] ]
[ Else
[ elsestatements ] ]
nd If
If...Then...Else anidadas.
Ejecutar una sola instruccin cuando una condicin es True Para ejecutar una sola
instruccin cuando una condicin es True, se puede usar la sintaxis de lnea nica de la
instruccin If...Then...Else. El siguiente ejemplo muestra la sintaxis de lnea nica, en la
que se omite el uso de la palabra clave Else:
Sub FijarFecha()
miFecha = #13/2/95#
If miFecha < Now Then miFecha = Now
End Sub
Banco de Preguntas
Pregunta 1
Private Sub btn_nuevo_emp_Click()
Application.Workbooks("Ejerc_formularios.xlsm").Worksheets("CuadroTexto")
.Activate
If txt_cedula_emp.Text <> "" And txt_nombre_emp.Text <> "" And
txt_direccion_emp.Text <> "" And txt_telefono_emp.Text <> "" Then
Range("A2").Activate
ActiveCell.FormulaR1C1 = txt_cedula_emp
Range("B2").Activate
ActiveCell.FormulaR1C1 = txt_nombre_emp
Range("C2").Activate
ActiveCell.FormulaR1C1 = txt_direccion_emp
Range("D2").Activate
ActiveCell.FormulaR1C1 = txt_telefono_emp
Selection.EntireRow.Insert
Else
msg = MsgBox("Cdigo, Nombre, Direccin y Telfono son
Obligatorios", vbCritical, "VERIFICAR")
End If
limpia
End Sub
Seleccione la opcin u opciones que usted crea que son correctas del cdigo en VBA
previamente planteada.
Permite validar todos los cuadros de texto obligando a ingresar todos los datos.
Pregunta 2
Sub programa_reales_positivos_negativos()
Dim a, b As Double
b = InputBox("b", "ingrese numero entero ")
If b > 0 Then
MsgBox "este numero es positivo"
Else
If b = 0 Then
MsgBox "neutro"
Else
MsgBox " este numero es negativo"
End If
End If
End Sub
Pregunta 3
Private Sub btnimprimir_Click()
Range("A2").Activate
ActiveCell.FormulaR1C1 = txtnota1
Range("B2").Activate
ActiveCell.FormulaR1C1 = txtnota2
Range("C2").Activate
ActiveCell.FormulaR1C1 = txtnota3
txtpromedio = (CInt(txtnota1) + CInt(txtnota2) + CInt(txtnota3)) / 3
Range("D2").Activate
ActiveCell.FormulaR1C1 = txtpromedio
If txtpromedio < 15 Then
MsgBox "alumno reprobado"
Else
MsgBox "alumno aprobado"
End If
End Sub
Pregunta 4
Sub color()
Dim color As Integer
color = InputBox("color", "ingrese un numero y te decimos el color")
If color = 1 Then
MsgBox "Seleccion Rojo"
ElseIf color = 2 Then
MsgBox "Seleccion Verde"
ElseIf color = 2 Then
MsgBox "Seleccion Azul"
Else
MsgBox "Favor seleccionar solo los nmeros 1, 2 3"
End If
End Sub
Selecciono rojo
Selecciono verde
Selecciono 1,2 o 3
Pregunta 5
Private Sub btnimprimir_Click()
If txtboleto.Text = txtsorteo.Text Then
txtpremio = 1000
MsgBox txtpremio
Else
txtpremio = 0
MsgBox txtpremio
End If
End Sub
________________________________________________
Private Sub txtboleto_Change()
Range("b2").Select
ActiveCell.FormulaR1C1 = txtboleto.Text
End Sub
___________________________________________________
Private Sub txtsorteo_Change()
Range("a2").Select
ActiveCell.FormulaR1C1 = txtsorteo.Text
End Sub
En la celda RI o C1 de Excel
Pregunta 6
Sub menor()
Dim a, b, c As Integer
Dim menor As Integer
a = 2
b = 4
c = 1
If (a < b) Then
If (a < c) Then
menor = a
msgBox menor
Else
menor = c
MsgBox menor
End If
End If
End Sub
Si es verdadero, se imprime a
Si es falso se imprime a
Si es falso se imprime c
Pregunta 7
Private Sub txtcalcular_Click()
Range("B2").Activate
ActiveCell.FormulaR1C1 = txtedad.Text
Range("C2").Activate
ActiveCell.FormulaR1C1 = txthorasvividas
txthorasvividas.Text = 365 * txtedad.Text * 24
If txthorasvividas.Text > 306600 Then
MsgBox "TUS HORAS ESTAN CONTADAS"
Else
MsgBox "TE QUEDA MUCHO POR VIVIR"
End If
End Sub
Pregunta 8
Private Sub txtcalcular_Click()
Range("B2").Activate
ActiveCell.FormulaR1C1 = txtedad.Text
Range("C2").Activate
ActiveCell.FormulaR1C1 = txthorasvividas
txthorasvividas.Text = 365 * txtedad.Text * 24
If txthorasvividas.Text > 306600 Then
MsgBox "TUS HORAS ESTAN CONTADAS"
Else
MsgBox "TE QUEDA MUCHO POR VIVIR"
End If
End Sub
Pregunta 9
Private Sub CommandButton1_Click()
Application.Workbooks("NUMEROS.xlsm").Worksheets("Hoja1").Activate
Range("A2").Activate
ActiveCell.FormulaR1C1 = txtunidades
Range("A3").Activate
ActiveCell.FormulaR1C1 = txtdecenas
Range("A4").Activate
ActiveCell.FormulaR1C1 = txtcentenas
Selection.EntireRow.Insert
Limpiar
End Sub
________________________________________________________________
Sub Unidades()
Dim Uni, Dece, Cente As Integer
Select Case Unidades
Case "1": txtunidades.Text = "UNO"
Case "2": txtunidades.Text = "DOS"
Case "3": txtunidades.Text = "TRES"
Case "4": txtunidades.Text = "CUATRO"
Case "5": txtunidades.Text = "CINCO"
Case "6": txtunidades.Text = "SEIS"
Case "7": txtunidades.Text = "SIETE"
Case "8": txtunidades.Text = "OCHO"
Case "9": txtunidades.Text = "NUEVE"
Case Else
MsgBox Prompt = Cente & Dece & Uni
End Select
End Sub
________________________________________________________________
Sub Limpiar()
txtunidades = Empty
txtdecenas = Empty
txtcentenas = Empty
txtunidades.SetFocus
End Sub
Pregunta 10
Sub varconst()
programa para determinar si una persona es mayor de edad
Dim edad As Integer
edad = InputBox("Ingrese su edad")
If edad >= 18 Then
Pregunta 11
Private Sub btninicio_ Click()
Dim a As Interger, b As Interger, c As Interger
Dim mayor As String
a = InputBox("ingrese dato1", "datos del usuario")
b = InputBox("ingrese dato2", "datos del usuario")
c = InputBox("ingrese dato3", "datos del usuario")
txtdato1.Text = a
txtdato2.Text = b
txtdato3.Text = c
If a > b And a > c Then
mayor = a
Else
If b > c Then
mayor = b
Else
mayor = c
End If
End If
txtmayor.Text = mayor
End Sub
Pregunta 12
Pregunta 13
Sub varconstant()
Dim num1 As Integer
num1 = 22
If (num1 >= 5) And (num1 <= 10) Then
MsgBox "A"
Else
If (num1 >= 11) And (num1 <= 20) Then
MsgBox "B"
Else
If (num1 >= 21) And (num1 <= 30) Then
MsgBox "C"
Else
MsgBox "fuera de rango"
End If
End If
End If
End Sub
b. Pasa al siguiente if, hasta encontrar que las dos condiciones sean verdaderas caso
contrario imprime "Fuera de rango" c. Se ejecuta MsgBox "C"
RESPUESTA: b. Pasa al siguiente if, hasta encontrar que las dos condiciones sean
verdaderas caso contrario imprime "Fuera de rango"
Pregunta 14
Para hacer ms legible el cdigo Qu es aconsejable? Siempre que se pueda utilizar una
instruccin Select Case en vez de recurrir a mltiples niveles de instrucciones
If...Then...Else anidadas.
Es necesario implementar dentro de el cdigo desarrollado tcnicas de indentacin pa ra
tener un cdigo ms ordenado , mediante estas tcnicas se puede distinguir mucho ms
facilmente cuando se estan usando estructuras anidadas es decir se puede ver claramente
cuantas estructuras se estan usando y si dicha estructura esta dentro o contiene a otras.
Pregunta 15
Escriba la sintxix de IF..THEN..ELSE
If condicin Then
instrucciones
Pregunta 16
Que son los procedimientos?
Son sentencias de cdigo ejecutable de un programa mediante la instruccin Sub,es un
conjunto de sentencias que realizan una accin lgica. es un bloque de instrucciones de
Visual Basic incluido entre una instruccin de declaracin y una declaracin End
correspondiente. En Visual Basic, todas las instrucciones ejecutables deben incluirse en
algn procedimiento.
Un procedimiento es un bloque de instrucciones de Visual Basic incluido entre una
instruccin de declaracin (Function, Sub, Operator, Get, Set) y una declaracin End
correspondiente.
Los procedimientos se invocan desde otras partes del cdigo. Esto se conoce como una
llamada a procedimiento. Cuando finaliza la ejecucin de un procedimiento, ste devuelve
el control al cdigo que lo invoc, que recibe el nombre de cdigo de llamada. El cdigo de
llamada es una instruccin o una expresin contenida en una instruccin, que hace
referencia al procedimiento por su nombre y le transfiere el control.
Pregunta 17
Que son las funcione?
Las funciones son sentencias de cdigo ejecutable de un programa con la particularidad de
que deben devolver un valor al procedimiento o funcin que los ha invocado.
Pregunta 18
Cuales son los tipos de constantes?
Intrnsecas o definidas por el sistema, proporcionadas por Visual Basic o cualquier otra
aplicacin que provee una librera de objetos. Para ver una lista de estas constantes, se
acceder a Ver/Examinador de Objetos. En la lista desplegable superior, se seleccionar
VB-Objects and Procedures. De la lista de la izquierda se har doble clic en cualquier
opcin acabada en Constants.
Simblicas o definidas por el usuario. Es una buena idea el declarar las constantes
simblicas con el prefijo con, p.e. Const conPi = 3.141592
Las constantes almacenan valores que, como su nombre indica, permanecen constantes
durante la ejecucin de una aplicacin. Utilice las constantes de su cdigo para valores que
se utilizan repetidamente o para facilitar la lectura del cdigo.
Pregunta 19
En que consisten los argumentos?
Son una lista de constantes, variables o expresiones separadas con comas. El nmero de
argumentos debe ser igual al nmero de parmetros de la funcin. Los tipos de los
argumentos deben coincidir con los tipos de sus correspondientes parmetros. Por
compatibilidad con otros lenguajes, es aconsejable escribir los parntesis cada vez que se
llama a una funcin, aunque esta no tenga argumentos. Una llamada a una funcin puede
formar parte de una expresin.
Pregunta 21
Este Aplicacin nos permite registrarnos en una pagina la pregunta es:
Este modulo se ejecuta correctamente o tiene errores en su
codigo(verifiquelo)
Sub regristro()
Dim clave, aux_clave As Integer
Dim usuario, aux_usuario As String
clave = InputBox("Ingrese su Clave")
A) Se ejecuta Correctamente
3aca436a.jpg
Para el caso de constantes numricas, solo convertir Text1.Text a byte, integer y long, y
poner las constantes sin comillas.
EJEMPLO El siguiente ejemplo ilustra el uso de la instruccin Select Case.
Dim Color, MiVar
Sub CambiarFondo (Color)
MiVar = lcase (Color)
Select Case MiVar
Case "rojo
document.bgColor =
Case "verde"
document.bgColor =
Case "azul"
document.bgColor =
Case Else
MsgBox "Elija otro
End Select
End Sub
"red"
"green"
"blue"
color"
SELECT CASE la instruccion select case se encarga o jecuta uno de varios grupos de
instrucciones, dependiendo del valor de una expresin. a continuacion podemos observar
cual es la sintaxis:
Sintaxis
Select Case expresin_prueba
[Case lista_expresion-n
[instrucciones-n]] ...
[Case Else
[instrucciones_else]]
End Select
La expresin SELECT CASE ejecuta uno de varios grupos de instrucciones, segn el valor
de una expresin.
Select [ Case ] testexpression
[ Case expressionlist
[ statements ] ]
[ Case Else
[ elsestatements ] ]
End Select
La expresin SELECT CASE consta de diferentes partes como son las siguientes:
- testexpression
Obligatorio.Expresin.Debe evaluarse en uno de los tipos de datos elementales (Boolean,
Byte, Char, Date, Double, Decimal, Integer, Long, Object, SByte, Short, Single, String,
UInteger, ULong y UShort).
- expressionlist
Requerido en una instruccin Case.Lista de clusulas de expresiones que representan
valores que coinciden para testexpression.Las clusulas de varias expresiones se separan
mediante comas.Cada clusula puede tomar una de las siguientes formas: expression1 To
expression2 [ Is ] comparisonoperator expression Expresin Utilice la palabra clave To
para especificar los lmites de un intervalo de valores que coinciden para testexpression.El
valor de expression1 debe ser menor o igual que el valor de expression2. Utilice la palabra
clave Is con un operador de comparacin (=, <>, <, <=, > o >=) para especificar una
restriccin de los valores coincidentes para testexpression.Si no se escribe la palabra clave
Is, se insertar automticamente antes de comparisonoperator. La forma que especifica
nicamente expression se considera un caso especial de la forma Is, donde
comparisonoperator es el signo igual (=).Esta forma se evala como testexpression =
expression. Las expresiones contenidas en expressionlist pueden ser de cualquier tipo de
datos, siempre que sean implcitamente convertibles al tipo de testexpression y el
correspondiente comparisonoperator sea vlido para los dos tipos con los que se utilice.
- statements
Parmetro opcional.Una o ms instrucciones posteriores a Case que se ejecutan si
testexpression coincide con cualquier clusula de expressionlist.
- elsestatements
Ejemplo:
Sub semanas()
Dim dia As Integer
dia = InputBox("ingrese numero del da")
Select Case dia
Case "1": MsgBox ("lunes")
Case "2": MsgBox ("martes")
Case "3": MsgBox ("miercoles")
Case "4": MsgBox ("jueves")
Case "5": MsgBox ("viernes")
Case "6": MsgBox ("sabado")
Case "7": MsgBox ("domingo")
Case Else
MsgBox "NO EXISTE DA"
End Select
End Sub
Ejemplo 15.
Macro que suma, resta, multiplica o divide los valores de las casillas A1 y A2 dependiendo
de si B1 contiene el signo +, -,
x, :. El resultado lo deja en A3. Si en B1 no hay ninguno de los signos anteriores en A3
debe dejarse un 0.
Sub Ejemplo_15()
Dim Signo As String
Dim Valor1 As Integer, Valor2 As Integer, Total As Integer
Valor1 = ActiveSheet.Range("A1").Value
Valor2 = ActiveSheet.Range("A2").Value
Signo = ActiveSheet.Range("B1").Value
Total=0
If Signo = "+" Then
Total = Valor1 + Valor2
End if
If Signo = "-" Then
Total = Valor1 - Valor2
End if
If Signo = "x" Then
Total = Valor1 * Valor2
End if
If Signo = ":" Then
Total = Valor1 / Valor2
End if
ActiveCell.Range("A3").Value = Total
End Sub
Observe que en el ejemplo anterior todas las instrucciones if evalan la misma variable. El
programa funciona
correctamente pero para estos casos es mejor utilizar la instruccin Select Ca se, el motivo
principal es por legibilidad y
elegancia. Select Case tiene la sintaxis siguiente,
Instrucciones.
Case valores:
Instrucciones.
Case Else
Instrucciones en caso que no sean ninguno de los valores anteriores.
End Select
Vea el ejemplo anterior solucionado con esta estructura.
Ejemplo 16.
Sub Ejemplo_16()
Dim Signo As String
Dim Valor1 As Integer, Valor2 As Integer, Total As Integer
Valor1 = ActiveSheet.Range("A1").Value
Valor2 = ActiveSheet.Range("A2").Value
Signo = ActiveSheet.Range("B1").Value
Select Case Signo
Case "+"
Total = Valor1 + Valor2
Case "-"
Total = Valor1 - Valor2
Case "x"
Total = Valor1 * Valor2
Case ":"
Total = Valor1 / Valor2
Case Else
Total = 0
End Select
ActiveCell.Range("A3").Value = Total
End Sub
Banco de Preguntas
Pregunta 1
sub senteciaselet()
dim c as integer
dim p as integer
dim precio as integer
c=val(txtc.text)
p=val(txtp.text)
select case c
case 1: select case p
case 1:precio=5000
case 2:precio=4500
end select
case 2: select case p
case 1:precio=4500
case 2:precio=4000
end select
case 3: select case p
case 1:precio=2500
case 2:precio=3000
end select
end select
txtprecio.text=str(precio)
end sub
SI
NO
Pregunta 2
Sub varcost()
Dim nota As Integer
nota = InputBox("Ingrese Calificacin del Alumno:")
Select Case nota
Case 19 To 20: MsgBox "Excelente"
Case 16 To 18: MsgBox "Regular"
Case 13 To 15: MsgBox "Deficiente"
Case Else
MsgBox "Supletorio"
End Select
End Sub
Ntese que la variable condicionada es "nota", as que si la nota ingresada est fuera
de los rangos contemplados anteriormente, el texto a imprimir ser "Supletorio".
Pregunta 3
Sub varconst()
Dim caracter As String * 1
caracter = InputBox("Ingrese letra")
Select Case caracter
Case "a": MsgBox prompt:=caracter,
Case "e": MsgBox prompt:=caracter,
Case "i": MsgBox prompt:=caracter,
Case "o": MsgBox prompt:=caracter,
Case "u": MsgBox prompt:=caracter,
Case Else
MsgBox "No es vocal"
End Select
End Sub
Title:="Vocal
Title:="Vocal
Title:="Vocal
Title:="Vocal
Title:="Vocal
abierta"
abieta"
cerrada"
abierta"
cerrada"
Pregunta 4
Sub varconst()
Dim caracter2 As Variant
caracter2 = InputBox("Ingrese caracter")
Select Case caracter2
Case "a", "e", "i", "o", "u": MsgBox prompt:="es vocal",
Title:="DATOS"
Case 0 To 9: MsgBox prompt:="es numero", Title:="DATOS"
Case "b", "c", "d", "f", "g", "h", "j", "k", "l", "m", "n", "p",
"q", "r", "s", "t", "v", "w", "x", "y", "z": MsgBox
prompt:="ES
CONSONANTE", Title:="DATOS"
Case Else
MsgBox "ES CARACTER"
End Select
End Sub
Pregunta 5
Sub varconst()
'determinar cuando se ingrese un mes cuantos das tiene
Dim mes As String
mes = InputBox("Ingrese mes")
Select Case mes
Case "enero": MsgBox ("Tiene 31 dias")
Case "febrero": MsgBox ("Tiene 28 dias")
Case "marzo": MsgBox ("Tiene 31 dias")
Case "abril": MsgBox ("Tiene 30 dias")
Case "mayo": MsgBox ("Tiene 31 dias")
Case "junio": MsgBox ("Tiene 30 dias")
Case "julio": MsgBox ("Tiene 31 dias")
Case "agosto": MsgBox ("Tiene 31 dias")
Case "septiembre": MsgBox ("Tiene 30 dias")
Case "octubre": MsgBox ("Tiene 31 dias")
Case "noviembre": MsgBox ("Tiene 30 dias")
Case "diciembre": MsgBox ("Tiene 31 dias")
End Select
End Sub
Pregunta 6
Para qu se utiliza la palabra clave TO? Para especificar los lmites de un intervalo de
valores que coinciden para testexpression. El valor de expression1 debe ser menor o igual
que el valor de expression2.
Pregunta 7
Sub ventas_y_descuento()
Dim valor As Integer
valor = InputBox("Ingrese valor de la venta")
Select Case valor
Case 1 To 199: MsgBox prompt:="No tiene descuento"
Case 200 To 499: MsgBox prompt:="Descuento del 10%"
Case 500 To 799: MsgBox prompt:="descuento del 15%"
Case Else
MsgBox "Descuento del 25%"
End Select
End Sub
Pregunta 8
Sub mes_del_ao()
Dim mes As Integer
mes = InputBox("un numero equivale a un mes")
Select Case mes
Case "1":
MsgBox prompt:="Enero", Title:="escogiste"
Case "2":
MsgBox prompt:="Febrero", Title:="escogiste"
Case "3":
MsgBox prompt:="Marzo", Title:="escogiste"
Case "4":
MsgBox prompt:="Abril", Title:="escogiste"
Case "5":
MsgBox prompt:="Mayo", Title:="escogiste"
Case "6":
MsgBox prompt:="Junio", Title:="escogiste"
Case "7":
MsgBox prompt:="Julio", Title:="escogiste"
Case "8":
MsgBox prompt:="Agosto", Title:="escogiste"
Case "9":
MsgBox prompt:="Septiembre", Title:="escogiste"
Case "10": MsgBox prompt:="Octubre", Title:="escogiste"
Case "11": MsgBox prompt:="Nombienbre", Title:="escogiste"
Case "12": MsgBox prompt:="Diciembre", Title:="escogiste"
Case Else:
MsgBox ("Tiene que ser un nmero del 1 al 12")
End Select
End Sub
Pregunta 9
Sub programa2()
Dim signo As String
Dim valor1, valor2 As Integer
Dim total As Integer
valor1 = InputBox("valor1")
ActiveSheet.Range("A1").Value = valor1
valor2 = InputBox("valor2")
ActiveSheet.Range("A3").Value = valor2
signo = InputBox("signo")
ActiveSheet.Range("A2").Value = signo
Select Case signo
Case "+": total = valor1 + valor2
Case "-": total = valor1 - valor2
Case "*": total = valor1 * valor2
Case "/": total = valor1 / valor2
End Select
ActiveSheet.Range("A4").Value = total
End sub
Pregunta 10
para crear una funcin con tres variables cuales serian en este ejercicio? a)edad y peso
b)% grasa y sexo c)edad, sexo, %grasa
Public Function Grasa1(sexo, edad, Porcgra) Select Case sexo 'definimos categoras para
mujeres Case Is = "M"
Select Case edad
Case 18 To 39
Select Case Porcgra
Case 0 To 21: Grasa1 = "bajo en grasa"
Pregunta 11
Sub Numero()
Dim Numero As Integer
Numero = InputBox("numero")
Select Case Numero
Case 1 To 5
MsgBox prompt:="se encuentra ente 1 y 5"
Case 6, 7, 8
MsgBox prompt:="se encuentra entre 6 y 8"
Case Else
MsgBox prompt:="el numero no se encuentra entre 1 y 8"
Pregunta 12
Private Sub btnimprimir_Click()
Aplicacin para ingresar un cdigo provincial y determinar a que
provincia pertenece
Application.Workbooks("PRACTICA 3.xlsm").Worksheets("Hoja3").Activate
Range("b2").Select
Select Case txtctelef
Case "02": ActiveCell.FormulaR1C1 = "PROVINCIAS: Pichincha, Santo
Domingo de los Tsachilas "
MsgBox ("PROVINCIAS: Pichincha, Santo Domingo de los
Tsachilas ")
Case "03": MsgBox ("PROVINCIAS: Cotopaxi, Tungurahua, Pastaza,
Chimborazo, Bolivar ")
ActiveCell.FormulaR1C1 = "PROVINCIAS: Cotopaxi,
Tungurahua, Pastaza, Chimborazo, Bolivar "
Case "06": MsgBox ("PROVINCIAS: Carchi, Esmeraldas, Imbabura,
Napo, Orellana, Sucumbios ")
ActiveCell.FormulaR1C1 = "PROVINCIAS: Carchi,
Esmeraldas, Imbabura, Napo, Orellana, Sucumbios "
Case "04": MsgBox ("PROVINCIAS: Guayas, Santa Elena ")
ActiveCell.FormulaR1C1 = "PROVINCIAS: Guayas, Santa
Elena "
Case "05": MsgBox ("PROVINCIAS: Galapagos, Los Rios, Manabi ")
ActiveCell.FormulaR1C1 = "PROVINCIAS: Galapagos, Los
Rios, Manabi "
Case "07": MsgBox ("PROVINCIAS: Azuay, Caar, El Oro, Loja,
Morona, Zamora ")
ActiveCell.FormulaR1C1 = "PROVINCIAS: Azuay, Caar, El
Oro, Loja, Morona, Zamora"
Case Else
MsgBox ("EL CODIGO NO PERTENECE A NINGUNA PROVINCIA")
End Select
Selection.EntireRow.Insert
txtctelef = Empty
txtctelef.SetFocus
End Sub
Private Sub txtctelef_Change()
Range("a2").Select
ActiveCell.FormulaR1C1 = txtctelef.Text
End Sub
Que lnea de cdigo permite almacenar un dato ingresado por teclado en la celda de Excel
- Private Sub txtctelef_Change()
- Selection.EntireRow.Insert
- ActiveCell.FormulaR1C1 = txtctelef.Text
- Range("a2").Select
RESPUESTA: ActiveCell.FormulaR1C1 = txtctelef.Text
Pregunta 13
En el siguiente cdigo, determmine que respuesta debe salir si, al ingresar dato
ubicamos: 9 y al Ingresar Nombre, ubicamos: Scarlet
Sub varcost()
Dim dato As String
Dim nombre As String
dato = InputBox("Ingrese Dato")
nombre = InputBox("Ingrese Nombre")
Select Case dato
Case "a", "e", "i", "o", "u": MsgBox "ES VOCAL"
Case "0" To "9": MsgBox "ES NUMERO"
Case "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m",
"n", "o", "p",
"q", "r", " s", "t", "u", "v", "w", "x", "y", "z": MsgBox "ES CONSONANTE"
Case Else
MsgBox "Caracter Especial"
End Select
Select Case nombre
Case "Scarlet": MsgBox "Nombre Mujer"
Case "Aaron": MsgBox "Nombre Hombre"
End Select
End Sub
'Opciones:'
a) Imprimir: ES NUMERO
b) Imprimir: Nombre Mujer
c) Imprimir: CARACTER ESPECIAL
d) Imprimir: Nombre Hombre
Respuesta:
Imprimir: ES NUMERO
Imprimir: Nombre Mujer
Pregunta 14
Si el cdigo contenido en un bloque de instrucciones Case o Case Else no necesita ejecutar
ms instrucciones contenidas en el bloque, puede salir del bloque utilizando la instruccin
Exit Select. Esto transfiere inmediatamente el control a la instruccin que sigue a End
Select.? Verdadero Falso RESPUESTA: Verdadero
Pregunta 15
'TIMBRE DE TARJETAS DE CONTROL
Private Sub TIMBRAR_Click()
Select Case TextBox1.Text
Case "e"
MsgBox "llegada 7:00 am"
Case "s"
MsgBox "salida 16:00pm "
Case Else
MsgBox "atrasado"
End Select
End Sub
EN DONDE SE INGRESA LA INFORMACION
1.- TIMBRAR
2.- CASE
3.- MsgBox
4.- TextBox1.Text
CORRECTA=4
Pregunta 16
Sub dias_semana()
Dim dia
dia = InputBox("Dia de la semana")
Select Case dia
Case 1:
MsgBox ("El dia es LUNES")
Case 2:
MsgBox ("El dia es MARTES")
Case 3:
MsgBox ("El dia
Case 4:
MsgBox ("El dia
Case 5:
MsgBox ("El dia
Case 6:
MsgBox ("El dia
Case 7:
MsgBox ("El dia
Case Else:
MsgBox ("Tiene
End Select
End Sub
es MIERCOLES")
es JUEVES")
es VIERNES")
es SABADO")
es DOMINGO")
que ser un dia de la semana en nmero, del 1 al 7")
Pregunta 17
Private Sub btnimprimir_Click()
Select Case txtingrese.Text
Case "a"
MsgBox "araa"
Case "b"
MsgBox "burro"
Case "c"
MsgBox "cocodrilo"
Case "d"
MsgBox "dragon"
Case "e"
MsgBox "elefante"
Case Else
MsgBox " no hay"
End Select
End Sub
la respuesta es b
Pregunta 18
Private Sub btnimprimir_Click()
Select Case txtingrese.Text
Case "1"
MsgBox "enero"
Case "2"
MsgBox "febrero"
Case "3"
MsgBox "marzo"
Case "4"
MsgBox "abril"
Case "5"
MsgBox "mayo"
Case "6"
MsgBox "junio"
Case "7"
MsgBox "julio"
Case "8"
MsgBox "agosto"
Case "9"
MsgBox "septiembre"
Case "10"
MsgBox "octubre"
Case "11"
MsgBox "noviembre"
Case "12"
MsgBox "diciembre"
Case Else
MsgBox " no existe mes con ese numero"
End Select
End Sub
Pregunta 19
Cundo las expresiones contenidas en 'expressionlist' pueden ser de cualquier tipo de
datos?
Siempre que sean implcitamente convertibles al tipo de testexpression y el correspondiente
comparisonoperator sea vlido para los dos tipos con los que se utilice.
Pregunta 20
En la sintaxis de Select...case, la expresin es de carcter... y qu tipo de datos evala?
Es de carcter Obligatorio.
Boolean
Byte
Char
Date
Double
Decimal
Integer
Long
Object
SByte
Short
Single
String
UInteger
ULong
UShort
Pregunta 21
Esta aplicacion nos permite escoger mediante un menu si deseamos calcular la raiz
cuadrada de un numero o el area de un triangulo
Verificar si el codigo es Correcto
Sub main()
Dim base, altura, resp, raizr, respr As Double
opc = InputBox("Ingrese que operacion desea realizar (1.Calcular Raiz
Cuadrada
2.Calcular el area del triangulo)")
Select Case
Case 1
raizc = InputBox("Ingrese el numero para sacar la raiz
cuadrada")
respr = Sqr(raizc)
MsgBox ("La raiz cuadrada es: " & respr)
Case 2
base =
altura
resp =
MsgBox
End Select
End Sub
Instrucciones DO LOOP
Los bucles sirven para repetir instrucciones varias veces. A lo mejor tienes una columna en
Excel con 25.000 nombres, y quieres sacar las personas cuyos apellidos empieza con Lo.
En este caso se puede emplear un bucle que evalua todos estos nombres segn el criterio
Lo, uno por uno.
Repite la ejecucin de un conjunto de sentencias mientras una condicin dada sea cierta. La
condicin puede ser verificada antes o despus de ejecutarse el conjunto de sentencias.
Tanto, que puede reemplazar a FORNEXT en casi todos los casos. Con l se pueden
crear una gran variedad de bucles diferentes, dependiendo si comprueban una condicin
antes de ejecutar el bucle una vez; despus de la primera ejecucin; mientras que se cumple
la condicin o hasta que la mencionada condicin se cumpla. La sintaxis bsica de esta
estructura es la siguiente:
Do
Instrucciones
[Exit Do]
Instrucciones
Loop
Esta es la forma ms simple de escribir este tipo de bucle. Las instrucciones comprendidas
entre el Do y el Loop se ejecutaran indefinidamente.
Resulta muy apropiado para aquellos casos en que nuestro programa se encuentra
esperando que ocurra alguna situacin determinada, a la vez que repite un grupo de
instrucciones.
Ejemplo:
Private Sub CommandButton1_Click()
Dim counter As Integer
Hacer
contador = contador + 1
Las celdas (contador, 1) = contador
Loop While contador < 10
End Sub
En este ejemplo, el programa seguir sumando 1 al valor anterior del mostrador, siempre y
cuando el valor del contador es menor que 10. Muestra 1 en las celdas (1,1), 2 en las celdas
(2,1) ...... Hasta 10 en las clulas (10,1).
Bucles Do Loop Repite las instrucciones mientras/hasta etc. una condicin es
TRUE/VERDADERO.
Do while Loop Repite las instrucciones mientras una condicin es
TRUE/VERDADERO.
i=1
Do While Cells(i, 2) <> ""
f Cells(i, 1)>= 1.5 Then Exit Do
i = i + 1
Loop
MsgBox "El valor se encontr en fila no. " & i
Do until Loop Repite las instrucciones hasta que una condicin se convierta en
TRUE/VERDADERO.
i=1
Loop
MsgBox "El nombre AA se encontr en la lnea " & i
While Wend Igual al bucle Do while Loop.
Bucles For Next Repite las instrucciones un nmero especificado de veces.
For i Next Repite las instrucciones i veces.
Ejemplo: Creamos un bucle sencillo. Queremos que se repita 4 veces, y que la variable
intValor (al empezar = 1) se incremente con 2 cada vuelta. Este nos da el resultado intValor
= 9 (1+2+2+2+2).
Observa que el bucle tiene step 1. Esto significa que i se incrementa con 1 cada vuelta. Esto
es, que si queremos un bucle que vaya para atrs, pondramos step -1.
intValor = 1
For i = 1 to 4 step 1 intValor = intValor + 2 Next i
For each Next Repite las instrucciones segn el nmero de objetos especificados, por
ejemplo For each cell de un rango en Excel.
Ejemplo En este ejemplo vamos a construir un bucle que evalua cada celda de un rango. El
rango ser celdas A1:A5, que se escribe como Range(Cells(1, 1), Cells(5, 1). Con el Exit
For salimos del bucle al cumplir la condicin.
Dim rngArea
rngArea = Range(Cells(1, 1), Cells(5, 1))
For Each Cell In rngArea
If Cell = "Alexis" Then
MsgBox "Encontr Alexis"
Exit For
End If
Next
PRIMERA FORMA DE ESCRIBIR UN BUCLE
La opcin Exit Do permite abandonar el bucle cuando lo deseemos. En general, una
sentencia IfThen comprueba el valor de alguna expresin, y cuando dicha expresin
es verdadera, se ejecuta el Exit Do. El siguiente ejemplo ilustra este caso:
Dim edad As Integer
edad = 20
Do
edad = edad - 1
If edad = 0 Then
Exit Do
End If
Loop
Como puede verse, el bucle se repetir mientras que el valor de edad sea diferente de
cero. Cuando esto ocurre, la condicin que evala el IfThen ser verdadera y el
control del programa saltar a la instruccin que haya a continuacin del Loop.
SEGUNDA FORMA DE ESCRIBIR UN BUCLE DO-LOOP
Do { While | Until } condicin
Instrucciones
[Exit Do]
Instrucciones
Loop
Por supuesto, no podemos utilizar While y Until a la vez. En esta forma del bucle, la
condicin se evala al comienzo del mismo. En el caso de utilizar la opcin While, el
bucle se repetir mientras que la condicin sea verdadera. Podemos escribir el ejemplo
anterior utilizando esta posibilidad:
Do While edad <> 0
edad = edad - 1
Loop
Como puede verse, es mucho ms simple utilizar While que IfThen y Exit Do.
Aclaramos que la condicin evala que edad sea diferente de cero.
Tambin podramos haber resuelto el problema con el uso de Until:
Do Until edad = 0
edad = edad - 1
Loop
En este caso, el bucle se repetir hasta que edad sea igual a cero. En estos dos ultimo
ejemplos puede darse el caso de que, si edad es igual a cero cuando se llega a la instruccin
Do, las instrucciones existentes en el interior del bucle no se ejecuten nunca.
TERCERA FORMA DE ESCRIBIR UN NUCLE DO-LOOP
Do
Instrucciones
[Exit Do]
Instrucciones
O asi:
Dim edad As Integer
edad = 20
Do
edad = edad - 1
Loop While edad <> 0
Adems en todos los casos puede utilizarse, entre las instrucciones que estn dentro del
bucle, la sentencia Continue Do, que hace que el control del programa salte nuevamente
al 'Do,' repitiendo el ciclo actual.
Loop
Sub ComFinalWhile()
contador = 0
miNum = 9
Do
miNum = miNum - 1
contador = contador + 1
Loop While miNum > 10
MsgBox "El bucle se ha repetido " & contador & " veces."
End Sub
Repetir instrucciones hasta que una condicin llegue a ser True Hay dos formas de utilizar
la palabra clave Until para comprobar el estado de una condicin en una instruccin
Do...Loop. Se puede comprobar la condicin antes de entrar en el bucle (como muestra el
procedimiento ComPrimeroUntil) o se pueden comprobar despus de que el bucle se haya
ejecutado al menos una vez (como muestra el procedimiento ComFinalUntil). El bucle
sigue ejecutndose mientras la condicin siga siendo False.
Sub ComPrimeroUntil()
contador = 0
miNum = 20
Do Until miNum = 10
miNum = miNum - 1
contador = contador + 1
Loop
MsgBox "El bucle se ha repetido " & contador & " veces."
End Sub
Sub ComFinalUntil()
contador = 0
miNum = 1
Do
miNum = miNum + 1
contador = contador + 1
Loop Until miNum = 10
MsgBox "El bucle se ha repetido " & counter & " veces."
End Sub
Instruccin de salida de Do...Loop desde dentro del bucle Es posible salir de Do...Loop
usando la instruccin Exit Do. Por ejemplo, para salir de un bucle sin fin, se puede usar la
instruccin Exit Do en el bloque de instrucciones True de una instruccin If...Then...Else o
Select Case. Si la condicin es False, el bucle seguir ejecutndose normalmente. En el
siguiente ejemplo, se asigna a miNum un valor que crea un bucle sin fin. La instruccin
If...Then...Else comprueba esa condicin y ejecuta entonces la salida, evitando as el bucle
sin fin.
Sub EjemploSalida()
contador = 0
miNum = 9
Do Until miNum = 10
miNum = miNum - 1
contador = contador + 1
If miNum < 10 Then Exit Do
Loop
MsgBox "El bucle se ha repetido " & contador & " veces."
End Sub
Nota Para detener la ejecucin de un bucle sin fin, presione la tecla ESC o CTRL+PAUSE.
Loop
-orDo
[ statements ]
[ Exit Do ]
[ statements ]
Partes
While
Obligatorio si se utiliza Until. Repite el bucle hasta que condition sea False.
Until
Obligatorio a menos que se utilice While. Repite el bucle hasta que condition sea True.
condition
Opcional. Expresin Boolean. Si condition es Nothing, Visual Basic la trata como False.
statements
Opcional. Una o ms instrucciones que se repiten mientras o hasta que condition sea True.
Exit Do
Opcional. Transfiere el control fuera del bucle Do.
Loop
Obligatorio. Termina la definicin del bucle Do.
Utilice una estructura Do...Loop cuando desee repetir un conjunto de instrucciones un
nmero indefinido de veces, hasta que se satisfaga una condicin. Si desea repetir las
instrucciones un nmero fijo de veces, la Instruccin For...Next es normalmente una
opcin mejor. La estructura Do...Loop proporciona mayor flexibilidad que laInstruccin
While...End While (Visual Basic) porque permite elegir si se debe finalizar el bucle cuando
condition deja de ser True o cuando es True por primera vez. Tambin le permite probar
condition al principio o al final del bucle.
Condicin expresada al lado del DO: en este caso la condicin se evalua antes de empezar a
ejecutarse el bucle. Condicin expresada al lado del LOOP: en este caso la condicin se
evalua despus de ejecutarse el bucle. Tiene como diferencia principal frenta al otro mtodo
que en este caso el bucle se ejecutar por lo menos una vez.
Adems de poder expresar la condicin en estos dos sitios tambin se puede construir la
condicin con un enunciado mientras (WHILE) o un enunciado hasta (UNTIL). Las
diferencias semanticas de estas dos posibilidades se trasladan tambin a su manera de
funcionar.
LOOP
Podemos ver este ejemplo en funcionamiento.
El siguente ejemplo realiza una cuenta y entre cuenta y cuenta se muestra el valor de la
cuenta actual en una ventanita donde sale un botn de Reintentar y otro de Cancelar. Si se
pulsa reintentar se sigue ejecutando el bucle y si se pulsa Cancelar se sale por la puerta de
atrs, de manera similar a como se sala en el ejemplo anterior, con EXIT DO.
option explicit dim cont dim respuesta cont = 0 DO
cont = cont +1
respuesta = msgbox (cont,69,"Variable del bucle, con valor 6 se sale")
if (respuesta = 2) then
msgbox "Cuenta Cancelada",16,"Cancelaste!"
exit do
end if
counter += 1
If counter = 10 Then
check = False
Exit Do
End If
Loop
Loop Until check = False
End Sub
Comentarios
Se puede utilizar cualquier nmero de instrucciones Exit Do ubicadas en cualquier lugar
dentro de una estructura de control DoLoop, para proporcionar una salida alternativa de
un DoLoop. La instruccin Exit Do se utiliza frecuentemente en la evaluacin de alguna
condicin, por ejemplo, IfThen; en este caso, la instruccin Exit Do transfiere el control
a la instruccin que sigue inmediatamente a la instruccin Loop.
Cuando se utiliza con instrucciones anidadas DoLoop, la instruccin Exit Do transfiere
control al bucle que est anidado un nivel por encima del bucle donde ocurre.
Reglas Naturaleza de la condicin. Generalmente, la condicin es el resultado de comparar
dos valores, pero tambin puede ser cualquier expresin que da como resultado un valor de
Boolean (Tipo de datos, Visual Basic) (True o False). Esto incluye los valores de otros tipos
de datos, como los numricos, que han sido convertidos a valores de tipo Boolean.
Probar la condicin. Slo puede probar condition una vez, al principio o al final del bucle.
Puede usar While o Until para especificar condition, pero no ambas.
Nmero de iteraciones. Si prueba condition al principio del bucle (en la instruccin Do),
puede que el bucle no se ejecute ni siquiera una vez. Si prueba al final del bucle (en la
instruccin Loop), el bucle siempre se ejecuta al menos una vez.
Anidar bucles. Los bucles Do se pueden anidar colocando un bucle dentro de otro. Tambin
puede anidar distintos tipos de estructuras de control dentro de otras. Para obtener ms
informacin, vea Estructuras de control anidadas.
Transferir el control fuera del bucle. La Instruccin Exit (Visual Basic) transfiere el control
inmediatamente a la instruccin que sigue a la instruccin Loop. Puede desear salir de un
bucle si detecta una condicin que hace que sea innecesario o no se pueda continuar la
iteracin, como puede ser un valor errneo o una solicitud de finalizacin. Puede colocar
cualquier cantidad de instrucciones Exit Do en cualquier punto del bucle Do. Exit Do suele
utilizarse despus de evaluar alguna condicin, por ejemplo en una estructura
If...Then...Else.
Banco de Preguntas
Pregunta 1
Cul es la funcin de la instruccin Do Loop? Repite las instrucciones mientras/hasta etc.
una condicin es TRUE/VERDADERA
El bucle DO...LOOP es muy verstil. Con el se pueden crear gran variedad de bucles
distintos, bucles que comprueben una condicin antes de ejecutar el bucle una vez, despus
de la primera ejecucin y con combinaciones con mientras (WHILE) que se cumple una
condicin o hasta (UNTIL) que esa condicin se cumpla. La sintaxis de esta estructura es la
siguiente:
DO [WHILE | UNTIL (condicion)]
Sentencias
.....
LOOP [WHILE | UNTIL (condicion)]
Lo que siempre tendremos en estos bucles es el DO y el LOOP, entre estos dos colocaremos
las sentencias que queremos ejecutar en cada iteracin del bucle. Los bucles tienen que
evaluar entre cada iteracin si se siguen ejecutando o no, para ello evalan una condicin.
Lo verstil de este bucle es que la condicin se puede expresar de muchas maneras
distintas.
Condicin expresada al lado del DO: en este caso la condicin se evala antes de
empezar a ejecutarse el bucle.
Condicin expresada al lado del LOOP: en este caso la condicin se evala despus de
ejecutarse el bucle. Tiene como diferencia principal frente al otro mtodo que en este caso
el bucle se ejecutar por lo menos una vez.
Adems de poder expresar la condicin en estos dos sitios tambin se puede construir la
condicin con un enunciado mientras (WHILE) o un enunciado hasta (UNTIL). Las
diferencias semnticas de estas dos posibilidades se trasladan tambin a su manera de
funcionar. Vamos a ver un par de ejemplos de este bucle para comprender su
funcionamiento. El ejemplo pide constantemente el nombre del autor de la pgina y no para
hasta que el nombre sea "migue". Tambin tiene el usuario la posibilidad de escribir "out",
en ese caso, comprobado con un enunciado IF, se sale del bucle rompindolo con la
sentencia EXIT DO, utilizada para romper bucles.
Dim entrada
Entrada = ""
DO WHILE (entrada <> "migue")
Entrada = inputbox ("Dime el nombre del
autor","seguridad","migue",2,3)
If (entrada = "out") then
msgbox "salgo por la puerta de atras"
Exit do
End If
LOOP
Pregunta 2
Encuentre el error en este cdigo:
Sub repetir()
cont = 0
limite = 10
Do
MsgBox (cont)
cont = cont + 1
Pregunta 3
Cuales son las dos formas generales de la Sentencia DO, UNTIL, LOOP?
Tiene dos formas generales:
En esta primera forma si condicin es False se ejecuta el grupo de sentencias y se sigue
ejecutando hasta que condicion sea True. La evaluacin de la condicin se realiza antes de
ejecutar las sentencias, por tanto el rango posible de veces que se ejecutan estas ser de 0 a
n, es decir, puede que el bucle no llegue a ejecutarse nunca.
En esta segunda forma, primero se ejecuta una vez el grupo de sentencias y luego se va
evaluando condicion, repitindose la ejecucin de las sentencias mientras sea False, por
tanto con esta forma el bucle al menos se ejecuta una vez, es decir su rango ser de 1 a n.
Pregunta 4
Do until condicion
instrucciones
loop
Hace bucle cero o solo una vez?
RESPUESTA: FALSO.- hace el bucle cero o mas veces
Do
istrucciones
Loop until condicion
Hace el bucle al menos una vez?
RESPUESTA: VERDADERO
Pregunta 5
Pregunta 6
imprimir nmeros del 0 al 10
Private Sub numeros () n = 0 N = 10
Do While n >= 0
Print n
N = n-1
Pregunta 7
DO WHILE (entrada <> "Miguel")
entrada = inputbox ("Dime el nombre del
autor","seguridad","Miguel",2,3)
if (entrada = "out") then
msgbox "salgo por la puerta de atras"
exit do
end if
LOOP
El ejemplo pide constantemente el nombre del autor de la pgina y no para hasta que el
nombre sea "Miguel". Tambin tiene el usuario la posibilidad de escribir "out", en ese caso,
comprobado con un enunciado IF, se sale del bucle rompindolo con la sentencia EXIT
DO, utilizada para romper bucles. Dim entrada entrada = ""
..................................................................... ..................................................................... .......
.............................................................. ..................................................................... ..............
....................................................... ..................................................................... .....................
................................................ ....................................
Pregunta 8
Conversin de Temperaturas de grados Farentheit a grados Celsius
Private Sub temperatura()
Pregunta 9
La sentencia Do...Loop es de tipo?
Sub programa()
Dim cont As Integer Dim limite As Integer
cont = 0 limite = 5
Do MsgBox (cont) cont = cont + 1 Loop Until cont >= limite
End Sub
Esta estrucuturade cdigo repite la serie de nmeros del 0 al 5. El lmite lo indica la
variable con elmismo nombre= 5 y el inicio la variable de tipo contador "cont"
Pregunta 10
Cul es la funcin de Exit Do?
Transfiere el control fuera del bucle Do. Esta abandona directamente al programa mismo
dndolo por terminado . Realiza tambin una serie de operaciones tiles como ser , el
cerrado de cualquier archivo que el programa hubiera abierto. Normalmente se la utiliza
para abortar los programas en caso de que se est por cometer un error fatal e inevitable .
Pregunta 11
Qu funcin tiene While?
El Bucle while o bucle mientras es una estructura de la mayora de los lenguajes de
programacin estructurados cuyo propsito es repetir un bloque de cdigo mientras una
condicin se mantenga verdadera.
Sintaxis
La sintaxis en pseudocdigo es la siguiente:
Mientras condicin hacer
Instrucciones
Fin Mientras
Condicin
La condicin ha de ser una sentencia que devuelva un valor booleano, y esta puede ser el
valor booleano en s, verdadero (true) si la condicin se cumple, o falso si esta no se
cumple (false). Tambin puede contener el nombre de una variable booleana, y el valor de
la expresin depender de su contenido. Se debe tener en cuenta que adems de las
variables tambin puede haber llamadas a funciones que devuelvan un valor.
Sentencias Comparativas
La forma ms obvia tal vez, y la ms usada sin duda, son las sentencias comparativas, que
usan los operandos igual, diferente, menor o igual, mayor o igual, menor y mayor. En el
caso del lenguaje C, se utilizan los siguientes smbolos para representar las comparaciones
anteriores: ==, !=, <=, >=, <, >,
Pregunta 12
Cul es la diferencia entre Do...Loop y For ... next?
Pregunta 13
Pregunta 14
El siguiente ejercicio se ejecuta solo si se declaran las variables:
DO LOOP
option explicit
cont = 0
DO
cont = cont +1
respuesta = msgbox (cont,69,"Variable del bucle, con valor 6 se sale")
if (respuesta = 2) then
msgbox "Cuenta Cancelada",16,"Cancelaste!"
exit do
end if
LOOP UNTIL (cont = 6)
R: dim cont
dim respuesta
Pregunta 15
Sub ejercicio5()
Dim cuadrado As Integer
Dim cubo As Integer
Dim limite, cont As Integer
limite = InputBox("limite")
cont = 0
If limite <= 10 Then
Do While cont < limite
If cont < limite Then
cont = cont + 1
MsgBox cont
cuadrado = cuadr(cont, cont)
MsgBox cuadrado
cubo = cub(cont, cont, cont)
MsgBox cubo
End If
Loop
Else
MsgBox "debe ingresar un numero menor o igual a 10"
End If
End Sub
Private Function cuadr(cont As Integer, cont1 As Integer) As Long
cuadr = cont * cont1
cuadrado = cuadr
End Function
Private Function cub(cont2 As Integer, cont4 As Integer, cont3 As Integer) As Long
cub = cont2 * cont4 * cont3
cubo = cub
End Function
Seleccione la opcin correcta del siguiente programa que hace referencia a DO WHILE y al
llamado de funciones
Si se ingresa por el teclado un nmero menor o igual a 10 que sucede:
a. Se imprime el nmero, el cuadrado del nmero y el cubo del nmero b. Se imprime
ingrese un nmero mayor o igual a 10 c. Solo se imprime el cuadrado y el cubo del
numero d. Ninguna de las anteriores
Respuesta: a
Pregunta 16
Pregunta 17
Pregunta 18
Verifique el cdigo y diga si funciona correctamente o no?
x = txtInferior.Text
y = txtSuperior.Txt
If x > y Then
MsgBox ("El limite inferior tiene que ser memor que el superior")
Else
Do While x < y
x = x + 2
lstInprimir.AddItem (x)
Loop
End Sub
Private Sub btnSalir_Click()
End
End Sub
Respuesta: El cdigo no es eficiente porque existe 2 errores: primero no se sierra el If y
segundo no se guarda en la variable y el dato ingresado por el usuario porque esta mal
escrito Text
Instrucciones FORNEXT
Las instrucciones For...Next se pueden utilizar para repetir un bloque de instrucciones un
nmero determinado de veces. Los bucles For usan una variable contador cuyo valor se
aumenta o disminuye cada vez que se ejecuta el bucle. es utilizado cuando se desee repetir
un conjunto de instrucciones para cada elemento de coleccion o matriz.
La sentecia realiza una repeticin desde la inicializacin hasta el trmino del bucle. Para
llevar la cuenta se utiliza una variable. Con cada ejecucin del bucle se ejecutan unas
sentencias. NEXT sirve para delimitar el final del bucle, cuando se encuentra con el NEXT
se vuelve otra vez al principio del FOR, as hasta realizar el nmero de ejecuciones
determinado.
FORNEXT puede resolver aquellas situaciones en las que un grupo de instrucciones
deban repetirse un numero determinado de veces.
Pero existen otras situaciones, y aparecen con mucha frecuencia, en las que no se conoce de
antemano el nmero de iteraciones que debera tener nuestro bucle.
ESTRUCTURA
For counter [ As datatype ] = start To end [ Step step ]
[ statements ]
[ Exit For ]
[ statements ]
Next [ counter ]
Partes
counter
Se requiere en la instruccin For. Variable numrica. Variable de control para el bucle.
datatype
Obligatorio, a menos que counter ya se haya declarado. Tipo de datos de counter.
start Obligatorio. Expresin numrica. Valor inicial de counter.
end
Obligatorio. Expresin numrica. Valor final de counter.
step
Opcional. Expresin numrica. Cantidad en la que se incrementa counter cada vez que se
recorre el bucle.
statements
Opcional. Una o ms instrucciones entre For y Next que se ejecutan un nmero
especificado de veces.
Exit For
Opcional. Transfiere el control fuera del bucle For.
Next
Obligatorio. Termina la definicin del bucle For.
Ejemplo:
Sub serie ()
Dim lim As Integer
Dim cont As Integer
Dim a As Integer
Dim b As Integer
Dim c As Integer
a = 1
b = 1
lim = 5
For cont = 1 To lim
c = a + b
MsgBox c
a = b
b = c
Next
End Sub
Para disminuir la variable contador utilice un valor negativo en Step. Para disminuir la
variable contador es preciso especificar un valor final que sea menor que el valor inicial. En
el siguiente ejemplo, la variable contador miNum se disminuye en 2 cada vez que se repite
el bucle. Cuando termina la ejecucin del bucle, total representa la suma de 16, 14, 12, 10,
8, 6, 4 y 2.
Sub NuevoTotal()
For miNum = 16 To 2 Step -2
total = total + miNum
Next miNum
MsgBox "El total es " & total
End Sub
Se puede abandonar una instruccin For...Next antes de que el contador alcance su valor
final, para ello se utiliza la instruccin Exit For. Por ejemplo, si se produce un error se
puede usar la instruccin Exit For en el bloque de instrucciones True de una instruccin
If...Then...Else o Select Case que detecte especficamente ese error. Si el error no se
produce, la instruccin IfThenElse es False y el bucle continuar ejecutndose
normalmente.
Cuando se conoce de antemano el nmero de veces que una sentencia o un grupo se
sentencia se debe repetir, es recomendable utilizar esta sentencia. El bucle For permite
inicializar una variable llamada de control en un primer valor, incrementar o decremento
hasta legar al ultimo valor El formato de esa sentencia es la siguiente: For variable =
Primervalor To variable ltimovalor Step Incremento
sentencia1
sentencia2
sentencia3 .
. sentenciaN
Next variable sentenciaX
La sentencia For crea un bucle en el que la variable que hace la funcin de contador se
inicializa a primervalor y luego se va incrementado en el valor de incremento cada vez
que el programa ejecute el bucle, hasta que alcanza el valor ltimovalor. Si se omite la
palabra Step se asume que el incremento es de una unidad El valor del primervalor debe
ser menor que el ltimovalor, salvo que el incremento sea negativo, en este caso el
primervalor debe ser mayor que el ltimovalor
Ejemplos
Imprimir los nmeros comprendidos entre 1 to 100
For contador = 1 to 100
Print contador
Next contador
Imprimir los nmeros pares entre 2 y 100
For contador = 2 to 100 step 2
Print contador
Next contador
Imprimir los mltiplos de 5 desde 100
For contador = 100 to 5 step -5
Print contador
Next contador
Ejemplo:
Sub serie ()
Dim lim As Integer
Dim cont As Integer
Dim a As Integer
Dim b As Integer
Dim c As Integer
a=1
b=1
lim = 5
For cont = 1 To lim
c = a + b
MsgBox c
a = b
b = c
Next
End Sub
Banco de Preguntas
Pregunta 1
sub p()
dim i, n, s as integer
n=10
for i=1 to n
s=s+1
msgbox s
next
end sub
Pregunta 2
Sub VarConst()
'Seccion sirve para agregar VAR y COSNT
Dim res(10, 10) As Integer 'Declaracion de la matriz de 10 * 10
Dim aux As Integer
'Num 1 indica la tabla del numero que se va multiplicar
'Num 2 indica el valor por el que se va a multiplicar num1
For num1 = 1 To 10
For num2 = 1 To 10
'Asignando la posicion en la matriz y el valor que va a tomar
res(num1, num2) = num1 * num2
Next
Next
'Leo el valor que se ingreso en el inputbox para visualizar la tabla de
multiplicacion del valor ingresado entre el 1 y 10
aux = Inputbox("Ingrese el numero para la tabla de multiplicar")
For num2 = 0 To 10
'Imprime la multiplicacion
MsgBox prompt:=res(aux, num2), Title:=aux & "x" & num2
Next
End Sub
Pregunta 3
Cules son las ventajas de un bucle for next? Es el bucle mas simpe al momento de
manejar arreglos uni o bidimencionales ya que la variable en la que se maneja la posisicin
de dicho arreglo ya viene contenida dentro de la instrucin ya que esta es integer y se ira
sumando dependiendo de los pasos que se le asignen dentro de la instruccion o dentro de el
cdigo programado
Pregunta 4
Puedo utilizar la funcion For Nex cuando quiero repetir un conjunto de instrucciones
un nmero fijo de veces?
RESPUESTA: SI
Para hacer esto, se elige una variable que actuara como contador de las vueltas del bucle.
Cuando alcanza un valor determinado, finalizar el bucle. Primero se iguala la variable que
cuenta las vueltas al nmero que deseamos comenzar (For i=0). Por defecto, la variable que
cuenta las vueltas del bucle se incrementa en 1, pero se puede asignar otro valor de
incremento. Este valor se pone despus de la palabra Step.
A continuacin se muestra el bucle trabajando. Notar que el Step es de 1... se puede elegir
cualquier incremento.
0 es el cuadrado de 0
1 es el cuadrado de 1
4 es el cuadrado de 2
9 es el cuadrado de 3
16 es el cuadrado de 4
25 es el cuadrado de 5
36 es el cuadrado de 6
49 es el cuadrado de 7
64 es el cuadrado de 8
81 es el cuadrado de 9
100 es el cuadrado de 10
Ha terminado el bucle...
Pregunta 5
Sub conteo_regresivo()
Dim I As Integer
For I = 10 To 1 Step -2
MsgBox I
Next
End Sub
Seleccione la opcion correcta
a). En el codigo step ayuda que la variable aumente de 2 en dos
b). En el codigo step ayuda que la variable disminuya de 2 en dos
Respuesta: b
Pregunta 6
Sub cinty()
Dim C As Integer
For C = 20 To 30 Step 2
MsgBox prompt:=C, Title:="aumento"
Next
End Sub
Elija la respuesta correcta:
En el programa qu funcin cumple FORNEXT:
Repite un bloque de instrucciones un nmero determinado de veces. No usa una
variable contador cuyo valor se aumenta o disminuye cada vez que se ejecuta el bucle. La
dos son correctas.
Pregunta 7
Sub prog3()
Dim X As Integer
For X = 1 To 10
If X = 6 Then
MsgBox " solo te falta 5 mas"
End If
MsgBox X
Next
End Sub
Seleccione la respuesta correcta Que pasa si X= 6
a). Se imprime solo te falta 5 mas despus de contar 6
b). Se imprime solo te falta 5 mas despus de contar 5
respuesta: b
Pregunta 8
cu{ando utilizo las instrucciones For...Next?
Se pueden utilizar para repetir un bloque de instrucciones un nmero determinado de veces.
Los bucles For usan una variable contador cuyo valor se aumenta o disminuye cada vez que
se ejecuta el bucle.
funciona bien cuando se puede asociar cada iteracin de un bucle con una variable de
control y determinar los valores iniciales y finales de esa variable
Pregunta 9
Mediante la palabra clave Step, se puede aumentar o disminuir la variable contador en el
valor que se desee? a) verdadero b) falso
Pregunta 10
dim a as a byte Private Sub comnumh_ENTER() 'En caso de error, que contine On Error
Resume Next 'Ocultamos el procedimiento Application.ScreenUpdating = False
'Limpiamos lo que haya comnumh.Clear 'Vamos a llenar dinmicamente el combobox If
comtipoh = "INDIVIDUAL" Then
For a = 1 To 10
comnumh.AddItem a
Next
Next
Pregunta 11
PARA QU SIRVE LA PALBRA "STEP" DENTRO DE LA SINTAXIS Y
EJECUCIN DE LA SENTENCIA FOR...NEXT?
Mediante la palabra clave Step, se puede aumentar o disminuir la variable contador en el
valor que se desee. En el siguiente ejemplo, la variable contador j se incrementa en 2 cada
vez que se repite la ejecucin del bucle. Cuando el bucle deja de ejecutarse, total representa
la suma de 2, 4, 6, 8 y 10.
Pregunta 12
Cmo se pude disminuir el contador?
Para disminuir la variable contador utilice un valor negativo en Step. Para disminuir la
variable contador es preciso especificar un valor final que sea menor que el valor inicial. En
el siguiente ejemplo, la variable contador miNum se disminuye en 2 cada vez que se repite
el bucle. Cuando termina la ejecucin del bucle, total representa la suma de 16, 14, 12, 10,
8, 6, 4 y 2.
Sub NuevoTotal()
For miNum = 16 To 2 Step -2
total = total + miNum
Next miNum
MsgBox "El total es " & total
End Sub
Pregunta 13
CUAL ES LA FUNCION DE UNA VARIABLE DE TIPO CONTADOR?
Es una variable contador cuyo valor se aumenta o disminuye cada vez que se ejecuta el
bucle. es utilizado cuando se desee repetir un conjunto de instrucciones para cada elemento
de coleccion o matriz, cuyo valor se incrementa o decrementa en un valor fijo.
Un contador suele utilizarse para contar el nmero de veces que itera un bucle. Pero, a
veces, se utiliza para contar, solamente, aquellas iteraciones de un bucle en las que se
cumpla una determinada condicin.
Pregunta 14
Sub programa1()
Dim A, B, X As Integer
MsgBox "recuerdo para ejecutar programa condicion es A=B"
A = InputBox("A", "rango selecionado")
B = InputBox("B", "confirmacion de rango seleccionado")
If A = B Then
For X = 1 To A Step 2
MsgBox prompt:=X, Title:="estos son los numeros impares
seleccionado"
Next
rango
Else
Pregunta 15
Sub programa2()
Dim C, d As Integer C = 1 Do While C > 0
en el
For d = 1 To 10
MsgBox d
Next
C = C - 1
Loop
End Sub
Pregunta 16
Verificar si el siguiente cdigo funcin correctamente o no con la forma indicada
lstInprimir.AddItem (num)
Next num
Case 2
lstInprimir.Visible = True
lstInprimir.Clear
num = InputBox("Ingrese el Tamao del Vector Uno")
For X = 0 To num
Vector1(X) = InputBox("Ingrese los Numeros qu se Guardaran en el
Vector Uno")
Next X
num1 = InputBox("Ingrese el Tamao del Vector Dos")
For Y = 0 To num1
Vector2(Y) = InputBox("Ingrese los Numeros qu se Guardaran en el
Vector Dos")
Next Y
Respuesta = MultiplicacionVector(Vector1, Vector2)
For i = 0 To (num And num1)
lstInprimir.AddItem (Respuesta(i))
Next
Case 3
End
End Select
End Sub
Private Function MultiplicacionVector(Vector1() As Integer, Vector2() As Integer) As
Integer()
Dim Resultado() As Integer
Dim i As Long
ReDim Resultado(UBound(Vector2))
For i = LBound(Vector1) To UBound(Vector1)
Resultado(i) = Vector1(i) * Vector2(i)
Next
MultiplicacionVector = Resultado
End Function
Respuesta: El cdigo es eficiente no existe ningn error
Pregunta 17
La Funcion While...End While es similar a la funcion For...Next?
Si o No...? y Porque
No son similares porque las Funciones While...End While y la Instruccin Do...Loop son
cuando no se sabe cuntas veces se necesita ejecutar las instrucciones del bucle
Pero, la funcion For...Next se la utiliza cuando espere ejecutar el bucle con un nmero
concreto de veces.
Pregunta 18
Pregunta 19
Pregunta 20
== Instrucciones FOR EACH NEXT ==
Una instruccin For Each especifica una variable de control de bucle y una expresin
enumeradora. El tipo del valor devuelto por la expresin en una instruccin ForEach debe
ser un tipo de coleccin (como se define ms adelante) y debe existir una conversin
implcita del tipo de elemento de la coleccin en el tipo de la variable de control de bucle.
Una instruccin ForEach...Next repite bucles basados en los elementos de una expresin.
La variable de control de bucle se especifica mediante un identificador seguido por una
clusula As o una expresin. En el caso de un identificador, el identificador define una
nueva variable local del tipo especificado en la clusula As, con el mbito del bucle For
Each completo. Se dice que un tipo C es un tipo de coleccin si implementa
System.IEnumerable o si todo lo siguiente es verdadero:
C contiene un mtodo de instancia accesible con la firma GetEnumerator() que devuelve
un tipo E.
E contiene un mtodo de instancia accesible con la firma MoveNext() y devuelve el tipo
Boolean.
Next [ element ]
Partes
element
Se requiere en la instruccin For Each. Es opcional en la instruccin Next. Variable. Se
utiliza para recorrer en iteracin los elementos de la coleccin.
datatype
Es obligatorio, a menos que element no se haya declarado ya. Tipo de datos de element.
group
Obligatorio. Variable de objeto. Hace referencia a la coleccin sobre la que se debe repetir
la ejecucin de statements.
statements
Opcional. Una o ms instrucciones entre For Each y Next que se ejecutan en cada elemento
de group.
Exit For
Opcional. Transfiere el control fuera del bucle For Each.
Next
Obligatorio. Termina la definicin del bucle For Each.
La instruccin FOR EACH NEXT tiene varias reglas que se debe seguir como las
siguientes: Reglas
Tipos de datos.
El tipo de datos del elemento debe ser tal que el tipo de datos de los elementos del grupo se
puede convertir a la misma. El tipo de datos del grupo debe ser un tipo de referencia que se
refiere a una coleccin o una matriz. Esto significa que el grupo debe hacer referencia a un
objeto que implemente la IEnumerable interfaz del System.Collections el espacio de
nombres o IEnumerable interfaz del System.Collections.Generic espacio de nombres.
IEnumerable define el GetEnumerator mtodo, que devuelve un objeto enumerador para la
coleccin. El objeto enumerador implementa la interfaz IEnumerator interfaz del espacio de
nombres System.Collections y expone a la actual propiedad y el Reset y MoveNext
mtodos. Visual Basic utiliza estas para recorrer la coleccin.
Los elementos del grupo son, generalmente de tipo Object, pero puede
tener cualquier tipo de datos en tiempo de ejecucin.
Declaracin.
Si el elemento no ha sido declarado fuera de este bucle, se debe declarar en el de cada
declaracin. En este caso, el alcance del elemento es el cuerpo del bucle. Sin embargo, no
se puede declarar elemento, tanto fuera como dentro del bucle.
Nmero de iteraciones.
Visual Basic evala la coleccin una sola vez, antes del bucle comienza. Si el bloque de
instrucciones cambios elemento o grupo, estos cambios no afectan a la iteracin del bucle.
Anidacin Loops.
Puede anidar bucles For Each colocando un bucle dentro de otro. Sin embargo, cada bucle
debe tener una variable elemento nico.
Tambin puede anidar distintos tipos de estructuras de control dentro de
otras. Para obtener ms informacin, vea Estructuras de control anidadas
.
asigna valor automticamente a una variable cada vez que se ejecuta el bucle. Por ejemplo,
el siguiente procedimiento cierra todos los formularios excepto el que contiene al
procedimiento que se est ejecutando.
Sub CierraFormul()
For Each frm In Application.Forms
If frm.Caption <> Screen.ActiveForm.Caption Then frm.Close
Next
End Sub
El siguiente cdigo recorre todos los elementos de una matriz e introduce en cada uno de
ellos el valor de la variable ndice I.
Dim PruebaMatriz(10) As Integer, I As Variant
For Each I In PruebaMatriz
PruebaMatriz(I) = I
Next I
En este ejemplo se utiliza la instruccin For Each...Next para buscar la cadena "Hola" en
la propiedad Text de todos los elementos de una coleccin. En el ejemplo, MiObjeto es un
objeto relacionado con texto y es un elemento de la coleccin MiColeccin. Ambos son
nombres genricos utilizados slo a modo de ilustracin.
Dim Found, MiObjeto, MiColeccin
Found = False
' Inicializa variable.
For Each MiObjeto In MiColeccin
' Itera por cada elemento.
If MiObjeto.Text = "Hola" Then
' Si Texto es igual "Hola".
Found = True
' Establece como Verdadero.
Exit For
' Sale del bucle.
End If
Next
Comentarios
Utilice un bucle For Each...Next cuando desee repetir un conjunto de instrucciones para
cada elemento de una coleccin o matriz.
Una Instruccin For...Next (Visual Basic) funciona bien cuando se puede asociar cada
iteracin de un bucle con una variable de control y determinar los valores iniciales y finales
de esa variable. Sin embargo, cuando se trata de colecciones, el concepto de valores
iniciales y finales no es significativo, y no siempre se sabe cuntos elementos tiene la
coleccin. En este caso, el bucle For Each...Next es la mejor opcin.
Reglas
Tipos de datos. El tipo de datos de element debe ser tal que el tipo de datos de los
elementos de group se pueda convertir en l.
El tipo de datos de group debe ser un tipo de referencia que hace referencia a una coleccin
o una matriz. Esto significa que group tiene que hacer referencia a un objeto que
implementa la interfaz IEnumerable del espacio de nombres System.Collections o la
interfaz IEnumerable del espacio de nombres System.Collections.Generic. IEnumerable
define el mtodo GetEnumerator, que devuelve un objeto enumerador para la coleccin. El
objeto enumerador implementa la interfaz IEnumerator del espacio de nombres
System.Collections y expone la propiedad Current y los mtodos Reset y MoveNext. Visual
Basic los utiliza para recorrer la coleccin.
Los elementos de group normalmente son del tipo Object pero pueden tener cualquier tipo
de datos en tiempo de ejecucin.
Declaracin. Si element no se ha declarado fuera de este bucle, se debe declarar en la
instruccin For Each. En tal caso, el mbito de element es el cuerpo del bucle. Sin embargo,
no se puede declarar element fuera y dentro del bucle.
Nmero de iteraciones. Visual Basic slo evala una vez la coleccin, antes de que
comience el bucle. Si el bloque de instrucciones cambia element o group, estos cambios no
afectan a la iteracin del bucle.
Bucles anidados. Se pueden anidar bucles For Each colocando un bucle dentro de otro. Sin
embargo, cada bucle debe tener una variable element nica.
Tambin se pueden anidar entre s tipos diferentes de estructuras de control. Para obtener
ms informacin, vea Estructuras de control anidadas.
Identificar la variable de control. Opcionalmente, puede especificarse element en la
instruccin Next. Esto mejora la legibilidad del programa, sobre todo si se han anidado
bucles For Each. La variable que se especifique debe ser igual a la que aparece en la
instruccin For Each correspondiente.
Transferir fuera del bucle. La Instruccin Exit (Visual Basic) transfiere el control
inmediatamente a la instruccin que sigue a Next. Por ejemplo, puede ser conveniente salir
de un bucle si se detecta una condicin que hace que sea innecesario o imposible continuar
la iteracin, como puede ser un valor errneo o una solicitud de finalizacin. Asimismo, si
se detecta una excepcin en una instruccin Try...Catch...Finally, se puede utilizar Exit For
al final del bloque Finally.
Se puede colocar cualquier nmero de instrucciones Exit For en un bucle For Each. Exit
For se suele utilizar despus de evaluar alguna condicin, por ejemplo en una estructura
If...Then...Else.
Bucles sin fin. Un uso de Exit For es comprobar una condicin que pudiera ocasionar un
bucle sin fin; es decir, un bucle que pudiera ejecutarse un nmero extremadamente elevado
de veces e incluso infinitamente. Si se detecta este tipo de condicin, se puede utilizar Exit
For para escapar del bucle.
Comportamiento
Entrada en el bucle. Cuando comienza la ejecucin del bucle For Each...Next, Visual Basic
comprueba que group hace referencia a un objeto de coleccin vlido. Si no, produce una
excepcin. De lo contrario, llama al mtodo MoveNext y a la propiedad Current del objeto
enumerador para devolver el primer elemento. Si MoveNext indica que no hay un elemento
siguiente, es decir, si la coleccin est vaca, el bucle For Each termina y el control pasa a
la instruccin que sigue a Next. De lo contrario, Visual Basic establece element en el primer
elemento y ejecuta el bloque de instrucciones.
Iteraciones del bucle. Cada vez que Visual Basic encuentra la instruccin Next, vuelve a la
instruccin For Each. Llama de nuevo a MoveNext y Current para devolver el elemento
siguiente, y una vez ms ejecuta el bloque o termina el bucle segn el resultado. Este
proceso contina hasta que MoveNext indica que no hay ningn elemento siguiente o se
encuentra una instruccin Exit For.
Terminacin del bucle. Cuando todos los elementos de la coleccin se han asignado
correctamente a element, el bucle For Each termina y el control pasa a la instruccin que
sigue a Next.
Cambiar los valores de iteracin. Cambiar el valor de element mientras se est dentro de un
bucle puede dificultar la lectura y la depuracin del cdigo. Cambiar el valor de group no
afecta a la coleccin o sus elementos, que se determinaron en el momento de entrar en el
bucle.
Orden de recorrido. Cuando se ejecuta un bucle For Each...Next, el recorrido de la
coleccin est bajo el control del objeto enumerador devuelto por el mtodo
GetEnumerator. El orden de recorrido no lo determina Visual Basic, sino el mtodo
MoveNext del objeto enumerador. Esto significa que tal vez no se pueda predecir qu
elemento de la coleccin es el primero que se devuelve en element o qu elemento es el
siguiente en ser devuelto tras un elemento dado.
Si el cdigo utilizado depende del recorrido de una coleccin en un orden concreto, un
bucle For Each...Next no es la mejor opcin a menos que conozca las caractersticas del
objeto enumerador que expone la coleccin. Es posible obtener resultados ms fiables si se
utiliza una estructura de bucle diferente, tal como For...Next o Do...Loop.
Modificar la coleccin. El objeto enumerador devuelto por GetEnumerator normalmente no
permite que se agreguen, eliminen, reemplacen o reordenen elementos de la coleccin. Si se
modifica la coleccin despus de haber iniciado un bucle For Each...Next, el objeto
enumerador deja de ser vlido y el siguiente intento de acceso a un elemento produce una
excepcin InvalidOperationException.
Sin embargo, este bloqueo de la modificacin no viene determinado por Visual Basic sino
por la implementacin de la interfaz IEnumerable. Es posible implementar IEnumerable de
modo que se permita la modificacin durante la iteracin. Si piensa realizar este tipo de
modificacin dinmica, asegrese de conocer las caractersticas de la implementacin de
IEnumerable en la coleccin que est utilizando.
Modificar los elementos de coleccin. La propiedad Current del objeto enumerador es
ReadOnly (Visual Basic) y devuelve una copia local de cada elemento de la coleccin. Esto
significa que no es posible modificar los propios elementos en un bucle For Each...Next.
Cualquier modificacin que se realice afectar slo a la copia local de Current y no se ver
reflejada de nuevo en la coleccin subyacente. Sin embargo, si un elemento es un tipo de
referencia, es posible modificar los miembros de la instancia a los que apunta. Esto se
ilustra en el siguiente ejemplo:
CopiarSub lightBlueBackground(ByVal thisForm As System.Windows.Forms.Form)
Banco de Preguntas
Pregunta 1
cual es la funcion de las instrucciones For Each Next? Las instrucciones "For Each Next"
Repiten un grupo de instrucciones para cada elemento de una coleccin.
Pregunta 2
Cul es la funcin de EXIT FOR?
a. Transfiere el control fuera del bucle For Each.
b. Termina la definicin del bucle For Each.
Respuesta: a
Pregunta 3
Pregunta 4
Next
Pregunta 20
Texto en negrita== Intrucciones WITH==
"Ejecuta una serie de instrucciones que hacen referencia repetidas veces a un nico objeto o
estructura"
OBJETO Cuando se crea una aplicacin en Visual Basic, se trabaja con objetos
constantemente. Se pueden utilizar objetos proporcionados por Visual Basic, como
controles, formularios y objetos de acceso a datos. Tambin se pueden usar los objetos de
otras aplicaciones dentro de su aplicacin de Visual Basic. Incluso pueden crearse objetos
propios y agregarles propiedades y mtodos adicionales. Los objetos actan como unidades
de creacin prefabricadas para programas: permiten escribir una porcin de cdigo y
utilizarla una y otra vez.
Es una combinacin de cdigo y datos que pueden tratarse como una unidad, puede ser una
porcin de una aplicacin, como un control o un formulario.
En Visual Basic, los eventos estn ligados a objetos especficos y tienen su cdigo de
control de eventos. Por ejemplo, en un formulario con un botn y un men, cada uno tiene
su evento Click; hay que escribir cdigo para cada uno en el controlador de eventos, aunque
los dos realicen la misma funcin.
Copiar' Visual Basic 6.0 Private Sub HelpButton_Click()
HelpButton.Caption = "Help me!"
End Sub
Los objetos permiten declarar variables y procedimientos una vez y utilizarlos siempre que
sean necesarios. Por ejemplo, si desea agregar un corrector ortogrfico a una aplicacin,
puede definir todas las variables y funciones auxiliares para proporcionar funcionalidad de
correccin ortogrfica. Si crea el corrector ortogrfico como una clase, puede volver a
utilizarlo en otras aplicaciones mediante la inclusin de una referencia en el ensamblado
compilado. An mejor, tal vez pueda ahorrarse trabajo mediante el uso de una clase de
corrector ortogrfico que otra persona ya haya desarrollado.
Reutilizar el cdigo
Los objetos permiten declarar variables y procedimientos una vez y utilizarlos siempre que
sean necesarios. Por ejemplo, si desea agregar un corrector ortogrfico a una aplicacin,
puede definir todas las variables y funciones auxiliares para proporcionar funcionalidad de
correccin ortogrfica. Si crea el corrector ortogrfico como una clase, puede volver a
utilizarlo en otras aplicaciones mediante la inclusin de una referencia en el ensamblado
compilado. An mejor, tal vez pueda ahorrarse trabajo mediante el uso de una clase de
corrector ortogrfico que otra persona ya haya desarrollado. Clases
Cada objeto de Visual Basic est definido por una clase. Una clase describe las variables,
propiedades, procedimientos y eventos de un objeto. Los objetos son instancias de clases;
pueden crearse tantos objetos como sean necesarios una vez que se defina una clase.
Dos ejemplos en Visual Basic podran ayudar a ilustrar la relacin entre las clases y objetos.
PROPIEDADES
Propiedad es el atributo de un objeto que define una de las caractersticas del objeto, tal
como su tamao, color o localizacin en la pantalla, o un aspecto de su comportamiento,
por ejemplo si est visible o activado. Para cambiar las caractersticas de un objeto, se
cambia el valor de sus propiedades.
Algunas propiedades no solo determinan el aspecto que tiene el objeto, sino que adems
pueden determinar su comportamiento; por ejemplo, la propiedad MaxButton establece si el
formulario tendr o no el botn Maximizar. La presencia o ausencia de este botn
determinar si el formulario se puede o no maximizar.
METODOS
Los mtodos son un conjunto de procedimientos que permiten que un objeto ejecute una
accin o tarea sobre s mismo. Por ejemplo, para un formulario tenemos el mtodo Hide
que har que el formulario se oculte; o el mtodo Show que har que el formulario se
vuelva a mostrar, tambien es un procedimiento que se aplica a un objeto. Por ejemplo, Add
es un mtodo del objeto ComboBox ya que sirve para aadir un nuevo elemento a un
cuadro combinado.
EVENTOS
Un evento es una accin que es reconocida por el objeto. Un evento ocurre (se dispara)
como resultado de la interaccin del usuario con el objeto. Tambin puede dispararse
debido a la ejecucin de cdigo (sentencias) o como resultado de la interaccin de otro
objeto con el objeto de poseedor del evento. Para un formulario tenemos por ejemplo; el
evento Load que se dispara cuando se carga el formulario; o el evento Click para un botn
de comando, se dispara cuando se hace clic sobre l.
Mtodo:
Sub Nombre_del_Metodo (Parmetros_Requeridos)
(lneas de cdigo)
End sub
Funciones:
Function Nombre_de_la_Funcion (Parmetros_Requeridos) as Valor_a_devolver
(lneas de cdigo)
Nombre_de_la_funcion = Valor
End function
Como ya supongo que ustedes saben ya de esto, ahora vamos a explicar los Eventos, los
eventos son aquellas reacciones de un control sobre algo que sucede a su alrededor, es
decir, cuando se pulsa una tecla en un control se produce un evento que se llama Keypress,
nosotros podemos ah codificar como va reaccionar el control cuando se presione una
determinada tecla, los eventos son muchos (MOUSEDOWN, MOUESUP, GETFOCUS,
etc) dependiendo del tipo de control, cuando nosotros creamos un control podemos utilizar
eventos ya creados o crear nuestros propios eventos. OBJETOS
Los objetos son el elemento central de la programacin en Visual Basic. Los formularios y
controles son objetos. Las bases de datos son objetos.
Procedimientos
Un procedimiento es un bloque de instrucciones de Visual Basic incluido entre una
instruccin de declaracin (Function, Sub, Operator, Get, Set) y una declaracin End
correspondiente. En Visual Basic, todas las instrucciones ejecutables deben incluirse en
algn procedimiento. Los procedimientos se invocan desde otras partes del cdigo. Esto se
conoce como una llamada a procedimiento. Cuando finaliza la ejecucin de un
procedimiento, ste devuelve el control al cdigo que lo invoc, que recibe el nombre de
cdigo de llamada. El cdigo de llamada es una instruccin o una expresin contenida en
una instruccin, que hace referencia al procedimiento por su nombre y le transfiere el
control. Procedimientos y cdigo estructurado Todas las lneas de cdigo ejecutable de una
aplicacin deben encontrarse dentro de un procedimiento, por ejemplo, Main, calculate o
Button1_Click. La aplicacin se leer con mayor facilidad si subdivide los procedimientos
Tipos de procedimientos
Procedimientos Sub: ejecutan acciones pero no devuelven un valor al cdigo de llamada.
Los procedimientos de control de eventos son procedimientos Sub que se ejecutan en
respuesta a un evento provocado por una accin del usuario o por un suceso en un
programa.
Procedimientos Function: devuelven un valor al cdigo de llamada. Pueden realizar otras
acciones antes de volver.
Procedimientos de propiedad: devuelven y asignan valores de propiedades en objetos o
mdulos.
Procedimientos de operador: definen el comportamiento de un operador estndar cuando
uno o los dos operandos son una clase definida recientemente o una estructura.
La sintaxis es:
Sub nombre (parametro1, parametro2...)
... Cdigo del procedimiento
End Sub
Banco de Preguntas
Pregunta 1
QU ES UN PROCEDIMIENTO?
Un procedimiento es el lenguaje(codigo) con el que podras manipular los objetos de Excel
y crear tus propias aplicaciones(claro mas adelante) por ahora macros utiles.
Un procedimiento es un bloque de instrucciones de Visual Basic incluido entre una
instruccin de declaracin (Function, Sub, Operator, Get, Set) y una declaracin End
correspondiente. En Visual Basic, todas las instrucciones ejecutables deben incluirse en
algn procedimiento.
Pregunta 2
CMO SE LLAMA A UN PROCEDIMIENTO?
Para llamar a un procedimiento basta con que se escriba el nombre que se le ha asignado a
dicho procedimiento en la lnea de cdigo en donde sea requerido.
Los procedimientos se invocan desde otras partes del cdigo. Esto se conoce como una
llamada a procedimiento. Cuando finaliza la ejecucin de un procedimiento, ste devuelve
el control al cdigo que lo invoc, que recibe el nombre de cdigo de llamada. El cdigo de
llamada es una instruccin o una expresin contenida en una instruccin, que hace
referencia al procedimiento por su nombre y le transfiere el control.
Pregunta 3
Seleccione la respuesta correcta
Cuales de los siguientes son tipos de Procedimiento?
a. Procedimientos Function
b. Procedimientos de propiedad
c. Procedimientos de operador
d. Procedimientos Sub
e. Procedimiento select
f. todas las anteriores
g. son correctas a,b,c,d
Respueta: g
Pregunta 5
enumere los tipos de procedimientos?
Procedimientos Sub: ejecutan acciones pero no devuelven un valor al cdigo de llamada.
Los procedimientos de control de eventos son procedimientos Sub que se ejecutan en
respuesta a un evento provocado por una accin del usuario o por un suceso en un
programa.
Procedimientos Function: devuelven un valor al cdigo de llamada. Pueden realizar otras
acciones antes de volver.
Pregunta 6
Un procedimiento se puede anidar dentro de otro procedimiento
Elija la respuesta correcta
a) si
b) no
respuesta
no
Pregunta 7
QUE ES UN METODO
Los mtodos son un conjunto de procedimientos que permiten que un objeto ejecute una
accin o tarea sobre s mismo.
Pregunta 8
QUE SON CONTROLES
Son los objetos que conforman la interfaz grfica de un programa; a travs de ellos, un
usuario interacta con la aplicacin. Sus caractersticas pueden cambiarse por medio de la
ventana propiedades.
Pregunta 9
QUE SON CLASES
Una clase no es nada mas que un Objeto, este objeto, tiene propiedades, funciones y
mtodos. Para empezar ahora la creacin de propiedades si se utiliza Property Let y
Property Get.
Pregunta 10
PARA QUE SIRVE EL COMANDO MID? Sirve para coger el valor por posicion de una
cadena de caracteres.
EJEMPLO:
NUM(5) = Mid(CELULAR, 6, 1)
NUM(6) = Mid(CELULAR, 7, 1)
NUM(7) = Mid(CELULAR, 8, 1)
NUM(8) = Mid(CELULAR, 9, 1)
For I = 0 To 8
ListBox1.AddItem NUM(I)
Next
End Sub
Pregunta 11
GUARDAR ARCHIVOS CON MACROS
Cuando guardamos un archivo y queremos que las Macros que hemos creado se almacenen
con el resto de las hojas de clculo deberemos utilizar un tipo de archivo diferente.
Para ello deberemos ir al Botn Office y seleccionar la opcin Guardar como.
Se abrir el cuadro de dilogo Guardar como. En el desplegable Guardar como tipo
seleccionar Libro de Excel habilitado para macros (*.xlsm).
Esto ocurre porque Office no conoce la procedencia de las Macros. Como estn compuestas
por cdigo podran realizar acciones que fuesen perjudiciales para nuestro equipo.
Si confas en las posibles Macros que contuviese el archivo o las has creado t pulsa el
botn Opciones para activarlas.
Aparecer este cuadro de dilogo:
Pregunta 12
Un objeto o control tiene distintas propiedades las cuales solo se puede
cambiar(capturar) visualmente. Esto es Cierto o no explique?
Esta afirmacin es negativa. Porque todo objeto o control puede ser modificado con sus
propiedades tanto visualmente como por cdigo segn sea la necesidad del programador o
de la aplicacin a realizar.
Pregunta 13
QUE ES UN OBJETO?
Es una combinacin de cdigo y datos que pueden tratarse como una unidad, puede ser una
porcin de una aplicacin, como un control o un formulario.
Pregunta 14
CONTROL LISTBOX VISUAL BASIC
Pregunta 15
Cules son las ventajas de reutilizar el cdigo?
El objetivo es que reutilizando el codigo mediante funciones o metodos ademas de ahorrar
el espacio de memoria del programa podemos agilitar los procesos que deseamos que se
realizen . otra ventaja muy importante es que mediante una funcin podemos reducir de una
manera ptima el cdigo utilizado dentro de una aplicacin .
Pregunta 16
En que consisten los procedimientos Sub?
Pregunta 17
Cul es la sintaxis que se utiliza en los procedimientos Sub? y escriba un ejemplo
La sintaxis para declarar un procedimiento Sub es la siguiente:
[modifiers] Sub subname[(parameterlist)]
Ejemplo:
Sub Procedimientos()
Dim a As Integer
Dim b As Integer
Dim c As Integer
Dim d As Integer
Dim e As Integer
Dim f As Integer
Dim g As Integer
a = InputBox("Ingrese primer valor:")
b = InputBox("Ingrese segundo valor:")
c = Suma(a, b)
d = Resta(a, b)
e = Multiplicacin(a, b)
f = Divisin(a, b)
g = Potencia(a, b)
MsgBox c
MsgBox d
MsgBox e
MsgBox f
MsgBox g
End Sub
Pregunta 18
Qu son procedimientos genricos en Visual Basic?
Un procedimiento genrico, tambin denominado mtodo genrico, es el que est definido
con al menos un parmetro de tipo. Esto permite que el cdigo de llamada ajuste los tipos
de datos a sus requisitos cada vez que llama al procedimiento.
El simple hecho de estar definido dentro de una clase o estructura genrica no convierte en
genrico al procedimiento. Para ser genrico, el procedimiento debe tomar por lo menos un
parmetro de tipo, adems de cualquier otro parmetro normal que pueda a tomar. Una
clase o estructura genrica puede contener procedimientos que no sean genricos; y las
clases, estructuras o mdulos no genricos pueden contener procedimientos genricos.
Un procedimiento genrico puede utilizar los parmetros de tipo en su lista de parmetros
normales, en su tipo de valor devuelto, si existe, y en su cdigo de procedimiento.
Pregunta 19
Cmo utilizar una clase genrica?
Una clase que toma parmetros de tipo se denomina clase genrica. Si est utilizando una
clase genrica, puede generar una clase construida desde ella proporcionando un tipo de
argumento para cada uno de estos parmetros. Entonces puede declarar una variable del
tipo de clase construida, crear una instancia de clase construida y asignarla a esa variable.
Adems de las clases, tambin puede definir y utilizar estructuras genricas, interfaces,
procedimientos y delegados.
El procedimiento siguiente toma una clase genrica definida en .NET Framework y crea
una instancia a partir de ella.
Para utilizar una clase que toma un parmetro de tipo Al principio de su archivo de cdigo
fuente, incluya una Imports (Instruccin) para importar el espacio de nombres
System.Collections.Generic. As podr hacer referencia a la clase
System.Collections.Generic.Queue sin necesidad de asignarle un nombre completo para
diferenciarla de otras clases de cola como System.Collections.Queue.
Cree el objeto de la manera normal, pero agregue (Of type) inmediatamente despus del
nombre de clase.
El ejemplo siguiente utiliza la misma clase (System.Collections.Generic.Queue) para crear
dos objetos de cola que contienen elementos de distintos tipos de datos. As se agregan los
elementos al final de cada cola y, a continuacin, se quitan y muestran los elementos del
principio de cada cola.
End Sub
Pregunta 20
Qu son los procedimientos de propiedad?
Un procedimiento de propiedad es una serie de instrucciones de Visual Basic que
manipulan una propiedad personalizada en un mdulo, una clase o una estructura. Los
procedimientos Property tambin se conocen como descriptores de acceso de propiedades.
Visual Basic proporciona los procedimientos de propiedad siguientes:
Un procedimiento Get devuelve el valor de una propiedad. Se le llama al tener acceso a la
propiedad en una expresin.
Un procedimiento Set establece una propiedad en un valor, incluida una referencia a objeto.
Se le llama al asignar un valor a la propiedad.
Se suelen definir procedimientos de propiedad en pares, mediante las instrucciones Get y
Set, pero tambin se puede definir uno de los procedimientos solamente si la propiedad es
de slo lectura (Get (Instruccin)) o de slo escritura (Instruccin Set (Visual Basic)).
Las propiedades pueden definirse en clases, estructuras y mdulos. Las propiedades son
Public de manera predeterminada, lo que significa que es posible llamarlas desde cualquier
parte de la aplicacin que tenga acceso al contenedor de propiedades.
El examinador de objetos
Puede obtener ayuda acerca del Examinador de objetos buscando Examinador de objetos en
Ayuda. Un cuadro de dilogo q le permite examinar el contenido de una biblioteca de
objetos para obtener informacin sobre los objetos que proporciona.
Aprueba diferenciar entre las propiedades integradas, mtodos y procedimientos definidos
por el interesado.
Muestra qu elementos son accesibles globalmente.
Muestra que la funcin devolver nombres de parmetro y tipos de tipos y definido por el
usuario.
Muestra en el panel Objetos las estructuras jerrquicas dentro del mbito de exploracin
actual. Este pued expandir las estructuras del panel Objetos para poder de esta maneera ver
listas ordenadas de sus miembros.
Al expandir un objeto, tambin enumera los objetos disponibles q puedes usar en tu
proyecto y t proporciona una manera rpida de desplazarte a travs del cdigo. Puedes usar
el Examinador de objetos para explorar objetos en Visual Basic y otras aplicaciones, ver
qu mtodos y propiedades estn disponibles para esos objetos, y pegar cdigo de
procedimientos en tu aplicacin.
Para abrirlo, basta con pulsar F2
El desplegable donde pone Todas sirve para elegir una parte de todo lo que nos puede
mostrar. En este caso est mostrando todo lo que tienen el proyecto. Si observa la figura de
la pgina siguiente ver que est desplegado, mostrando todas las referencias y controles
que tienen en ese momento.
Puede ver que tienen el MSCommDlg, porque a ese proyecto le habamos introducido el
CommonDialog. Si seleccionamos ese control, nos aparecen en la ventana Classes todas las
colecciones que tiene el CommonDialog, entre ellas el propio control, que si lo
seleccionamos, en la ventana de la derecha, (Miembros) aparecern todas la propiedades,
los mtodos, y los eventos (Claro que un CommonDialog no tienen eventos, pero s
aparecern si mostramos cualquier otro control)
Si le aadimos ahora una referencia (El acceso a una base de datos mediante DAO, por
ejemplo) aparecer esa referencia en la lista desplegable.
Los controles bsicos aparecen en la referencia VB. Aparecen concretamente los controles
que figuran en la barra de herramientas al abrir un nuevo proyecto. Si aadimos ms
componentes (Haciendo clic en la barra de men Proyecto | Componentes) veremos que
aparecen nuevos controles en el desplegable.
Examinador de objetos
El Examinador de objetos le permite seleccionar y examinar los smbolos que se pueden
utilizar en proyectos. Puede abrir el Examinador de objetos desde el men Ver o haciendo
clic en el botn Examinador de objetos de la barra de herramientas principal.
Hay tres paneles: un panel Objetos a la izquierda, un panel Miembros en la parte superior
derecha y un panel Descripcin en la parte inferior derecha. Si cambia el tamao del
Examinador de objetos para que slo tenga una columna, el panel Objetos se desplazar a la
parte superior, el panel Miembros al medio y el panel Descripcin a la parte inferior.
En el panel Objetos, los iconos identifican las estructuras jerrquicas como componentes
.NET Framework y COM, espacios de nombres, bibliotecas de tipos, interfaces,
enumeraciones y clases. Puede expandir estas estructuras para mostrar listas ordenadas de
sus miembros. En el panel Miembros se muestran propiedades, mtodos, eventos, variables,
constantes y otros elementos contenidos. En el panel Descripcin se muestran detalles
sobre el elemento seleccionado en el panel Objetos o Miembros.
El mbito de exploracin se puede restringir a los proyectos que est desarrollando y a los
componentes a los que hacen referencia, o bien se puede ampliar para incluir todo .NET
Framework, todos los componentes COM instalados en el equipo y todos los componentes
externos a los que puede tener acceso. Tambin puede especificar un conjunto
personalizado de carpetas para examinar. Para obtener ms informacin, vea Cmo: Ver y
modificar el mbito de exploracin.
Para poder desplazarse de un smbolo a un smbolo relacionado se debe seguir los
siguientes pasos:
1. Seleccione el smbolo en el panel Objetos o Miembros.
De esta forma, se actualiza el panel Descripcin y en l se muestran los smbolos
relacionados, como el objeto primario, los tipos de parmetros y de valores devueltos, y los
valores constantes predeterminados.
2. En el panel Descripcin, haga clic en el vnculo del smbolo que desee.
El Examinador de objetos mostrar el smbolo relacionado y este smbolo se agregar al
historial.
Y para desplazarse por el historial se debe hacer lo siguiente:
Haga clic en el botn Atrs (flecha izquierda) para volver al smbolo seleccionado
anteriormente. Puede repetir esta operacin varias veces para desplazarse por los smbolos
previamente seleccionados hasta que llegue al primer elemento examinado
Nombre
Muestra los nombres de las variables locales visibles.
Valor
Muestra los valores actuales de las variables locales visibles.
Tipo
Muestra los caracteres que representan los tipos de datos de las
variables locales visibles.
Use el men contextual para controlar la categora de las variables que se mostrarn.
Para ver los valores de los elementos de matrices o propiedades de objeto, haga clic en el
cuadro a la izquierda del nombre de objeto o matriz. La ventana Locales le permite ver las
propiedades de todos los objetos en forma de jerarqua de contenedores.
Muestra automticamente todas las variables locales declaradas en el procedimiento actual
y sus valores. se actualiza automticamente cada vez que existen cambios.
Cuando est visible la ventana Locales, se actualiza automticamente cada vez que hay un
cambio desde Ejecutar en el Modo de interrupcin o que navega en presentacin apilada.
Puede:
Cambiar el tamao de los encabezados de columnas arrastrando el borde a la derecha e
izquierda.
Cerrar la ventana haciendo clic en el cuadro Cerrar. Si no est visible el cuadro Cerrar, haga
doble clic en la barra Ttulo para hacer visible el cuadro Cerrar, despus haga clic en l.
PARTES DE LA VENTANA LOCALES:
Expresin.- Muestra el nombre de las variables; no se pueden editar datos en esta columna.
Las variables globales y las variables en otros proyectos no son accesibles desde la
ventana de Locales.
Se puede editar un valor y, despus, presionar Enter, Flecha arriba, Flecha abajo,
Tab, Mays-Tab, o hacer clic en la pantalla para validar el cambio.
Prueba a redefinirla como Public Function Ultima() as long. Algo parecido a sto:
Cdigo:
Public Function Ultima() As Long
On Local Error Resume Next
Ultima = Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row
End Function
Los cuadros de dilogo y comandos de men que se ven pueden diferir de los descritos en
la Ayuda, en funcin de los valores de configuracin o de edicin activos. Para cambiar la
configuracin, elija Importar y exportar configuraciones en el men Herramientas. Para
obtener ms informacin, vea Valores de configuracin de Visual Studio. Para realizar
interrupciones al producirse excepciones de Common Language Runtime
1. En el men Depurar, haga clic en Excepciones.
2. Active las casillas de verificacin que aparecen junto a Excepciones
de Common Language Runtime.
El primer beta del Microsoft Office 2007, referido como Beta-1 en los email enviados a un
nmero limitado de probadores, fue lanzado el 16 de noviembre de 2005. Los Beta-1
tcnicos restauran fueron lanzados a los probadores el 13 de marzo de 2006. El tcnicos
restauran ediciones fijas en la instalacin con la estructura 5308 de Windows Vista. La
oficina 2007 2 beta fue anunciada cerca Bill Gates en WinHEC 2006, y fue lanzado
inicialmente al pblico en ningn coste del Web site de Microsoft. Sin embargo, debido a
un nmero sin precedente de transferencias directas, un honorario de $1.50 fue introducido
para cada producto descargado despus del 2 de agosto de 2006. El beta fue puesta al da el
14 de septiembre de 2006 en 2 beta tcnicos restaura (Beta2TR). Incluy un interfaz del
usuario en modo actualizacin, una ayuda mejor de la accesibilidad, mejoras en la robustez
de la plataforma, y una mayor funcionalidad. Las versiones beta continuaron funcionando
en un modo reducido de la funcionalidad despus del 1 de febrero de 2007. Si los usuarios
descargaron el tcnico restaure para poner al da 2 beta, despus los usuarios podran
utilizar su funcionalidad completa hasta el 31 de marzo de 2007 para los productos y el 15
de mayo de 2007 del cliente para los productos del servidor. El programa beta terminado el
8 de noviembre de 2006, cuando Microsoft declar el producto lanzado a la fabricacin
(RTM) y comenzado a fabricar el producto final. Despus de RTM, la disponibilidad de la
transferencia directa beta terminada. La oficina 2007 fue lanzada a los clientes que
Nuevas caractersticas
Interfaz utilizador
El nuevo interfaz utilizador (UI), conocido oficialmente como Microsoft Office fluido,[11]
[12] se ha puesto en ejecucin en los usos del Microsoft Office de la base: Palabra, Excel,
PowerPoint, Acceso, y en el inspector del artculo usado para crear o para corregir artculos
individuales adentro Perspectiva. Estos usos se han seleccionado para el
reacondicionamiento de UI porque se centran alrededor de ser autor del documento[13]. El
resto de los usos en la habitacin tambin ser aumentado al UI nuevo en versiones
subsecuentes.[14] La fuente del defecto usada en esta edicin es Calibri. Los prototipos
originales del nuevo interfaz utilizador fueron revelados en MEZCLA 2008 adentro Las
Vegas.[15]
Botn de la oficina
El botn de la oficina 2007, situado en el tapa-izquierdo de la ventana, substituye Archivo
el men y proporciona el acceso a la funcionalidad comn a travs de todos los usos de la
oficina, incluyendo la abertura, ahorro, imprimiendo, y compartiendo un archivo. Puede
tambin cerrar el uso. Los usuarios pueden tambin elegir los esquemas de color para el
interfaz.
Cinta
Cinta, un panel que contiene los botones y los iconos de comando, organiza comandos
como sistema de Lengetas, cada comandos relevantes que agrupan. Cada uso tiene un
diverso sistema de las lengetas que exponen la funcionalidad que el uso ofrece. Por
ejemplo, mientras que el Excel tiene una lengeta para las capacidades de representacin
grfico grficamente, la palabra no ofrece igual; en lugar tiene lengetas para controlar el
formato de un documento del texto. Dentro de cada lengeta, las varias opciones
relacionadas se pueden agrupar juntas. Cinta se disea hacer las caractersticas del uso ms
discoverable y accesibles con pocos tecleos del ratn[16] con respecto al UI menu-based
utiliz hasta la oficina 2007. No es posible quitar la cinta, modificarla, o substituirla por los
mens por las funciones normales de la oficina 2007. Sin embargo, la cinta se puede
reducir al mnimo simplemente por el doble que chasca el ttulo de la seccin activa, e.g el
texto casero en el cuadro abajo.[17]Hay las agregaciones de los terceros que pueden traer
mens a la oficina 2007. Cinta en el PowerPoint 2007 de Microsoft
Lengetas del contexto
Algunas lengetas, llamadas Lengetas del contexto, aparezca solamente cuando se
seleccionan ciertos objetos. Las lengetas del contexto exponen especfico de la
funcionalidad solamente al objeto con el foco. Por ejemplo, seleccionar un cuadro trae para
arriba Cuadros lengeta, que presenta las opciones para ocuparse del cuadro.
Semejantemente, el centrarse en una tabla expone opciones tabla-relacionadas en un cuadro
especfico. Las lengetas del contexto siguen ocultadas cuando el objeto que trabaja
encendido no se selecciona.
SmartArt
Artculo principal: SmartArt
Cristal del texto aparece al lado de l dirigir al usuario a travs del texto el entrar en los
niveles jerrquicos. Cada grfico de SmartArt, basado en su diseo, traz el contorno del
texto, vuelto a clasificar segn el tamao automticamente para el mejor ajuste, sobre el
grfico. Hay un nmero de estilos rpidos para cada grfico que aplican efectos en gran
parte diversos 3D al grfico, y las formas y el texto del grfico se pueden ajustar a formato
con estilos de la forma y WordArt estilos. Adems, los grficos de SmartArt cambian sus
colores, fuentes, y efectos para emparejar el tema del documento.
Formatos del archivo
Oficina XML abierto
Artculo principal: Oficina XML abierto
El Microsoft Office utiliza un nuevo formato del archivo, llamado la oficina XML abierto,
como el formato del archivo del defecto. Los documentos de la palabra (sin extensiones
macro) ahora se ahorran usando una extensin de .docx ms bien que la extensin
tradicional de .doc. La palabra 2007 puede tambin ahorrar documentos en el viejo formato
que es compatible con versiones anteriores de la palabra. Adems, Microsoft ha hecho
disponible una agregacin libre conocida como el paquete de la compatibilidad del
Microsoft Office que deja las ediciones de la oficina 2000-2003 abiertas, las corrige, y
excepto los documentos creados bajo nuevo formato 2007.
La oficina XML abierto se basa encendido XML y aplicaciones CIERRE RELMPAGO
envase del archivo. Segn Microsoft, los documentos creados en este formato son los hasta
75% ms pequeos que los mismos documentos ahorrados con formatos anteriores del
archivo del Microsoft Office, debido a la compresin de datos.[18] Excel del Microsoft
Office y PowerPoint del Microsoft Office tambin utilice el nuevo OOXML formatos del
archivo. Los archivos de la palabra que contienen macros se ahorran con la extensin
.docm.
Pdf
Microsoft haba anunciado inicialmente que apoyar la exportacin a Formato de
documento portable (pdf) en la oficina 2007. Sin embargo, debido a las objeciones legales
de Sistemas del adobe, La oficina 2007 no tiene ayuda del pdf fuera de la caja, sino la
ofrece algo como transferencia directa libre separada.[19][20]
XPS
Los documentos de la oficina 2007 se pueden tambin exportar como XPS documentos, va
otro plug-in libre que es tambin una transferencia directa separada.
OpenDocument
Microsoft mueve hacia atrs un esfuerzo de la abrir-fuente de apoyar OpenDocument en la
oficina 2007, as como versiones anteriores (hasta la oficina 2000), a travs de un
La perspectiva del Microsoft Office puede tambin incluir a un encargado opcional del
contacto de negocio que permita la gerencia de los contactos de negocio y de sus ventas y
actividades de la comercializacin. Las llamadas telefnicas, los E-maices, las citas, las
notas y la otra mtrica del negocio se pueden manejar para cada contacto. Puede tambin
guardar una pista de la hora facturable para cada contacto en el calendario de la perspectiva.
De acuerdo con estos datos, una opinin consolidada del informe se puede generar por
perspectiva del Microsoft Office con el encargado del contacto de negocio. Los datos se
pueden analizar ms a fondo usando Excel del Microsoft Office. Estos datos se pueden
tambin compartir usando los servicios de SharePoint.
Excel del Microsoft Office
Artculo principal: Microsoft Excel
* Apoye hasta 1.048.576 filas y 16.384 columnas en una sola hoja de
trabajo, con 32.767 caracteres en un unicelular (17.179.869.184 clulas
en una hoja de trabajo, 562.932.773.552.128 caracteres en una hoja de
trabajo)[27]
* Formato condicional introduce la ayuda para tres nuevas
caractersticas - Escalas de color, Sistemas del icono y Barras de los
datos
o Escalas de color, que colorean automticamente el fondo de un
grupo de clulas con diversos colores segn los valores.
o Sistemas del icono, que preceden el texto en una clula con un
icono que represente un cierto aspecto del valor de la clula con
respecto a otros valores en un grupo de clulas, puede tambin ser
aplicado. Los iconos se pueden aplicar condicional a demuestran para
El servidor 2007 de SharePoint del Microsoft Office permite que compartan y que corrigen
de colaboracin de documentos de la oficina 2007. Permite el almacenaje central de
documentos y la gerencia de los documentos de la oficina, a travs de la empresa. Estos
documentos se pueden alcanzar cualquiera por los usos que los crearon, la perspectiva 2007
del Microsoft Office, o un web browser. Los documentos se pueden tambin manejar con
las polticas predefinidas que dejan a usuarios crear y publicar el contenido compartido, a
travs de un sitio de SharePoint.
El servidor de SharePoint permite buscar de todos los documentos de la oficina que estn
siendo manejados por l, centralmente, de tal modo haciendo datos ms accesibles.
Tambin proporciona el control de acceso para los documentos. Los componentes
especializados del servidor pueden tapar en el servidor de SharePoint para ampliar la
funcionalidad del servidor, por ejemplo Servicios del Excel exponer los servicios del
anlisis de datos para los servicios del Excel. Los datos de otras fuentes de datos se pueden
tambin combinar con datos de la oficina.
SharePoint tambin deja a usuarios personalizar los sitios de SharePoint, filtrando el
contenido que estn interesados pulg. Los documentos de SharePoint se pueden tambin
localmente depositar por los clientes para fuera de lnea corregir; los cambios se combinan
ms adelante.
Servidor 2007 de las formas
Artculo principal: Servidor de las formas del Microsoft Office
El servidor 2007 de las formas del Microsoft Office permite que llenaas las formas de
InfoPath sean alcanzadas y hacia fuera usando cualquier browser, incluyendo los browsers
del telfono mvil. El servidor 2007 de las formas tambin apoya con la base de datos o la
otra fuente de datos como el back-end para la forma. Adems, permite el despliegue y la
gerencia centralizados de formas. El servidor 2007 de las formas recibi la validacin de
los datos de apoyo de las formas tambin y el formato condicional, al igual que sus
contrapartes de InfoPath. Tambin apoya controles avanzados como Repeticin de la
seccin y Repeticin de la tabla. Sin embargo, algunos controles de InfoPath no pueden ser
utilizados si tiene que ser recibido en un servidor de las formas.
Servidor 2007 del surco
Artculo principal: Servidor del surco del Microsoft Office
El servidor 2007 del surco del Microsoft Office est para centralmente manejar todos los
despliegues de Surco del Microsoft Office 2007 en la empresa. Permite con Directorio
activo para el surco el usuario considera, y crea el surco Dominios, con los ajustes
individuales de la poltica. Permite que los espacios de trabajo del surco sean recibidos en
el servidor, y los archivos en los espacios de trabajo hicieron disponible para corregir de
colaboracin va el cliente del surco. Tambin incluye Puente de los datos del servidor del
surco componente para permitir la comunicacin entre los datos almacenados en los
clientes del surco y servidores y usos externos.
El servidor 2007 del proyecto del Microsoft Office permite que uno centralmente maneje y
que coordine proyectos. Permite al presupuesto y al recurso que siguen, y a gerencia del
plan de la actividad. Los datos y los informes del proyecto pueden tambin ser el usar ms a
fondo analizado Servicio del edificio del cubo. Los datos de la gerencia de proyecto se
pueden alcanzar de un browser tambin.
Servidor 2007 de la lista del proyecto
Artculo principal: Servidor de la lista del proyecto del Microsoft
Office
El servidor 2007 de la lista del proyecto del Microsoft Office permite la creacin de una
lista del proyecto, incluyendo los workflows, recibidos centralmente, de modo que la
informacin est disponible a travs de la empresa, incluso de un browser. l tambin
ayudas en la agregacin centralizada de los datos con respecto el planeamiento y a la
ejecucin del proyecto, y en visualizar y analizar los datos para optimizar el plan del
proyecto. Puede tambin apoyar listas mltiples por proyecto, para seguir diversos aspectos
de l. Tambin incluye la divulgacin de las herramientas para crear informes consolidados
fuera de los datos del proyecto.
Servidor 2007 de PerformancePoint
Artculo principal: Servidor de PerformancePoint del Microsoft Office
_NewEnum: Devuelve un objeto enumerador que recorra todos los objetos Document en el
conjunto Document. No es una propiedad explcita del objeto, pero se puede acceder
implcitamente a ella cuando use el documento en un bucle For.
- Active: Devuelve el documento activo.
- Item(variant): Devuelve un objeto Document especfico desde el conjunto. Este mtodo es
el miembro predeterminado del conjunto Documents.
Toma un parmetro variante que se puede especificar por:
(nombre
Application.Windows("book1.xls").Activate
ActiveCell.Font.Bold = True
& Pero tambin se puede escribirlo as:
Application.ActiveCell.Font.Bold = True
Objeto Windows
Es un objeto que contiene todos los objetos Windows de Microsoft Excel; se diferencia del
Windows del objeto Workbook porque este nicamente contiene las ventanas del libro
especificado.
Ejemplos:
ActiveWorkbook.NewWindow
Windows(1).WindowState = xlMaximized
Objetos WorkBooks
Este objeto que colecciona todos los objetos Workbook que estn abiertos actualmente en la
aplicacin Microsoft Excel. Un Workbook (objeto) representa un libro de Microsoft Excel
abierto, con los siguientes mtodos.
si desea recuperar un nico libro de la coleccin, utilice el mtodo Item. Por ejemplo, para
hacer referencia a del primer libro:
[Object].Application.Workbooks.Item(1)
esta referencia puede ser larga y compleja; sin embargo, accesos directos estn disponibles.
Comprender el operador de desplazamiento (.) es fundamental para la programacin de
objeto correcta.
Hay que tener en claro que el ndice va a ser el nombre o nmero del libro, es decir que el
nmero de ndice representa el orden en que se abrieron o crearon los libros y de esta
manera se obtiene un solo objeto Workbook.
Workbooks(1).Activate
Workbooks(Workbooks.Count)
Devolver el nombre del libro activo; en el que se activa Sheet1 del libro
denominado Cogs.xls que est abierto en Microsoft Excel.
Workbooks("Cogs.xls").Worksheets("Sheet1").Activate
Workbooks.Close
Workbooks.Add
ThisWorkBook
Devuelve un objeto Workbook que representa el libro en el que se est ejecutando el cdigo
de la macro activa. Slo lectura.
Sintaxis
expresin.ThisWorkbook
expresin
Variable que representa un objeto Application.
Ejemplo:
Activar una hoja de dilogo almacenada en el libro de complemento.
ThisWorkbook.DialogSheets(1).Show
Cerrar el libro que contiene el cdigo de ejemplo, no se guardan los cambios realizados en
el libro.
ThisWorkbook.Close SaveChanges: = False
Comentarios
Utilice esta propiedad para hacer referencia al libro que contiene el cdigo de la macro.
ThisWorkbook La propiedad ActiveWorkbook no devuelve el libro de complemento;
devuelve el libro que llama al complemento.
La propiedad Workbooks puede fallar, puesto que probablemente se cambiara el nombre del
libro cuando se cre el complemento. ThisWorkbook siempre devuelve el libro en el que se
est ejecutando el cdigo.
Por ejemplo, use el cdigo siguiente para activar una hoja de dilogo almacenada en el libro
de complemento.
ThisWorkbook.DialogSheets(1).Show
Esta propiedad slo puede utilizarse desde dentro de Microsoft Excel. No podr usar la
propiedad para obtener acceso a un libro desde otra aplicacin.
El objeto Workbook es un miembro de la coleccin Workbooks. La coleccin Workbooks
contiene todos los objetos Workbook abiertos actualmente en Microsoft Excel.
Propiedad ThisWorkbook
La propiedad ThisWorkbook devuelve el libro donde se ejecuta el cdigo de Visual Basic.
En la mayora de los casos, coincide con el libro activo. No obstante, si el cdigo de Visual
Basic forma parte de un complemento, la propiedad ThisWorkbook no devolver el libro
activo. En este caso, el libro activo es el libro que llama al complemento, mientras la
propiedad ThisWorkbook devuelve el libro del complemento.
Si desea crear un complemento a partir del cdigo de Visual Basic, debe usar la propiedad
ThisWorkbook para calificar cualquier instruccin que deba ejecutarse en el libro que se
compile como complemento.
El objeto Microsoft.Office.Interop.Excel.Workbook representa un solo libro en la
aplicacin Excel
Ejemplo
Use Workbooks(ndice), donde ndice es el nombre o nmero de ndice del libro, para
obtener un solo objeto Workbook. En el siguiente ejemplo se activa el libro uno.
Visual Basic para aplicaciones Workbooks(1).Activate
Hoja de Clculo y objeto hoja de clculo
Un libro es lo mismo que un archivo de Excel. La coleccin libro contiene todos los libros
que estn abiertos actualmente. En el interior de un libro contiene al menos una hoja de
clculo. En VBA, una hoja de clculo se puede hacer referencia como sigue:
Sheets
QUE ES SHEETS?
Una hoja cue, cue sheet o archivo.cue, es un archivo Unicode que especifica cmo se
distribuyen las pistas de datos . Las hojas cue comnmente tienen la extensin ".cue".
Originalmente usados por el programa VISUAL VASIC para PROGRAMAR, pero
actualmente usados por muchos programas audiovisuales y de grabacin de CDs como
Nero.
Es un objeto que colecciona todas las hojas del libro especificado o activo; esta coleccin
puede tener objetos Chart o Worksheet, ya que es muy til cuando se quiere obtener hojas
de cualquier tipo.
Ejemplo
Use la propiedad Sheets para obtener la coleccin Sheets. En el siguiente ejemplo se
imprimen todas las hojas del libro activo.
Visual Basic para aplicaciones Sheets.PrintOut
Ejemplo:
Sheets.PrintOut
Sheets("LOVE").Activate
WorkSheets
Coleccin de todos los objetos Worksheet del libro especificado o activo. Cada objeto
Worksheet representa una hoja de clculo. Hace referencia a las hojas de trabajo (hojas de
un libro excel)
Es un objeto que colecciona todos los objetos Worksheet del libro activo, donde cada objeto
Worksheet representa una hoja de clculo.
Devuelve un objeto grfico que representa el grfico activo (ya sea un grfico incrustado o
una hoja de grfico). Un grfico incrustado se considera activo cuando est seleccionado o
activado. Cuando no hay un grfico est activo, esta propiedad devuelve nada. De slo
lectura.
Ejemplo En este ejemplo se convierte en la leyenda del grfico activo.
ActiveChart.HasLegend = True
El siguiente procedimiento Sub se utiliza la funcin de hoja de clculo mnima para
determinar el valor ms pequeo en un rango de celdas. En primer lugar, la MyRange
variable se declara como un objeto Range y, a continuacin se configura en rango A1: C10
de Sheet1. Otra variable, respuesta, se asigna el resultado de aplicar la funcin Mn para
MyRange. Por ltimo, el valor de la respuesta se muestra en un cuadro de mensaje.
Sub UseFunction()
Dim myRange As Range
Set myRange = Worksheets("Sheet1").Range("A1:C10")
answer = Application.WorksheetFunction.Min(myRange)
MsgBox answer
End Sub
Si utiliza una funcin de hoja de clculo que requiere una referencia de rango como un
argumento, debe especificar un objeto Range. Por ejemplo, puede utilizar la funcin de hoja
de partido para buscar un rango de celdas. En una celda de hoja de clculo, debera
introducir una frmula como = COINCIDIR (9, A1: A10, 0). Sin embargo, en un
procedimiento de Visual Basic, debe especificar un rango de objetos para obtener el mismo
resultado.
Sub FindFirst()
myVar = Application.WorksheetFunction _
.Match(9, Worksheets(1).Range("A1:A10"), 0)
MsgBox myVar
End Sub
Tenga en cuenta las funciones de Visual Basic no utiliza el calificador WorksheetFunction.
Una funcin puede tener el mismo nombre que una funcin de Microsoft Excel y, sin
embargo trabajan de manera diferente. Por ejemplo, Application.WorksheetFunction.Log y
Registro se devuelven valores diferentes.
Insercin de una funcin de hoja en una celda Para insertar una funcin de hoja de clculo
en una celda, se debe especificar la funcin como el valor de la propiedad Formula del
correspondiente objeto Range. En el siguiente ejemplo, la funcin de hoja de RAND (que
genera un nmero aleatorio) se asigna a la propiedad Formula del rango A1: B3 en Sheet1
del libro activo.
InsertFormula Sub ()
Worksheets ("Sheet1"). Range ("A1: B3"). Formula = "= RAND ()"
loanInt = Application.InputBox _
(Prompt:="Annual interest rate (8.75 for example)", _
Default:=loanInt, Type:=1)
loanTerm = Application.InputBox _
(Prompt:="Term in years (30 for example)", _
Default:=loanTerm, Type:=1)
payment = Application.WorksheetFunction _
.Pmt(loanInt / 1200, loanTerm * 12, loanAmt)
Worksheets.Move After:=Sheets(Sheets.Count)
Use el mtodo Add para crear una nueva hoja de clculo y agregarla a la coleccin. En el
siguiente ejemplo se agregan dos nuevas hojas de clculo antes de la hoja uno del libro
activo.
Charts
QUE ES EL CHARTS EN VISUL BASIC?
Visual Chart se encarga de informarnos en tiempo real de toda informacin financiera y, al
cerrar la bolsa, nos informa del fin de da. Todo ello con todo tipo de detalle e informes.
Toda la informacin que nos puede brindar lo hace de manera muy sencilla, con nicos
clicks, para permitirnos centrarnos en lo que nos interesa y no en la manera de recoger
todos los datos.
Para estar conectado al 100% disponemos de un chat y de ms de cien indicadores
prediseados (con opcin de hacerlo nosotros mismos). El sistema de trading es sencillo y
potente en cuanto al clculo.
La coleccin Charts contiene un objeto Chart para cada hoja de grficos de un libro.
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
..................................................................................................................... Ejemplo:
Charts(1).SeriesCollection(1).Format.Fill.ForeColor.RGB = rgbRed
ChartObject
Es un objeto de coleccin que contiene todos los grficos incrustados en una hoja
individual. Las propiedades y mtodos de este objeto controlan el aspecto y el tamao del
grfico incrustado en la hoja.
EJEMPLO:
Set oChart = Charts.Add
With oChart
.ApplyCustomType ChartType:=xlBuiltIn, TypeName:= _
"Line - Column on 2 Axes"
.SetSourceData Source:=Sheet1.Range( _
"D1:E3"),
PlotBy:=xlColumns
.Location Where:=xlLocationAsObject, Name:="Sheet2"
End With
'at this point the Chart Object has become a ChartObject Object
With ActiveSheet
Worksheets ("Sheet1")
Worksheets ("Sheet1") es la hoja de clculo que denomina "Sheet1". Otra manera de
referirse a una hoja de clculo es utilizar los nmeros ndice como el siguiente:
Hojas de trabajo (1)
Lo anterior se refiere a la primera hoja de la coleccin.
Tenga en cuenta que hojas de clculo (1) no es necesaria la misma hoja que
Worksheets ("Sheet1").
Hojas es una coleccin de hojas de clculo y hojas de grficos (si existe). Una hoja puede
ser indexado al igual que una hoja de clculo. Sheets (1) es la primera hoja del libro.
Para hacer referencia hojas (u otros objetos) con el mismo nombre, usted tiene que calificar
el objeto. Por ejemplo:
Workbooks ("Libro1"). Worksheets ("Sheet1") Cuadernos de trabajo ("Book2").
Worksheets ("Sheet1")
Si el objeto no est calificado, el activo o el objeto actual (por ejemplo, libro u hoja de
clculo) se utiliza.
La ficha de hoja en el boton de la hoja de clculo (hoja de clculo) muestra que la hoja est
activa. Como muestra la siguiente figura, la hoja activa es "Sheet1" (mostrar en negrita y
fondo blanco).
Shapes
Devuelve un objeto ShapeRange que representa un subconjunto de formas de la coleccin
Shapes.
Sintaxis
expresin.Range(Index)
expresin
Variable que representa un objeto Shapes.
Parmetros
En este ejemplo se establece la trama de relleno de las formas denominadas "Oval 4" y
"Rectangle 5" de myDocument.
Visual Basic para aplicaciones
Dim arShapes() As Variant
Dim objRange As Object
Set myDocument = Worksheets(1)
arShapes = Array("Oval 4", "Rectangle 5")
Set objRange = myDocument.Shapes.Range(arShapes)
objRange.Fill.Patterned msoPatternHorizontalBrick
Ejemplo
Use la propiedad Shapes para devolver la coleccin Shapes. En el siguiente ejemplo se
seleccionan todas las formas de myDocument.
Nota Si desea hacer algo (como eliminar o establecer una propiedad) con todas las formas
de una hoja al mismo tiempo, seleccinelas todas y use la propiedad ShapeRange en la
seleccin para crear un objeto ShapeRange que contenga todas las formas de la hoja. A
continuacin, aplique la propiedad o mtodo correspondientes al objeto ShapeRange.
Un control ActiveX de una hoja tiene dos nombres: el nombre de la forma que lo contiene,
que aparece en el cuadro Nombre cuando se ve el control en la hoja de clculo, y el nombre
de cdigo del control, que aparece en la celda situada a la derecha de la propiedad (Name)
en la ventana Propiedades. La primera vez que agrega un control a una hoja, el nombre de
la forma y el nombre de cdigo son iguales.
El nombre de cdigo de un control se usa en los nombres de los procedimientos de eventos.
Sin embargo, cuando se obtiene un control de la coleccin Shapes u OLEObjects de una
hoja, para hacer referencia al control por nombre se debe emplear el nombre de la forma, no
el nombre de cdigo. Por ejemplo, suponga que agrega una casilla de verificacin a una
hoja y que tanto el nombre predeterminado de la forma como el de cdigo son CheckBox1.
Si despus cambia el nombre de cdigo del control escribiendo chkFinished junto a (Name)
en la ventana Propiedades, debe usar chkFinished en los nombres de procedimiento de
evento, pero tendr que seguir usando CheckBox1 para obtener el control desde la
coleccin Shapes u OLEObject, tal como se muestra en el ejemplo siguiente.
Ejemplo:
Sub ContarGraficos()
MsgBox ActiveWorkbook.Worksheets(1).Shapes.Count
End Sub
=== AddShape===
Aade una forma grfica a la hoja de clculo. Habr que indicar el tipo de forma y sus
caractersticas
ejemplos:
Sub AadirRectangulo()
ActiveWorkbook.Worksheets(Hoja3).Shapes.AddShape _
(msoShapeRectangle, 144,144,
72,72)
Dimensiones
Posicin en la hoja
Tipo de forma
End Sub
El cdigo siguiente muestra el dibujo de un rectngulo relleno en un formulario en tiempo
de ejecucin. En el ejemplo de Visual Basic para aplicaciones, se utiliza el control Shape.
Private Sub Form_Load()
' Show a solid red rectangle 200 twips from the top left.
Shape1.Top = 200
Shape1.Left = 200
Shape1.FillColor = vbRed
Shape1.FillColor= vbFSSolid
Shape1.BorderColor = vbRed
End Sub
Banco de Preguntas
Pregunta 1
Objetos ActiveCell
algunos de los objetos que se encuentran en Excel son WorkSheet (Objeto hoja de clculo)
o Range (Objeto casilla o rango de casillas).
Un objeto Range est definido por una clase donde se definen sus propiedades. Entre las
propiedades de un objeto Range estn Value , que contiene el valor de la casilla , Column y
Row que contienen respectivamente la fila y la columna de la casilla, Font que contiene la
fuente de los caracteres que muestra la casilla.
Range , como objeto, tambin tiene mtodos; Por ejemplo el mtodo Activate , hace activa
una celda determinada, Clear , borra el contenido de una celda o rango de celdas, Copy ,
copia el contenido de la celda o rango de celdas en el portapapeles.
Range, es un elemento del Conjunto WorkSheets; dentro de un libro de trabajo puede existir
ms de una hoja ( WorkSheet ), todas las hojas de un libro de trabajo forman un conjunto, el
conjunto WorkSheets .
Cada elemento individual de un conjunto se referencia por un ndice, de esta forma, la
primera, segunda y tercera hoja de un libro de trabajo, se referenciarn por WorkSheets(1),
WorkSheets(2) y WorkSheets(3). Page 2 2 Objetos de Objetos. Es muy habitual que una
propiedad de un objeto sea otro objeto.
Programacin Orientada a Objetos
"Devuelve un rango objeto que representa la celda activa en la ventana activa (la ventana en
la parte superior) o en la ventana especificada. Ejemplo:
En este ejemplo se utiliza un cuadro de mensaje para mostrar el valor de
la celda activa.Dado que la propiedad ActiveCell un error si la hoja
ActiveSheet
Devuelve un objeto que representa la hoja activa (la hoja en primer plano) del libro activo o
de la ventana o el libro especificado. Devuelve Nothing si no hay ninguna hoja activa. Hace
referencia a una hoja activa
Sintaxis
expresin.ActiveSheet
EJEMPLO:
NombreHoja = ActiveSheet.Name
Comentarios
Si no se especifica un calificador de objeto, la propiedad devuelve la hoja activa del libro
activo.
Si un libro aparece en ms de una ventana, es posible que la propiedad ActiveSheet tenga
un valor diferente en cada ventana.
Ejemplo
ActiveWorkBook
Devuelve un objeto Workbook que representa el libro de la ventana activa (la ventana
superior). Slo lectura. Devuelve NothingNothing si no hay ventanas abiertas o si la
ventana activa es la ventana de informacin o la del Portapapeles. Hace referencia a un
Libro activo
Sintaxis
expresin.ActiveWorkbook
EJEMPLO:
NombreLibro = ActiveWorkbook.Name
Private Sub Command1_Click() Dim xls As Object
Set xls = CreateObject("Excel.Application") xls.Visible = False xls.Workbooks.Open
"c:\excelvb\source.xls" xls.Range("a1").Value = Text1.Text Text2.Text =
xls.Range("a3").Value End Sub
Private Sub Command2_Click()
Archivo = App.Path & "\source.xls" Set xls = CreateObject("Excel.Application")
xls.Workbooks.Open Archivo
xls.Visible = False
xls.Worksheets("Hoja1").Activate
xls.Worksheets("Hoja1").Range("A1").Value = 666
xls.Worksheets("Hoja1").Range("A2").Value = 777
xls.Worksheets("Hoja1").Range("A3").Value = 888
ActiveChart
Workbook.ActiveChart (Propiedad)
Obtiene un objeto Microsoft.Office.Interop.Excel.Chart que representa el grfico activo (un
grfico incrustado o una hoja de grficos). Un grfico incrustado se considera activo
cuando est seleccionado o activado. Cuando no hay ningn grfico activo, esta propiedad
devuelve referencia null (Nothing en Visual Basic).
Espacio de nombres: Microsoft.Office.Tools.Excel Ensamblado:
Microsoft.Office.Tools.Excel (en microsoft.office.tools.excel.dll) Sintaxis VB C# C++ F#
JScript Copiar
' Declaracin
Public Overridable ReadOnly Property ActiveChart As Chart
' Uso
Dim instance As Workbook Dim value As Chart
value = instance.ActiveChart
Valor de propiedad Objeto Microsoft.Office.Interop.Excel.Chart que representa el grfico
activo; referencia null (Nothing en Visual Basic) si no hay ningn grfico activo. Ejemplo
El ejemplo de cdigo siguiente utiliza la propiedad ActiveChart para obtener el grfico
activo del libro actual y, a continuacin, convierte en invisible el ttulo del grfico. VB C#
C++ F# JScript Copiar
Private Sub HideActiveChartTitle()
If Not (Me.ActiveChart Is Nothing) Then
Me.ActiveChart.HasTitle = False
End If
End Sub
Banco de Preguntas
Pregunta 1
CUL ES LA ESTRUCTURA PARA ACTIVECELL PARA EL NUMERO DE
CEDULA EN LA CELDA B6?
Range ("b6").Activate Activecell.FormulaR1C1 = txtcedula
Pregunta 2
CUAL ES EL RESULTADO DEL SIGUIENTE PROBLEMA?
ActiveCell.Formula = "=" & ActiveCell.Formula & "+" & i
Si la celda activa tiene una frmula nos encontramos con que nuestra frmula definitiva
tiene dos signos "=" al principio, uno el que ya tena y otro el que le hemos puesto nosotros.
El resultado es que introducimos una frmula incorrecta y Excel nos vuelve a dar un error.
Pregunta 3
CUL ES LA FUNCIN DE ACTIVESHEET?
Hace refrencia a una hoja activa de un libro de Excel.
Pregunta 4
CUAL ES LA FUNCIN DEL OBJETO "SHEET"? Es un objeto que colecciona todas
las hojas del libro especificado o activo; esta coleccin puede tener objetos Chart o
Worksheet, ya que es muy til cuando se quiere obtener hojas de cualquier tipo.
Pregunta 5
ENUMERE 3 FUNCIONES DEL OBJETO "SHAPES"
Pregunta 6
QU MUESTRA LA VENTANA INMEDIATO?
Permite comprobar los resultados de una lnea de cdigo de Visual Basic. Puede utilizar la
ventana Inmediato para comprobar el valor de un control, campo o propiedad, para mostrar
el resultado de una expresin , o para asignar un nuevo valor a una variable , campo ,
columna , o la propiedad .
Pregunta 7
CULES SON LOS COMPONENETES DEL EXAMINADOR DE OBJETOS?
Cuadro Texto de bsqueda: Contiene la cadena que desea utilizar para la bsqueda.
Puede escribirla o elegir la cadena que desee.
Botn Avanzar: Permite repetir las selecciones originales en las listas Clases y
Miembros de cada vez que haga clic hasta que se agote la lista de selecciones.
Pregunta 8
QUE ES EL CHART EN VISUAL BASIC ?
Visual Chart se encarga de informarnos en tiempo real de toda informacin financiera y, al
cerrar la bolsa, nos informa del fin de da. Todo ello con todo tipo de detalle e informes.
Toda la informacin que nos puede brindar lo hace de manera muy sencilla, con nicos
clicks, para permitirnos centrarnos en lo que nos interesa y no en la manera de recoger
todos los datos.
QU FUNCIN CUMPLE "ACTIVECHART"?
Devuelve un objeto grfico que representa el grfico activo (ya sea un grfico incrustado o
una hoja de grfico). Un grfico incrustado se considera activo cuando est seleccionado o
activado. Cuando no hay un grfico est activo, esta propiedad devuelve nada. De slo
lectura.
Pregunta 9
CUL ES EL USO DE LA "VENTANA LOCALES"?
Muestra automticamente todas las variables declaradas del procedimiento actual y sus
valores. Cuando est visible la ventana Locales, se actualiza automticamente cada vez que
hay un cambio desde Ejecutar en el Modo de interrupcin.
Pregunta 10
CUL ES LA FUNCIN DEL EXAMINADOR DE OBJETOS?
El Examinador de objetos muestra en el panel Objetos las estructuras jerrquicas dentro del
mbito de exploracin actual. Este puede expandir las estructuras del panel Objetos para
poder de esta maneera ver listas ordenadas de sus miembros.
Pregunta 11
QU NOS PERMITE EFECTUAR EL OBJETO:" ActiveCell.FormulaR1C1"?
Nos permite escribir un valor en la celda activa.
Pregunta 12
CUL ES LA FUNCIN DE "ActiveWorkBook"?
Hace referencia a un Libro activo. Es importante que se escriba el nombre del libro en la
lnea de cdigo tal cual consta en la barra de ttulo de Excel y con la respectiva extensin de
tipo de archivo (.xslm) ya que si los nombres no coinciden, no se ejecutar la sentencia.
Pregunta 13
Verifique y diga cual de las siguientes sentencias estn incorrectas?
a)Activar una hoja de dilogo almacenada en el libro de complemento.
ThisWorkbook.DialogSheets(1).Show
b)Cerrar el libro que contiene el cdigo de ejemplo, no se guardan los
cambios realizados en el libro.
ThisWorkbook.Close SaveChanges: = True
c)Mover el grfico llamado Ventas al final del libro activo.
Charts("VENTAS").Move after: =
Sheets(Sheets.Count)
d)Ocultar la hoja de clculo uno del libro activo
Worksheets(1).Visible = False
Respuesta: La opcin b es nica sentencia incorrecta porque tendra que estar False en vez
de True.
= Pregunta 13
QU ES UN "OBJETO APPLICATION"?
Es un objeto que contiene valores y opciones de toda la aplicacin, mtodos que devuelven
objetos de nivel superior (activecell, activesheet,etc.); es decir, representa la aplicacin
completa Microsoft Excel.
Pregunta 14
Seleccione la respueta correcta?
Que permite el botn avanzar?
a.Retroceder a la seleccin anterior de las listas Clases y Miembros de. Cada vez que hace
clic, retrocede una seleccin hasta que haya pasado por todas las selecciones.
b.Repetir las selecciones originales en las listas Clases y Miembros de cada vez que haga
clic hasta que se agote la lista de selecciones.
c. todas las anteriores
respuesta: b
Pregunta 15
Para crear una aplicacin en VB que pasos se deben realizar?
1. Diseando la Interface. Se crea una forma colocando sobre ella los controles u objetos
necesarios, cambiandolos de lugar y/o de tamao. Esta ser la presentacin de nuestra
aplicacin.
2. Dando valores a las propiedades de los objetos colocados en la forma y a la forma
misma.
3. Escribir el cdigo en los objetos para indicar que accines o eventos se debern realizar
cuando el usuario interaccione con estos objetos. Este paso es conocido como " Dar
funcionalidad a la aplicacin".
Objetos Range
Range es el objeto central para la escritura del cdigo de las Macros pues es el medio por el
cual accedemos a las celdas de cada una de las hojas que componen el libro sobre el cual
estamos trabajando, el objeto Range representa entre otros:
-La seleccin actual.
-Una celda en particular.
Representa una celda, una fila, una columna, una seleccin de celdas que contienen uno o
ms bloques contiguos de celdas o un rango 3D, o incluso un grupo de celdas de varias
hojas. ........................................................................................................................................
....................................................................... Comentarios Representa una celda, una fila,
una columna, una seleccin de celdas que contienen uno o ms bloques contiguos de celdas
o un rango 3D.
En esta seccin se describen los siguientes mtodos y propiedades para devolver un objeto
Range:
a continuacion los siguientes metodos y propiedades son las que van a ver a continuacion...
Propiedad Range
Propiedad Cells
Range y Cells
Propiedad Offset
Mtodo Union
Ejemplo en este ejemplo vamos a usar range(arg) Use Range(arg), donde arg asigna un
nombre al rango, para obtener un objeto Range que represente una sola celda o un rango de
celdas. En el ejemplo siguiente se coloca el valor de la celda A1 en la celda A5.
Worksheets("Sheet1").Range("A5").Value = _
Worksheets("Sheet1").Range("A1").Value
.....................................................................
Muchos personas que recien estan conociendo lo que es visual basic para
aplicaciones comienzan su carrera con las clulas.
Por ejemplo:
Las clulas (1,1).
Select es lo mismo que el Range ("A1").
Seleccionar y
Las clulas (11,31).
Select es la misma que Range ("AE11"). Selec t.
Le recomendamos que utilice rango en lugar de las clulas para trabajar
con clulas y grupos de clulas. Hace que tus frases mucho ms clara y
no se ven obligados a recordar que AE es la columna la columna 31.
.....................................................................
La nica vez que va a utilizar las clulas es cuando se desea seleccionar
todas las celdas de una hoja de clculo.
Por ejemplo:
Cells.Select
Para seleccionar todas las celdas y luego de vaciar todas las
de los valores o las frmulas que va a utilizar:
Cells.ClearContents
clulas
Intervalo
Para seleccionar una sola celda que va a escribir:
Range ("A1"). Seleccionar
Para seleccionar un conjunto de celdas contiguas que va a utilizar el
colon y escribir:
Range ("A1: G5"). Seleccionar
Para seleccionar un conjunto de celdas contiguas no va a utilizar la coma
y escribir:
Range ("A1, A5, B4"). Seleccionar
Para seleccionar un conjunto de celdas contiguas no y una gama que va a
utilizar tanto los dos puntos y la coma:
Range ("A1, A5, B4: B8"). Seleccionar
..........................................................................................................................................
Compensar
La propiedad Offset es el que va a utilizar al mximo con la gama para
desplazarse por la hoja.
Para mover una celda hacia abajo (de B2 a B3): Range ("B2"). Offset
(1,0). Seleccionar
Para mover una celda a la derecha (de B2 a C2): Range ("B2"). Offset
(0,1). Seleccionar
Para mover una celda hacia arriba (de B2 a B1): Range ("B2"). Offset (1,0). Seleccionar
Para mover una celda a la izquierda (de B2 a A2): Range ("B2"). Offset
(0, -1). Seleccionar
.......................................................................................................................................... El
objeto Microsoft.Office.Interop.Excel.Range ser el objeto ms utilizado en las
aplicaciones de Excel. Antes de poder manipular ningn rea dentro de Excel, hay que
expresarla en forma de objeto Range y trabajar con los mtodos y propiedades de ese rango
de celdas. Un objeto Range representa una celda, una fila, una columna, una seleccin de
celdas que contiene uno o ms bloques de celdas (que podran ser contiguos o no), o
incluso un grupo de celdas de varias hojas. Range representa una celda, una fila, una
columna, una seleccin de las clulas que contienen uno o ms bloques contiguos de celdas
o un rango de 3-D.
Uso del objeto RangeEn esta seccin se describen las siguientes propiedades para devolver
un objeto Range:
Propiedad Range
Propiedad Cells
Propiedad Range
Utilice Range(arg), donde arg es el nombre del rango, para devolver un objeto Range que
representa una sola celda o un rango de celdas. En el ejemplo siguiente se coloca el valor de
la celda A1 en la celda A5.
myChart.Application.DataSheet.Range("A5").Value = _
myChart.Application.DataSheet.Range("A1").Value
Cells
Devuelve un objeto Range que representa las celdas del rango especificado. Use Cells (fila;
columna), donde fila es el ndice de fila y columna es el ndice de columna, para devolver
una sola celda.
Sintaxis
expresin.Cells
expresin
Variable que representa un objeto Range
Devuelve un objeto Range que representa las celdas del rango especificado, tal como se
aplica al objeto Range. Tambin devuelve un objeto Range que representa todas las celdas
de la hoja de datos, no slo las celdas actualmente en uso, tal como se aplica al objeto
DataSheet. Objeto Range de slo lectura.
Es una propiedad de Objetos Range, que devuelve las celdas del rango especificado,
tambin devuelve todas las celdas de la hoja de datos, no slo las celdas que se estn
usando.
Sintaxis
expresin.Cells expresin, requerida, que devuelve un objeto de la lista aplicar a. Ejemplo:
myChart.Application.DataSheet.Cells(2,2).ClearContents
Encontrar ltima fila
UltimaFila = _
Columns("A:A").Range("A35000").End(xlUp).Row
Encontrar ltima fila
End If
Suprimir filas vacas intLastRow = Columns("A:A").Range("A35000").End(xlUp).Row
For r = intLastRow To 1 Step -1
If Application.CountA(Rows(r)) = 0 Then Rows(r).Delete
Next
Eliminar filas vacas Dim intNumDeFilas As Long
Selection.SpecialCells(xlCellTypeLastCell).Select intNumDeFilas = Selection.Row For i =
1 To intNumDeFilas
If Application.WorksheetFunction.CountA(Rows(i)) = 0 Then
Rows(i).Delete
End If
Next
Eliminar filas por condicin Dim rngString As Range
Do
Set rngString = Cells.Find("Aglis", MatchCase:=False, _
LookAt:=xlPart, LookIn:=xlValues)
If Not rngString Is Nothing Then
rngString.EntireRow.Delete
End If
Next i
Columns
Es una propiedad de Objetos Range, que devuelve las columnas de un rango especificado o
todas las columnas de la hoja de datos.
Devuelve el nmero de la primera columna del primer rea del rango especificado. Long de
slo lectura.
Sintaxis
expresin.Range
Propiedad Columns
Propiedad Columns tal como se aplica al objeto Application.
Devuelve un objeto Range que representa todas las columnas de la hoja de clculo activa.
Si el documento activo no es una hoja de clculo, esta propiedad fallar.
Propiedad Columns tal como se aplica al objeto Range.
Devuelve un objeto Range que representa las columnas del rango especificado.
Propiedad Columns tal como se aplica al objeto WorkSheet.
Devuelve un objeto Range que representa todas las columnas de la hoja de clculo
especificada.
Ejemplo:
myChart.Application.DataSheet.Columns(1).ClearContents
La propiedad MultiColumn toma un valor booleano y la propiedad ColumnWidth toma un
entero que especifica el ancho en pxeles. 'delas ayudas de oficce'
Rows
Devuelve un objeto Range que representa todas las filas de la hoja de clculo activa. Si el
documento activo no es una hoja de clculo, la propiedad Rows devuelve un error. Objeto
Range de slo lectura. Es una propiedad de Objetos Range, que devuelve las filas del rango
especificado.
Utilice la propiedad Rows o Columns para trabajar con filas o columnas enteras. Estas
propiedades devuelven un objeto Range que representa un rango de celdas. En el siguiente
ejemplo, Rows(1) devuelve la fila uno de la Hoja1. A continuacin, la propiedad Bold del
objeto Font del rango se establece en True.
Sub FilaNegrita()
Worksheets("Hoja1").Rows(1).Font.Bold = True
End Sub
La siguiente tabla muestra algunas referencias de fila y columna, utilizando las
propiedades Rows y Columns.
Referencia SignificadoRows(1) Fila uno
Rows Todas las filas de la hoja de clculo
Columns(1) Columna uno
Columns("A") Columna uno
Columns Todas las columnas de la hoja de clculo
Para insertar UNA sola fila recurrimos a Row.
Sintaxis
expresin.Rows
...................................................................................................................................................
.......... Ejemplo:
myChart.Application.DataSheet.Rows(3).Delete
Utilice la propiedad Rows o Columns para trabajar con filas o columnas enteras.
Worksheets("Sheet1").Rows(3).Delete
En este ejemplo se eliminan las filas de la regin actual de la hoja de clculo uno en las
que el valor de la celda uno de la fila es el mismo que el valor de la celda uno de la fila
anterior.
Visual Basic para aplicaciones
For Each rw In Worksheets(1).Cells(1, 1).CurrentRegion.Rows
this = rw.Cells(1, 1).Value
If this = last Then rw.Delete
last = this
Next
Worksheets("Sheet1").Activate
areaCount = Selection.Areas.Count
If areaCount <= 1 Then
MsgBox "The selection contains " & _
Selection.Rows.Count & " rows."
Else
i = 1
For Each a In Selection.Areas
MsgBox "Area " & i & " of the selection contains " & _
a.Rows.Count & " rows."
i = i + 1
Next a
End If
Comentarios
El uso de esta propiedad sin un calificador de objeto equivale a usar ActiveSheet.Rows.
Si se aplica a un objeto Range que es una seleccin de varias reas, la propiedad
nicamente devuelve las filas de la primera rea del rango. Por ejemplo, si el objeto Range
tiene dos reas, A1:B2 y C3:D4, Selection.Rows.Count devuelve 2, no 4. Si desea utilizar
esta propiedad en un rango que puede contener una seleccin mltiple, compruebe
Areas.Count para determinar si el rango es una seleccin mltiple. En ese caso, ejecute un
bucle sobre cada rea del rango, tal como se muestra en el tercer ejemplo.
Ejemplo
En este ejemplo se elimina la fila tres de Sheet1.
Visual Basic para aplicaciones Worksheets("Sheet1").Rows(3).Delete
En este ejemplo se eliminan las filas de la regin actual de la hoja de clculo uno en las que
el valor de la celda uno de la fila es el mismo que el valor de la celda uno de la fila anterior.
Visual Basic para aplicaciones For Each rw In Worksheets(1).Cells(1,
1).CurrentRegion.Rows
this = rw.Cells(1, 1).Value
If this = last Then rw.Delete
last = this
Next
Else
i = 1
For Each a In Selection.Areas
MsgBox "Area " & i & " of the selection contains " & _
a.Rows.Count & " rows."
i = i + 1
Next a
End If
IMPRIMIR CELDAS
Marcado VBA para imprimir las celdas seleccionadas
Sub Print_Area()
Dim My_Range As String
On Error Resume Next 'enables error handling
My_Range = InputBox("Enter the name of the area to print:")
'if Cancel is chosen then InputBox returns empty string
If Len(My_Range) > 0 Then Range(My_Range).PrintOut
If Err > 0 Then MsgBox "Name or range specified is not valid."
End Sub
Sub Imprimir_seleccion()
'preparar la hoja para la impresin With ActiveSheet.PageSetup
.PrintArea = ""
.Orientation = xlPortrait 'xlLandscape
.PaperSize = xlPaperA4 'formato A4
.BlackAndWhite = False 'incluir colores o no
.FitToPagesWide = 1 'reduce el tamao de la hoja (ancho)
.FitToPagesTall = 1 'reduce el tamao de la hoja (alto)
.CenterHorizontally = False 'centrar horizontalmente
.CenterVertically = False 'centrar verticalmente
End With
'imprimir las celdas seleccionadas (1 copia) ActiveWindow.Selection.PrintOut copies:=1,
collate:=True
End Sub
Sub imprimaceldas()
'imprimir las celdas seleccionadas (1 copia) ActiveWindow.SelectedSheets.PrintOut
copies:=1, collate:=True
End Sub
El siguiente codigo imprime todas las hojas del libro Sub Imprimir()
'preparar la hoja para la impresin 'bucle que repasa todas las hojas For Each Worksheet In
ActiveWorkbook.Sheets
With ActiveSheet.PageSetup
.PrintArea = ""
.Orientation = xlPortrait 'xlLandscape
.PaperSize = xlPaperA4 'formato A4
.BlackAndWhite = False 'incluir colores o no
.FitToPagesWide = 1 'reduce el tamao de la hoja (ancho)
.FitToPagesTall = 1 'reduce el tamao de la hoja (alto)
.CenterHorizontally = False 'centrar horizontalmente
.CenterVertically = False 'centrar verticalmente
End With
Selection Name
Selection: devuelve el objeto seleccionado en la ventana activa para un objeto Application.
Sintaxis
expresin.Selection
Comentario
El tipo de objeto que se devuelve depende de la seleccin actual (por ejemplo, si est
seleccionada una celda, la propiedad devuelve un objeto Range). Si no hay nada
seleccionado, la propiedad Selection devuelve Nothing.
El uso de esta propiedad sin un calificador de objeto equivale a usar Application.Selection.
Ejemplo:
Worksheets("EFECTIVO").Activate
Selection.Clear
Worksheets("EFECTIVO").Activate
MsgBox "The selection object type is " & TypeName(Selection)
Name: Es una propiedad de Objetos Range, que especifica el nombre de un control u
objeto, o el nombre de una fuente asociada al objeto Font.
Sintaxis
Font.Name (= String)
objeto.Name (= String)
Ejemplo:
End Sub
FUNCIONES
Una funcin es lo mismo que un procedimiento, con la nica diferencia, de que la funcin
devuelve un valor al procedimiento o funcin desde la que lo has llamado. Este valor es el
resultado de aplicar la funcin. Para que la funcin realice su trabajo, le tienes que indicar
con qu valores o elementos va a trabajar. stos son los argumentos o parmetros de la
funcin.
Sintaxis:
Function nombre [(lista_argumentos)] [As tipo]
End Function
Llamar a una funcin de hoja de clculo desde Visual Basic
En Visual Basic, las funciones de hoja de calculo de Microsoft Excel pueden ejecutarse
mediante el objeto WorksheetFunction.
El siguiente procedimiento Sub usa la funcin Min para obtener el valor ms pequeo de un
rango de celdas. En primer lugar, se declara la variable myRange como un objeto Range y,
a continuacin, se establece como el rango A1:C10 de la hoja Sheet1. Otra variable,
answer, se asigna al resultado de aplicar la funcin Min a myRange. Por ltimo, el valor de
respuesta se muestra en un cuadro de mensaje.
Sub UseFunction()
Dim myRange As Range
Set myRange = Worksheets("Sheet1").Range("A1:C10")
answer = Application.WorksheetFunction.Min(myRange)
MsgBox answer
End Sub
Si usa una funcin de hoja de clculo que requiere como argumento una referencia de
rango, deber especificar un objeto Range.Por ejemplo, puede usar la funcin de hoja de
clculo Coincidir para efectuar una bsqueda en un rango de celdas.En una celda de hoja de
clculo, podra insertar una frmula como =COINCIDIR(9;A1:A10;0). No obstante, en un
procedimiento de Visual Basic, para obtener el mismo resultado debe especificar un objeto
Range
Sub FindFirst()
myVar = Application.WorksheetFunction _
.Match(9, Worksheets(1).Range("A1:A10"), 0)
MsgBox myVar
End Sub
Las funciones en el entorno de Visual Basic son como los Procedimientos o subrutinas, es
decir como el click de un boton o el doble click en un formulario, pero con la diferencia de
que estas, devuelven un resultado y los procedimientos NO, el click de un boton puede
mostrar el resultado de una cuenta en la pantalla, pero no puede usarse el procedimiento
para agregarle (por ejemplo) un 2 y multiplicarlo por un 3, los botones y formularios y
todos los Objetos NO PUEDEN OPERARSE, es decir no se los puede restar sumar,
multiplicar o dividir o lo que se les ocurra. Para salvar esta imposibilidad, podemos crear
nosotros mismos una funcion que por ejemplo agregue el IVA a un precio, y obviamente
devuelva el resultado para poder ser usado en otras operaciones (cuentas o tomas de
decisiones, ver TOMAS DE DECISIONES). Una funcion se escribe de una forma muy
parecida a una Subrutina o procedimiento (como los clicks de los botones) pero cambia la
Sintaxis o Declaracion pero es algo muy SUTIL...
nombre="MANUEL"
letra1=mid(nombre,1,1)
LEN
Sintaxis
Len(cadena | nombrevar)
Array (Funcin)
Sintaxis
Array(lista_argumentos)
Dim A As Variant
A = Array(10,20,30)
B = A(2)
El lmite inferior de una matriz creada mediante la funcin Array se determina por
el lmite inferior especificado con la *instruccin Option Base, a menos que Array
est autorizado con el nombre de la biblioteca tipo (por ejemplo VBA.Array). Si se
*autoriza con el nombre de la biblioteca tipo, Array no se ver afectado por Option
Base.
EJEMPLO:
*Dim MiSemana, MiDa
MiSemana = Array("Lun", "Mar", "Mir", "Jue", "Vie", "Sb",
"Dom")
' Se da por hecho que el lmite inferior es igual a 1
' en los valores devueltos (mediante Opcin Base)
MiDa = MiSemana(2)
' MiDa contiene "Mar".
MiDa = MiSemana(4)
' MiDa contiene "Jue".
InStrRev (1/dic/2010)
*Esta funcin se usa casi igual que la clsica InStr, pero sirve para
buscar desde el final de
la
cadena.
Como sabrs InStr devuelve la posicin de una cadena dentro de otra:
InStr("Que mas", "mas") dara un valor 6, lo que quiere decir que la
posicin de Mundo ocupa los caracteres desde la posicin 6 dentro de
Hola Mundo.
En este ejemplo, InStrRev dara tambin 6, pero si se hace esto otro:
InStrRev("Hola Ecuador", "o"), es decir saber cual es la posicin de la
ltima letra o, dara como resultado: 10;
sin embargo: InStr("Hola Mundo", "o") dara 2, es decir la posicin de la
primera o.
Los parmetros de InStr y los de InStrRev:
Ya sabes que por defecto es como si estuviese Option Compare Binary, es decir que se
diferencian las maysculas de las minsculas. Si se especifica, (siempre a nivel de mdulo
y en cada mdulo), Option Compare Text, no se diferencian las maysculas de las
minsculas. Pero esas definiciones se pueden pasar por alto, indicando el parmetro
compare.
StrReverse (1/Sep/98)
Esta funcin sirve para invertir el contenido de una cadena... es decir, darle la vuelta. Si se
le pasa como parmetro "Hola", devolver una cadena tal como esta: "aloH", es decir que
casi aprende a hablar en francs... o al menos por telfono...
Para usarla: anedaCs= StrReverse("Hola Mundo") ' Tambin valen variables de cadenas
como argumento En la variable se asignar: "odnuM aloH"
WeekDayName (1/nov/2010)
Devuelve el nombre del da de la semana.
La forma de usarla es:
WeekdayName(weekday[, abbreviate][, firstdayofweek])
dnde:
weekday: es un valor que indica el da de la semana, el valor depender
del parmetro FirstDayOfWeek.
'
Private Function NombresDias(Optional ByVal Abbreviate As Boolean =
False) As String()
'Devuelve un array con los nombres de los das de la semana
Dim tArray() As String
Dim i As Long
'Redimensionamos el array
ReDim tArray(1 To 7)
'Bucle para cada da de la semana
For i = 1 To 7
'Se inicia la semana en el Lunes
tArray(i) = WeekdayName(i, Abbreviate, vbMonday)
Next
'Devolver el array recin creado
NombresDias = tArray()
End Function
MonthName (1/Feb/10)
Devuelve el nombre del mes.
La forma de usarla es:
MonthName(month[, abbreviate])
dnde:
month: es el nmero del mes, Enero es 1, Febrero 2, etc.
abbreviate: Opcional, si se devuelve el nombre completo o abreviado
En este ejemplo se usa una funcin que devuelve un array y acepta como
prametro si se devuelven los valores abreviados o no, por defecto es
NO; el valor devuelto se puede asignar directamente a un array dinmico.
Nota: Los nombres de los meses, los devuelve en el idioma en que est
configurado Windows
'
Private Function NombresMeses(Optional ByVal Abbreviate As Boolean =
False) As String()
'Devuelve un array con los nombres de los meses
Dim tArray() As String
Dim i As Long
'Dimensionar un array para los doce meses
ReDim tArray(1 To 12)
'Asignar los nombres de los meses
For i = 1 To 12
tArray(i) = MonthName(i, Abbreviate)
Next
'Devolver el array
NombresMeses = tArray()
End Function
Join (2/Ene/2008)
Join(list[, delimiter])
dnde:
list: es un array con los elementos que queremos "juntar" en una cadena.
delimiter: (opcional), es el separador que queremos usar para separar
cada uno de esos elementos, por defecto es un espacio. Si no queremos
usar ningn delimitador, es decir para que todos los elementos estn
juntos, hay que indicar una cadena vaca; si, por el contrario queremos
usar cualquier otro carcter, lo indicaremos en este parmetro de la
funcin.
Veamos un ejemplo:
'
Private Sub cmdJoin_Click()
'Ejemplo de uso de Join, esta funcin devolver en una cadena
'cada elemento de un array separados por el delimitador que
'se le indique.
Dim tArray() As String
Dim i As Long
'Dimensionamos el array con cuatro elementos (de 0 a 3)
ReDim tArray(3)
'Asignamos valores al array
For i = 0 To 3
tArray(i) = "Elemento_" & i
Next
'=== Para hacer otras pruebas ===
'Separa cada palabra con el caracter indicado
'Text1 = Join(tArray, "/")
'Todas las palabras juntas, sin usar separador
'Text1 = Join(tArray, "")
'Las palabras se separan por un espacio, (valor por defecto)
Text1 = Join(tArray)
End Sub
Si no se indica delimitador: Text1 = Join(tArray), el contenido de Text1
ser:
Elemento_0 Elemento_1 Elemento_2 Elemento_3
Cada elemento se separa con un espacio.
Si se especifica un caracter como delimitador: Text1 = Join(tArray, "/"),
el contenido de Text1 ser:
Elemento_0/Elemento_1/Elemento_2/Elemento_3
Split (2/Oct/2009)
Esta funcin es la inversa de Join, es decir, toma el contenido de una
cadena y forma un array con cada una de las palabras, (o serie de
palabras separadas por un delimitador dado, subcadena
que la llaman).
La forma de usar esta funcin es:
Split(expression[, delimiter[, count[, compare]]])
dnde:
expresion: es una cadena, o expresin que de como resultado una cadena,
de la que queremos sacar los elementos.
End Sub
Replace (3/Dic/88)
Esta funcin devolver una cadena en la que se han sustituido las
"palabras" (subcadenas) indicadas por otras. (Se entender mejor al ver
los parmetros y con el ejemplo)
La forma de usar esta funcin es:
Replace(expression, find, replacewith[, start[, count[, compare]]])
dnde:
expression: Es la cadena original
find: las subcadenas que queremos reemplazar
replacewith: lo que se pondr cuando se halle la cadena a reemplazar
start: (opcional), posicin dentro de expression a partir de la cual
empezaremos a procesar la cadena
'En este ejemplo se sustituirn las "r" por "g" 'aunque tambin se podran sustituir palabras
completas o ms de una letra, etc.
Private Sub cmdReplace_Click()
Dim sOriginal As String
Dim sBuscar As String
Dim sPoner As String
'Perdn a los que tenis problemas con la ERRE, pero...
sOriginal = "El perro de San Roque no tiene rabo porque Ramn
Ramirez..."
sBuscar = "r"
sPoner = "g"
Label1(2) = Replace(sOriginal, sBuscar, sPoner, , , vbTextCompare)
End Sub
El resultado de esta prueba sera:
El peggo de San goque no tiene gabo pogque gamn gamigez...
Se sustituyen todas las "r", incluso las maysculas, ya que se ha
especificado vbTextCompare, es decir no tener en cuenta las maysculas
de las minsculas.
Si se hubiese distinguido las maysculas de las minsculas, cosa que
ocurrira si no se hubiese indicado ese parmetro y en el mdulo no se
hubiese especificado Option Compare Text o bien si se hubiese indicado
explcitamente vbBinaryCompare, la frasesita quedara de esta forma:
El peggo de San Roque no tiene gabo pogque Ramn Ramigez...
Filter (3/Sep/98)
Esta funcin devuelve un array que contiene los elementos de otro array,
siempre que coincida con el criterio de bsqueda especificado. Ambos
arrays deben ser del tipo String (cadena)
La forma de usar esta funcin es:
Filter(InputStrings, Value[, Include[, Compare]])
dnde:
InputStrings: es un array unidimensional del tipo cadena
Value: la cadena a buscar en InputStrings
Include: (opcional) Si se quiere que los elementos devueltos sean los que
incluyen la cadena indicada en Value o no, el valor por defecto es True,
es decir, que se devuelvan las que incluyan esa cadena a buscar.
Compare: (opcional), el tipo de comparacin a realizar.
Vamos a ver un ejemplo de cmo usar esta funcin.
'
Private Sub cmdFilter_Click()
'Filtra un array con la cadena indicada y devuelve un array
Dim tArray1() As String
Dim tArray2() As String
Dim i As Long
Dim sFilter As String
Dim bExclude As Boolean
'Llenar un list con datos de ejemplo y asignarlos a un array.
'En el form de prueba estos valores estn asignados en
'el Form_Load, pero lo pongo para que se sepa lo que hay.
With List3(0)
'.Clear
'.AddItem "Rodrigo Albuja" & vbTab & "Nerja"
'.AddItem "Luchito" & vbTab & "Quito"
'.AddItem "Juanito" & vbTab & "Mchala"
'.AddItem "Manucato" & vbTab & "Santo Domingo"
'.AddItem "Guille" & vbTab & "Guayaquil"
'.AddItem "Pily" & vbTab & "Loja"
ReDim tArray1(.ListCount - 1)
For i = 0 To .ListCount - 1
tArray1(i) = .List(i)
Next
End With
'sFilter = "Guille"
sFilter = Text5
'Incluir en tArray2 los elementos de tArray1 que tengan
'lo especificado en sFilter, sin distinguir maysculas de minsculas
'If Check1.Value = vbChecked Then
'
tArray2 = Filter(tArray1, sFilter, True, vbTextCompare)
'Else
'
'En esete caso se devuelven los elementos que no lo tengan
'
tArray2 = Filter(tArray1, sFilter, False, vbTextCompare)
'End If
'Tambin se puede hacer as:
tArray2 = Filter(tArray1, sFilter, Check1.Value, vbTextCompare)
'Mostrar los elementos obtenidos
With List3(1)
.Clear
For i = LBound(tArray2) To UBound(tArray2)
.AddItem tArray2(i)
Next
End With
End Sub
...................................................................................................................................................
............................................................
Ejemplo
En este ejemplo se usa la funcin de hoja de clculo Pago para calcular un pago de
prstamo hipotecario. Tenga en cuenta que en el ejemplo se usa el mtodo InputBox en
lugar de la funcin InputBox, para que el mtodo pueda comprobar el tipo.El enunciado
Static hace que Visual Basic conserve los valores de las tres variables, que se mostrarn
como valores predeterminados la prxima vez que se ejecute el programa...
como podemos observar en el siguiente ejemplo:
Static loanAmt
Static loanInt
Static loanTerm
loanAmt = Application.InputBox _
(Prompt:="Loan amount (100,000 for example)", _
Default:=loanAmt, Type:=1)
loanInt = Application.InputBox _
(Prompt:="Annual interest rate (8.75 for example)", _
Default:=loanInt, Type:=1)
loanTerm = Application.InputBox _
(Prompt:="Term in years (30 for example)", _
Default:=loanTerm, Type:=1)
payment = Application.WorksheetFunction _
.Pmt(loanInt / 1200, loanTerm * 12, loanAmt)
MsgBox "Monthly payment is " & Format(payment, "Currency")
Banco de Preguntas
Pregunta 1
QUE HACE LA FUNCION CELLS?
Es una propiedad de Objetos Range, que devuelve las celdas del rango especificado,
tambin devuelve todas las celdas de la hoja de datos, no slo las celdas que se estn
usando.
La funcion cell permite intruducir datos que se deseen organizar en una hoja de excel
permitiendo que ingresen en la celda seleccionada.
Pregunta 2
Como se tiene que considerar a un Objeto Range:
Sub Lectura1
Tit1=Range (A1)
Tit2=Range (B1 )
Nombre1=Range (A2 )
Nombre2=Range (A3)
Edad1=Range (B2)
Edad2=Range (B3)
End Sub
Pregunta 4
Qu realiza la funcin Selection Name? y escriba su sintaxis:
Selection: devuelve el objeto seleccionado en la ventana activa para un objeto Application.
Sintaxis
* expresin.Selection
* expresin Variable que representa un objeto Window.
* Selection es la funcin
Pregunta 5
Enumeres los mtodos del objeto Workbook de Excel y comente cada uno de ellos. a)
Activate : Activa un libro
b) Close :Cierra el libro con la posibilidad de indicar si deben guardarse los cambios.
c) Protect/Unprotect :Permite proteger un libro, de forma que los usuarios no puedan
agregar ni eliminar hojas de clculo, y volverlo a desproteger.
d) Save :Guarda el libro. Si el libro no se ha guardado antes, Excel lo guarda en la carpeta
actual
e) SaveAs :Permite guardar el libro especificado, indicando a ttulo opcional un nombre, un
formato de archivo, una contrasea
f) SaveCopyAs :Guarda una copia del libro en un archivo, pero no modifica el libro abierto
en memoria. Este mtodo es til cuando se desea crear una copia de seguridad sin modificar
la ubicacin del libro.
Pregunta 6
Explique que es un modulo estandar en Visual Basic?
Los mdulos estndar (extensin de nombre de archivo .bas) son contenedores de los
procedimientos. Pueden contener declaraciones globales (disponibles para toda la
aplicacin) o a nivel de mdulo de variables, constantes, tipos, procedimientos externos y
procedimientos globales. El cdigo que se escribe en un mdulo estndar no est ligado
necesariamente a una aplicacin determinada; si tiene cuidado de no hacer referencia a
controles o formularios por su nombre, puede reusar un mdulo estndar en distintas
aplicaciones.
UserForms
QUE ES USERFORMS EN VISUAl BASIC?
Un UserForm que se puede utilizar en Visual Basic es mejor conocido como un
Formulario que permitira que se ingresen datos por el teclado en un ambiente
eminemtemente grfico. Puede crear una interfaz amigable con el usuario de un libro o
algun documento, lo que permite que la entrada de los datos sea mayormente controlable y
mas fcil para las necesidades y requerimientos de el usuario.
QUE ES UN FORMULARIO DE USUARIO?
Un formulario de usuario es un objeto que se presenta en la pantalla, como puede serlo una
ventana emergente, un Inputbox, un Msgbox, etc.
CUAL ES SU FINALIIDAD?
Tiene como finalidad mostrar informacin. El usuario debe interactuar con ese formulario,
normalmente pulsando algn botn, el de aceptar, rechazar, o cualquier otro que el
programador haya incluido en el mismo.
COMO PODEMOS INCLUIR UN USERFORM?
Debemos acceder al modo VBA (Alt+F11), y seleccionaremos en el men Insertar la
opcin UserForm.
Cunado ya hayamos incluido un userform para poder empazar a trabajar, podemos
cambiarle el nombre al UserForm, porque por defecto nos habr salido este nombre:
UserForm1 siempre y cuando sea el primer UserForm que hemos creado en el libro.
COMO HACER PARA PODER CAMBIAR EL NOMBRE AL USERFORM?
Para cambiar el nombre, seleccionaremos en Propiedades, la propiedad Name, y donde
pone UserForm1, le pondremos el nombre que deseemos, pero si es un nombre compuesto,
deber ir sin espacioS.
QUE DEBEMOS HACER PARA INTRODUCIR TEXTO EN LA IMAGEN DEL
USERFORM?
Deberemos seleccionar el botn con la A maysculas llamado Etiqueta, y que figura en el
Cuadro de herramientas.
Para cambiar el tamao de la letra mostrada en el UserForm, una vez introducido el texto,
debemos seleccionar la propiedad Font, desde ah podemos cambiar el tipo de letra y el
tamao. Para introducir el botn al que le hemos puesto el texto de Aceptar,
seleccionaremos en el Cuadro de herramientas el botn llamado Botn de comando. Desde
las propiedades del botn, y con el botn seleccionado, elegiremos la propiedad Caption, y
a la derecha, donde pone CommandButton1, pondremos Aceptar, o cualquier otro texto que
deseemos.
COMO SABER SI NUESTRO USERFORM FUNCIONA?
Ahora solo nos queda por ver como funciona el UserForm, para lo cual pulsaremos el botn
que aparece debajo de las opciones de men, llamado Ejecutar macro (el botn con la
flecha azul).
Adems en la pantalla que nos aparece una vez que hemos creado nuestro UserForm,
introduciremos el siguiente cdigo. Esto es para poder empezar a programar y asi nuestro
UserForm este funcionando de la mejor manera:
Private Sub CommandButton1_Click() 'Ocultamos el formulario. 'Si le hemos
cambiado el nombre, en lugar 'de UserForm1, le pondremos el que tenga.
UserForm1.Hide End Sub
Para deseleccionar todos los controles, haga clic en el formulario. Para seleccionar
controles en un contenedeor, primero deseleccione el contenedor y despus
Ctrl+Clic+arrastraralrededor de los controles deseados. Paso a paso para utilizar un
"Cuadro de dilogo" : Hacer Click en el men: Herramientas, Macro, Editor de Visual
Basic.
PASO A PASO PARA UTILIZAR USERFORM
Hacer Click en el men: Insertar, UserForm.
Crear un grupo de controles en el formulario
Cambiar el nombre a un grupo de controles en el formulario
Cambiar nombre a cuadros de texto en el formulario
Relacionar cuadros de texto con las celdas que contienen los datos
Crear un botn para aumentar o disminuir nmeros
Asignar nombre al botn y relacionarlo con celdas
Crear una barra de desplazamiento para la tasa de inters
Asignar nombre a la barra de desplaz. para la tasa, y celda relacionada
Crear las etiquetas para mostrar los resultados del clculo
Crear un botn de comando para el formulario
Nota: Las descripciones grficas de un formulario y los controles sobre el formulario son
almacenados en formato binario en un archivo con extensin FRX.
Mdulos Estndar
Los mdulos estndar pueden contener cdigo que es comn a varios formularios en su
aplicacin. Este cdigo es por omisin pblico, lo cual significa que fcilmente compartido
con otros mdulos de cdigo, tales como un mdulo de formulario. Estos mdulos
contienen declaraciones de procedimientos, tipos y variables. No pueden almacenar
procedimientos de evento por que no contienen objetos.
CONSIDERACIONES GENERALES
Una vez que hemos analizado en que consisten las macros y tambin visto los principales
tipos de controles que pueden ser utilizados, ahora nos introduciremos en los userforms o
formularios.
En relacin los userforms, los formularios son mucho ms conocidos por todos, ya que
normalmente tenemos que convivir con ellos cada vez que navegamos por la web o cada
vez que tenemos que llenar alguna solicitud.
Los formularios general son utilizados para capturar una serie de informacin del usuario
que esta interactuando con dicho formulario. Simplificando un poco lo tcnico, podramos
decir que un formulario es una coleccin de controles activex que permiten la recoleccin
de informacin. En el caso de Excel, adems podemos elaborar un formulario
aprovechando sus celdas y las posibilidades de formato que podemos aplicarles a ellas.
Por su parte, los userforms, de alguna forma podramos decir que tambin son formularios
slo que mucho ms avanzados o complejos, razn por lo cual nos ofrecen muchas ms
posibilidades de comportamiento, uso o explotacin. Tcnicamente, diremos que un objeto
userform es una ventana o un cuadro de dilogo que conforma parte de la interfaz usuario
de una aplicacin. Al igual que los formularios, los userforms estn formados por una
coleccin de controles, ms una combinacin de cdigo y datos.
En esta seccin explicaremos a travs de ejemplos ambos conceptos. Advertimos de
antemano, que dada la complejidad de la construccin de un userform, no profundizaremos
en su codificacin o programacin, sino que slo nos remitiremos a algunas de sus
propiedades y a un ejemplo que nos ayudar a comprender su utilizacin.
Los UserForms y los controles tiene un conjunto de eventos predefinidos. Por ejemplo, un
botn de comando tiene un evento Click que se ejecuta cuando el usuario hace clic en l, y
UserForms tiene un evento Initialize que se ejecuta cuando se carga el formulario. Para
escribir un procedimiento de evento de control o de formulario, abra un mdulo haciendo
doble clic en el formulario o control y seleccione el evento del cuadro de lista emergente
Procedimientos/Eventos.
Por cada formulario hay un mdulo de formulario relacionado que contiene su cdigo.
Cada mdulo de formulario contiene procedimientos de evento: secciones de cdigo donde
se colocan las instrucciones que se ejecutarn como respuesta a eventos especficos. Por
cada control de un formulario, existe el correspondiente conjunto de procedimientos de
evento, en el mdulo de formulario. Adems de procedimientos de evento, los mdulos de
formulario pueden contener procedimientos generales.
Como ya se defini, un evento es una accin reconocida por un formulario o control. Cada
formulario y control de Visual Basic tiene un conjunto de eventos predefinidos. Si se
produce uno de dichos eventos y el procedimiento de evento asociado tiene cdigo, Visual
Basic llama a ese cdigo. A cada evento le corresponde una seccin de cdigo (o
procedimiento de evento). Cuando se desea que un control responda a un evento, se debe
escribir cdigo en el procedimiento respectivo.
Otro ejemplo:
EJEMPLO NUMERO 1
Application.ScreenUpdating = False ...Lineas de instruccion... Application.ScreenUpdating
= True Este codigo lo copias antes de iniciar tu procedimiento y al finalizar tu
procedimiento dentro de tus eventos por ejemplo ele evento clic de un boton:
private sub commandbutton_click()
End Sub
EJEMPLO NUMERO 4
Private Sub CommandButton1_Click() Application.ScreenUpdating = False
ActiveWorkbook.Unprotect "VKF76KL" Sheets("MATRICULA").Visible = True
Sheets("MATRICULA").Select ActiveSheet.Unprotect "DFR56HG" Range("A2").Select
Range("A1:Z5000").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
Sheets("REGISTRO").Range("Q165:W166"), CopyToRange:=Range("AG1"), Unique:= _
False Range("AG2:AI43").Select Selection.Sort Key1:=Range("AH2"),
Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False,
Orientation:=xlTopToBottom Range("AF2").Select Range("AG2:AI43").Select
Selection.Sort Key1:=Range("AI2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom Range("AF2").Select
Range("AG2:AG43").Select Selection.Copy ActiveWindow.ScrollWorkbookTabs
Position:=xlFirst ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
Sheets("REGISTRO").Select ActiveWindow.SmallScroll Down:=-63 Range("C4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
=False, Transpose:=False
Range("D4").Select Sheets("MATRICULA").Select Application.CutCopyMode = False
Range("AG1:BF1").Select Selection.EntireColumn.Delete Range("A5004").Select
ActiveWindow.ScrollWorkbookTabs Position:=xlFirst ActiveSheet.Protect "DFR56HG",
DrawingObjects:=True, Contents:=True, Scenarios:=True ActiveSheet.EnableSelection =
xlNoSelection Sheets("MATRICULA").Visible = False ActiveWorkbook.Protect
"VKF76KL" Sheets("REGISTRO").Select Range("D4").Select
Application.ScreenUpdating = True End Sub
Muestra todos los eventos reconocidos para el formulario o control mostrado en el cuadro
Objeto. Cuando seleccionamos un evento, en la ventana de cdigo se muestra el
procedimiento de evento asociado con ese evento.
La Barra de Divisin
Desde el men Ventana puede ejecutar el comando Dividir para dividir la ventana de
cdigo en dos partes, cada una de las cuales se desplaza separadamente. Puede entonces ver
diferentes partes de su cdigo al mismo tiempo. La informacin que aparece en el cuadro
Objeto y Procedimiento se refiere al cdigo en la parte que tiene el enfoque. El mismo
comando utilizado para dividir la ventana puede utilizarlo para cerrar una de sus partes o
tambin lo puede hacer arrastrando la barra de divisin hacia la parte superior o inferior de
la ventana.
El Botn Ver Procedimiento
Establece que en la ventana de cdigo se edite un procedimiento a la vez.
El Botn Ver Mdulo Completo
Establece que en la ventana de cdigo se tenga acceso a todos los procedimientos,
separados por una lnea separadora uno de otro.
Editando Cdigo
Use las caractersticas de edicin de Visual Basic para que su cdigo sea ms fcil de leer.
Sangra
Use la sangra para diferenciar partes de su cdigo, tales como estructuras repetitivas y
condicionales. Para aplicar sangra a una seccin de sentencias de un cdigo use la tecla
Tab o el comando Aplicar sangra del men Edicin. Se forma similar, Shift + Tab o el
comando Anular sangra del men Edicin quitar una sangra a las lneas seleccionadas.
Veamos el siguiente ejemplo:
Columns
Devuelve un objeto Range que representa las columnas del rango especificado o todas las
columnas de la hoja de datos. Objeto Range de slo lectura.
expresin.Range
expresin Requerida. Expresin que devuelve un objeto de la lista Aplicar a. Para obtener
informacin sobre cmo devolver un solo elemento de un conjunto, vea Devolver un objeto
de un conjunto.
Es una propiedad de Objetos Range, que devuelve el valor de las columnas del rango
especificado o el valor de todas las columnas de la hoja de datos.
Sintaxis
expresin.Range
MACROS
MACROS Introduccin Las operaciones tradicionales que se pueden realizar en Excel para
Windows las podemos automatizar, de manera que se mantenga un registro que las
contenga y posteriormente hacer referencia a ellas para la simplificacin de tareas. Excel es
un programa muy potente, pero la mayora de las personas lo maneja de una forma muy
bsica, Excel cuenta con un lenguaje de programacin llamado Visual Basic, y permite
hacer o resolver los problemas de forma ms rapida y sencilla, este curso es de un nivel
alto, pero es fcil de aprender ya que se manejaran trminos sencillos. Una Macro son una
serie de pasos que se almacenan y se pueden activar con alguna tecla de control y una letra,
un boton o manualmente. Por ejemplo, si repetidamente se emplea una serie de pasos como:
Cambiar el Tamao de Fuente o Tamao de la letra, poner Negrita, cambiar la Fuente o
Tipo de letra y el Color de Fuente o Color de Letra, para no estar repitiendo estos pasos se
pueden almacenar en una macro y se ejecutara la macro las veces que se desee. En resumen
una macro consiste en una serie de comandos y funciones que se almacenan en un mdulo
de Microsoft Visual Basic y que puede ejecutarse siempre que sea necesario realizar la
tarea. Para esto Excel para Windows cuenta con dos herramientas bsicas: las macros y los
mdulos. En esta seccin se revisarn las macros. Para explicar lo que es una macro, vamos
a hacer una analoga entre un micrfono y una cinta con la computadora y la grabadora de
macros.
La grabadora de macros funciona de manera similar a una grabadora de cintas. Una graba
lo que la persona dice, otra graba lo que el usuario hace. Grabar Macro Antes de grabar o
escribir una macro hay que tener en cuenta los siguientes puntos: 1. Planifique los pasos y
los comandos que desea que ejecute la macro 2. Si se comete algn error mientras se graba
la macro, tambin se grabarn las correcciones que se realicen. 3. Cada vez que se grabe
una macro, sta se almacenar en un nuevo mdulo adjunto a un libro. Al grabar una
macro, Excel almacena informacin sobre cada paso dado cuando se ejecuta una serie de
comandos. A continuacin, se ejecuta la macro para que repita los comandos. Si se comete
algn error mientras se graba la macro, tambin se graban las correcciones que se realicen.
Visual Basic almacena cada macro en un nuevo mdulo adjunto a un libro. Para grabar una
macro seleccione del men Herramientas el comando Grabar macro y despus del submen
Grabar nueva macro.
Se debe asignar un Nombre de la macro junto con una Descripcin, aunque Excel para
Windows siempre asigna estos predeterminados. Almacenar en son los posibles lugares
donde se puede alojar la macro que se est grabando, ya sea en Este libro, en un Nuevo
libro o en el Libro de macros personal. En la opcin Mtodo Abreviado aparece que se
activara con la tecla Control(CTRL) + la letra que usted indique, Ejemplo m . La macro se
activara cuando este lista con la tecla Control + m Al presionar Aceptar la grabacin se
inicia. En este momento, todas las acciones que realice se estarn registrando por Excel
para Windows. Para finalizar la grabacin seleccione del men Herramientas el comando
Grabar macro y despus del submen Finalizar grabacin, o presione el botn que aparece
al estarse grabando una macro. Referencias relativas Las macros se pueden grabar ya sea
con referencias absolutas o relativas. Para indicarlo, seleccione del men Herramientas el
comando Grabar macro y despus del submen Usar referencias relativas . A menos que
esta opcin est desactivada, la Grabadora de macros usar referencias relativas, no
absolutas, para las celdas de una hoja de clculo. Boton de finalizar Grabacin Boton de
Referencias Relativas
Ejecutar una macro Para entender la forma de ejecutar una macro podemos utilizar otra vez
la analoga con la grabadora. Las voz que se reproduce en la grabadora se escucha en la
bocina, y de la misma forma, la macro que se reproduce en la grabadora se ejecuta en Excel
para Windows. La ejecucin de la macro se puede hacer de distintas formas. Si tiene
asignado una combinacin de teclas de mtodo abreviado con stas se puede iniciar la
ejecucin. Se puede ejecutar una macro seleccionndola de una lista en el cuadro de
dilogo Macro. Para que una macro se ejecute cada vez que haga clic en un botn
determinado o presione una combinacin de teclas especfica, asigne la macro a un botn
de la barra de herramientas, a un mtodo abreviado de teclado o a un objeto grfico de una
hoja de clculo. Otra forma de ejecutar una macro es utilizando del men Herramientas el
comando Macro.
De las macros listadas, se selecciona la deseada y se presiona Ejecutar. Tambin se puede
ejecutar Paso a paso para revisar los procedimientos que va realizando. Adems de estas
opciones, se tienen otras ms que se revisarn ms adelante. Manipulacin de Macros Tras
grabar una macro, se puede ver el cdigo de macro con el Editor de Visual Basic para
corregir errores o modificar lo que hace la macro. Por ejemplo, si la macro de ajuste de
texto tambin tiene que aplicar el formato de negrita al texto, se puede grabar otra macro
para aplicar el formato de negrita a una celda y, a continuacin, copiar las instrucciones de
esa macro a la macro de ajuste de texto. El Editor de Visual Basic es un programa diseado
para que los usuarios principiantes puedan escribir y editar fcilmente cdigo de macro, y
proporciona mucha Ayuda en pantalla. No es preciso saber cmo se programa o se utiliza el
lenguaje de Visual Basic para realizar cambios sencillos en las macros. El Editor de Visual
Basic permite modificar macros, copiarlas de un mdulo a otro, copiarlas entre diferentes
libros, cambiar el nombre de los mdulos que almacenan las macros o cambiar el nombre
de las macros. Con el comando Macro del men Herramientas, la misma que se vio en el
tema anterior, podemos realizar varias acciones ms. Editar abre la macro o el mdulo de
Visual Basic para poder realizar ediciones del cdigo que se gener. Si se grab en el Libro
de macros personal se tiene que utilizar el comando Mostrar del men Ventana para
aparecer el libro "Personal" que est oculto. Tambin podemos Eliminar la macro o el
procedimiento seleccionado. Con las Opciones se muestra la siguiente caja de dilogo:
Estas opciones son las mismas que se especificaron cuando se grab la macro. Seguridad de
macros Excel incluye protecciones contra virus susceptibles de ser transmitidos por macros.
Si se comparten macros con otros usuarios, se puede certificar esas macros con una firma
digital de modo que los dems usuarios pueden comprobar que proceden de una fuente
fidedigna. Al abrir un libro que contiene macros, se puede comprobar su origen antes de
habilitarlas. Tipos de Macros Macros automticas Existen varias macros previamente
creadas para Excel para Windows. Estn disponibles en el men Herramientas opcin
Complementos. Al seleccionar esta opcin aparece la siguiente caja de dilogo: Con esta
opcin se especifican las macros que estn disponibles y listas para usarse al iniciarse Excel
para Windows. Se pueden instalar o eliminar las macros automticas que vienen con Excel
para Windows, o las que se hayan creado. Aqu se muestran las Macros automticas
disponibles. Pueden seleccionarse o borrarse las casillas de verificacin de las macros
automticas a fin de instalar o eliminar las mismas en Excel para Windows. Con el botn
Examinar se muestra una caja de dilogo similar a la de Abrir archivo donde puede
seleccionarse una macro automtica para ser instalada en Excel para Windows. Adems de
la macros grabadas se pueden crear cdigos completos de macro instrucciones que son una
serie de instrucciones que permiten automatizar procesos Sencillos, Avanzados y/o
Complejos. Otra utilidad de este tipo de macros es que permite, ajustar una macro (como
las que se crearon en la seccin anterior) a las necesidades del trabajo que se necesite
realizar. Haciendo el trabajo de 5 a 8 veces ms rpido el trabajo cotidiano e inclusive en
algunas ocasiones ms rpido. Algunos ejemplos de lo que podemos hacer con las macros
son: Procesos de captura de informacin. Procesos de impresin. De anlisis de datos.
De manejo de base de datos. Elaboracin de reportes. Simplificacin de tareas. Tareas
que son repetitivas, que hay que realizar varias veces el mismo procedimiento. Un sistema
de informacin. Sistemas administrativos. Estn disponibles en el men Herramientas
opcin Asistente. Macros de Excel Las macros se puede agrupar en dos categoras
principalmente: Macros de funciones Macros de comandos Macros de funciones Si ejecuta
frecuentemente una tarea en Microsoft Excel, puede automatizarla mediante una macro.
Una macro consiste en una serie de comandos y funciones que se almacenan en un mdulo
de Visual Basic y que puede ejecutarse siempre que sea necesario ejecutar la tarea. Una
macro se graba igual que se graba msica en un casete. A continuacin, se ejecuta la macro
para que repita los comandos. Con el Editor de Visual Basic, se pueden modificar macros,
copiar macros de un mdulo en otro, copiar macros entre diferentes libros, cambiar de
nombre a los mdulos que almacenan las macros o cambiar de nombre a las macros.
Macros de comandos La creacin de estas macro funciones consiste en poner una serie de
ARGUMENTOS, en las cuales podemos ir poniendo los datos que lleva una funcin
normal de Excel para Windows y al final le indicamos que operaciones hacer con estos
ARGUMENTOS y de esta manera se optimiza el uso de varias frmulas para llegar a un
resultado. Es decir la creacin de una funcin simplifica el uso de varias frmulas,
dejndolas como una sola. Dentro de la codificacin de macros de Excel para Windows se
tiene dos grupos de cdigos. Visual Basic Macros de Excel Macros desde Visual Basic Es
un lenguaje (Codificacin), que se puede utilizar, como lenguaje comn entre los diferentes
programas que se tiene en el Microsoft Office, cabe mencionar que esta basado en un
Lenguaje llamado Visual Basic, pero no tiene mucho que ver con l. La macros de Visual
Basic estn basadas en mdulos, que por tal hecho se vuelven ms complicadas, teniendo
como ventaja que son compatibles dentro de varias aplicaciones, de esta manera se tendra
un lenguaje comn de macros entre varios programas, con lo cual se logra que se pierda
menos tiempo en realizar una macro en alguno de estos programas. Por esta razn es que
las macros de Visual Basic es visto en un curso en particular.
Else
End Sub
Private Sub Command1_Click(). 'Busca a pratir de la primera pocicin. Call
buscar_cadena(1). End Sub
Private Sub Command2_Click() 'Busca a partir del valor que tenga m_Pos
Call buscar_cadena(m_Pos + 1)
End Sub
Private Sub Form_Load() Command1.Caption = "Buscar" Command2.Caption = "Buscar
siguiente" Me.Caption = "Ejemplo de InStr " End Sub
COMBOBOX QUE ES?
El control ComboBox de los formularios Windows Forms se utiliza para mostrar datos en
un cuadro combinado desplegable. De forma predeterminada, el control ComboBox
aparece en dos partes: la parte superior es un cuadro de texto que permite al usuario escribir
un elemento de la lista. La segunda parte es un cuadro de lista que muestra una lista de
elementos, de los cuales el usuario puede seleccionar uno.
Por lo tanto el Listbox1 va a guardar los nmero del 1 al 50, sin necesidad de irlos
poniendo de uno por uno, imagnatelo.
Listbox1.AddItem "1"
Listbox1.AddItem "2"
Listbox1.AddItem "3"
Bueno esto es para introducirle datos a un Listbox y Combobox, pero como puedo usar
estos datos para enviarlos para una celda, en el siguiente ejemplo te lo explico:
Da doble clic en el Listbox y escribe el siguiente cdigo:
Private Sub ListBox1_Click()
Range("a9").Select
ActiveCell.FormulaR1C1 = ListBox1
End Sub
As de de fcil cada vez que escojas un dato que se encuentre en un Listbox1 lo enviara a la
celda a9, escribindolo ah. Si lo deseas hacer lo puedes hacer en un Combobox, solo
cambia Listbox1 por Combobox1 y se acabo.
Ahora si deseas agregar los datos al Listbox o Combobox sin ningn botn que presionar
escribe el siguiente cdigo:
Private Sub UserForm_Activate()
ComboBox1.AddItem "Juan Jose"
ComboBox1.AddItem "Pedro de la Fuente"
ComboBox1.AddItem "Salvador de la Luz"
ListBox1.AddItem "Juan Jos"
ListBox1.AddItem "Pedro de la Fuente"
ListBox1.AddItem "Salvador de la Luz
End Sub
Loop
End Sub
renglones hacia abajo, pero si deseas moverte hacia la derecha por columnas solo cambia la
lnea ActiveCell.Offset( 1, 0).Select por ActiveCell.Offset(0, 1).Select, quiere decir que se
mueva por columna, no por rengln. ActiveCell.Offset(Rengln, Columna).Select
Si cambias el 1 por otro numero se mover el numero de veces que tu le indiques, por
ejemplo si quiero bajar 10 renglones de un golpe:
ActiveCell.Offset(10, 0).Select
Combo1.Locked = True
El cdigo se modifica para seleccionar el ltimo elemento agregado en un control
ComboBox
El cdigo siguiente muestra cmo se establece la seleccin en un elemento que se ha
agregado mediante programacin a un control ComboBox.
Visual Basic 6.0
control listbox
El control ListBox permite aadir elementos en forma de lista y tambin poder seleccionar
elementos de la misma para trabajar los datos.
Este control permite seleccionar un elemento solo o varios de ellos, utilizando la propiedad
Multiselect. La imagen de la izquierda muestra un ListBox en el que se selecciona un solo
elemento y a la derecha se seleccionan varios:
Bibliografa
http://msdn.microsoft.com/en-us/library/aa168344(office.10).aspx
http://www.programatium.com/manuales/excel/8.htm
http://www.zator.com/Cpp/E4_9_8.htm http://www.mailxmail.com/curso-sql/operadoreslogicos http://www.programacionfacil.com/visual_basic:select_case
http://www.cidse.itcr.ac.cr/cursos-linea/NUMERICO/excel/VBAExcel-MNumericos.pdf
http://es.wikipedia.org/wiki/Visual_Basic http://www.softonic.com/s/componentes-visualbasic http://www.softonic.com/s/componentes-visual-basic
http://www.xltoday.net/vba_bucles_intro.asp http://msdn.microsoft.com/eses/library/21daexkw(VS.80).aspx
autor: Santos Gonzales, Manuel titulo: Fundamentos de Programacion
Obtenido de "http://wiki.soludevt.com/index.php?
title=VISUAL_BASIC_PARA_APLICACIONES_EXCEL"
Vistas
Pgina
Discusin
Historial
Herramientas personales
Registrarse/Entrar
Navegacin
Pgina Principal
Portal de la comunidad
Actualidad
Cambios recientes
Pgina aleatoria
Ayuda
temas
VBA
Buscar
Especial:Search
Ir
Buscar
Herramientas
Cambios relacionados
Pginas especiales
Enlace permanente
Esta pgina fue modificada por ltima vez el 02:31, 8 jul 2010.
Aviso legal