Sei sulla pagina 1di 349

VISUAL BASIC PARA APLICACIONES

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 Elementos de un programa de Visual Basic


o 4.1 Los Elementos bsicos de programacin son los que se mencionan a
continuacion:

4.1.1 Sentencias de Control

4.1.1.1 Estructura Secuencial

4.1.1.2 Estructuras Selectivas

4.1.1.2.1 Selectiva Simple (If Then / End If)

4.1.1.2.2 Selectiva Doble (If Then / Else / End If)

4.1.1.2.3 Selectiva Mltiple (Select Case / Case else /


End Select)

4.1.1.3 Estructuras Repetitivas

4.1.2 Procedimientos

4.1.3 Variables

4.1.3.1 Tipos de Datos de las Variables

4.1.3.2 Declarar Variables

4.1.3.3 Opction Explicit:

4.1.3.4 Declarar una Variable de objeto para Automatizacin

4.1.3.5 Comprender la Vida de las 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 Estructuras de Control de Flujo

o 7.1 Crear Bucles mediante Cdigo


o 7.2 Banco de Preguntas
o 7.3 Instrucciones IF...THEN...ELSE
o 7.4 Banco de Preguntas

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

o 7.5 Instrucciones SELECT CASE


o 7.6 Banco de Preguntas

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

o 7.7 Instrucciones DO LOOP


o 7.8 Banco de Preguntas

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

o 7.9 Instrucciones FORNEXT


o 7.10 Banco de Preguntas
o 7.11 Pregunta 1

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

o 7.12 Banco de Preguntas

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 Objetos, Propiedades, Mtodos y Procedimientos de Evento


o 8.1 Comprender Objetos, Propiedades, Mtodos y Eventos
o 8.2 Procedimientos
o 8.3 Banco de Preguntas

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 Colecciones de Objetos en Excel


o 9.1 El examinador de objetos
o 9.2 Uso de la ventana Locales
o 9.3 Uso de la ventana Inmediato
o 9.4 Controlar una aplicacin de Microsoft Office desde otra
o 9.5 Objeto Application y Windows
o 9.6 Objetos WorkBooks

9.6.1 ThisWorkBook

9.6.2 Sheets

9.6.3 WorkSheets

9.6.4 Charts

9.6.5 Shapes

9.6.6 Banco de Preguntas

9.6.6.1 Pregunta 1

o 9.7 Objetos ActiveCell

9.7.1 ActiveSheet

9.7.2 ActiveWorkBook

9.7.3 ActiveChart

9.7.4 Banco de Preguntas

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

o 9.8 Objetos Range

9.8.1 Cells

9.8.2 Columns

9.8.3 Propiedad Columns

9.8.4 Rows

9.8.5 IMPRIMIR CELDAS

9.8.6 Selection Name

9.8.7 FUNCIONES

9.8.8 Banco de Preguntas

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).

CARACTERISTICAS DE VISUAL BASIC

EDICIONES DE VISUAL BASIC


Visual Basic se encuentra disponible en tres versiones, cada una de las cuales est orientada
a unos requisitos de programacin especficos. La Edicin de Aprendizaje de Visual Basic
permite a los programadores crear robustas aplicaciones para Microsoft Windows y
Windows NT. Incluye todos los controles intrnsecos, adems de los controles de
cuadrcula, de fichas y los controles enlazados a datos. La documentacin proporcionada
con esta edicin incluye el CD "Aprenda VisualBasic ya" junto con el de la biblioteca de
Microsoft Developer Network (MSDNT) que contienen documentacin completa en
pantalla. La Edicin Profesional proporciona a los profesionales un conjunto completo de
herramientas para desarrollar soluciones para terceros. Incluye todas las caractersticas de la
Edicin de Aprendizaje, as como controles ActiveX adicionales, el diseador de
aplicaciones para Internet Information Server y Visual Database Tools and Data. La
documentacin que se proporciona con la Edicin Profesional incluye el libro
Caractersticas empresariales de Visual Studio ms los CD de Microsoft Developer
Network que contienen documentacin completa en pantalla. La Edicin Empresarial
permite a los profesionales crear slidas aplicaciones distribuidas en un entorno de equipo.
Incluye todas las caractersticas de la Edicin Profesional, as como herramientas de Back
Office como SQL Server, Microsoft Transaction Server, Internet Information Server, Visual
SourceSafe, SNA Server, etc. La documentacin impresa que se proporciona con la Edicin
Empresarial incluye el libro Caractersticas empresariales de Visual Studio ms los CD de
Microsoft Developer Network que contienen documentacin completa en pantalla.
Como se define Visual Basic
Visual Basic es una tcnica de programacin, conocida como programacin por sucesos o
eventos, que es una mezcla de la programacin estructurada y de programacin orientada a
objetos, con el uso de la interfaz grfica de usuario. De esta manera el programador trabaja
desde el primer momento en un ambiente orientado a objetos.
Que se puede hacer en Visual Basic
- Con Visual Basic se pueden crear aplicaciones con las caracteristicas de los programas de
Windows, esto es con ventanas, botones, cajas de dilogo y de texto, botones de opcion y
de seleccin, barras de desplazamiento, grficos, mens, etc.
- Con Visual Basic se pueden crear programas para uso personal, para un grupo de trabajo,
para una empresa, aplicaciones distribuidas a travs de aplicaciones de bases de datos y
muchas otras mas de acuerdo a su ingenio e imaginacin.

- 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

o (DirListBox) Lista de directorios


o (FileListBox) Lista de archivos
o (Shape) Figura
o (Line) Lnea
o (Image) Imagen
o (Data) Conexin a origen de datos
o (OLE) Contenedor de documentos embebidos compatibles con Object Linking and
Embedding
Se pueden agregar todo tipo de controles de terceros, una gran cantidad de ellos de serie
con la instalacin de Visual Basic que vienen embebidos dentro de archivos de extensin
*.OCX.
El panel lateral derecho contiene dos vistas principales:
o El Explorador de Proyectos, que muestra todos los elementos que componen nuestro
proyecto o grupos de proyectos (formularios, interfaz de controles, mdulos de cdigo,
mdulos de clase, etc...)
o El Panel de propiedades, donde se muestran todos los atributos de los controles de
nuestros formularios o la informacin de modulos clase y formularios entre otros muchos.
La Ventana de inmediato (por defecto en la parte inferior aunque puede no estar visible.
Utilizar Ctrl+G mostrar la ventana). Esta ventana resulta una herramienta muy til a la hora
de depurar cdigo o incluso de hacer pruebas rpidas ya que permite imprimir mensajes de
texto desde nuestro cdigo y ejecutar sentencias simples de cdigo (solo sentencias que se
puedan representar en una sola lnea, no permite bloques) que puede ser desde cdigo de
nuestra propia aplicacin, por ejemplo consultar el valor de una variable o llamar a un
mtodo declarado en el mdulo que se est depurando, as como ejecutar cdigo al vuelo,
esto viene a ser por ejemplo probar cosas como:
?2+2
Al ejecutarlo devolvera el resultado de la operacin, pudiendo usar variables del cdigo de
la aplicacin, o sentencias de cdigo como:
Msgbox "Prueba de cuadro de mensaje de error.", vbCritical, "Titulo del mensaje"
A la hora de depurar errores es til para consultar el error en cuestin: ?Err.Number

VERSIONES QUE TIENE VISUAL BASIC


Las versiones de Visual Basic para Windows son muy conocidas, pero existe una versin de
Microsoft Visual Basic 1.0 para MS-DOS (ediciones Profesional y Estndar) menos
difundida y que data de 1992.
Era un entorno que, aunque en modo texto, inclua un diseador de
formularios en el que se podan arrastrar y soltar distintos controles.

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).

No permite programacin a bajo nivel ni incrustar secciones de cdigo en ASM (aunque


es posible ejecutar cdigo ASM mediante pequeos hacks como este).
Slo soporta libreras dinmicas (DLL) que usen la convencin de llamadas _stdcall y
componentes y libreras ActiveX.
Es un lenguaje basado en objetos pero no implementa por completo la filosofa de
Orientacin a Objetos (vase POO).
No permite la sobrecarga de operadores ni mtodos. No permite nombres de espacio
(vase namespace). No soporta el puntero a memoria salvo en algunas acciones concretas,
como por ejemplo pasar la direccin de memoria de una funcin como argumento
(operador AddressOf). No soporta tratamiento de procesos como parte del lenguaje. No
incluye operadores de desplazamiento de bits como parte del lenguaje. No permite el
manejo de memoria dinmica, punteros, etc. como parte del lenguaje. No soporta el
tratamiento de excepciones. Su tratamiento de errores se basa en la captura de mensajes y
desvo del flujo de ejecucin de la forma tradicional del BASIC (On Error Goto
<etiqueta/numero lnea>). No controla todos los errores de conversin de tipos dado que
en muchas ocasiones hace conversiones al vuelo (sobre todo al usar variables de tipo
Variant). Aunque existen opciones avanzadas en el compilador para desactivar los
controladores de desbordamiento de enteros o las comprobaciones de lmites en matrices
entre otros (presumiblemente para optimizar y lograr algo de rendimiento) no es seguro del
todo dado que hay ms posibilidades de generar una excepcin grave no controlada por el
intrprete (y por consiguiente del programador) o un memory leak haciendo el programa
altamente inestable e impredecible. No tiene instrucciones de preprocesamiento. El
tratamiento de mensajes de Windows es bsico e indirecto. El depurador no es demasiado
flexible ni cmodo en ciertas situaciones.
Los controles personalizados no mejoran la potencia de la API de Windows, y en
determinados casos acudir a sta ser el nico modo de conseguir el control personalizado
deseado.
No soporta correctamente la programacin multihilo haciendo muy inestable su ejecucin
inclusive desde el propio entorno de desarrollo.
Su fuerte dependencia de libreras y componentes ActiveX que requieren de privilegios de
administrador para poder instalar las aplicaciones (existen opciones de terceras aplicaciones
para generar ejecutables independientes que embeben las dependencias en el propio cdigo
del ejecutable, por ejemplo: Molebox o Thinstall/VMware Thinapp).
Un gran inconveniente es que no soporta codigo binario (Esto ha sido descubierto por el
Matematico Griego Alsdork Vita en el ao 1994).
Se bugea con facilidad y no permite ensamblar codigo libre, aunque algunos
programadores han violado esta regla, y sufrieron consecuencias. (Ver Bill Gates).

Aunque es bueno compilando, posee gran cantidad de bugs y es necesario actualizar a la


version 7 con el parche Raid.
Como se disean las aplicaciones
Las aplicaciones en Visual Basic se disean de dos formas: en Modo de Diseo y en Modo
de Ejecucin. En Modo de Diseo el usuario construye interactivamente la aplicacin
colocando controles en el formulario definiendo sus propiedades y desarrollando funciones
para gestionar eventos.
La aplicacin se prueba en Modo de Ejecucin, para lo cual el acta sobre el programa
introduciendo eventos y prueba como responde el programa. Muchas propiedades de los
controles deben establecerse en modo diseo, pero otras pueden modificarse en tiempo de
ejecucin desde el programa. Tambin hay propiedades que solo se pueden establecer en
modo de ejecucin y que no son visibles en modo de diseo.
Controles
Cada uno de los elementos grficos que pueden formar parte de aplicacin tpica de
Windows es un tipo de control, entre estos encontrar los botones, las cajas de dialogo y de
texto, las cajas de seleccin desplegables, los botones de opcin y de seleccin, las barras
de desplazamiento horizontales y verticales, los grficos, los mens y otros elementos son
controles para Visual Basic. Cada control debe tener un nombre por medio del cual se
pueda hacer referencia en el programa. Visual Basic proporciona nombres a los controles
por defecto los mismos que el usuario puede modificar de acuerdo a sus objetivos y
conveniencias. Sin embargo se recomienda observar algunas reglas para dar nombres a los
distintos controles.
Formularios
En Visual Basic llamamos formulario ( form ) a una ventana. Un formulario es considerado
como una especie de contenedor para los controles. Una aplicacin puede tener varios
formularios pero muchas veces un solo formulario puede ser suficiente para una aplicacin
sencilla. Los formularios tambin deben tener un nombre, que pueden crearse siguiendo las
mismas reglas utilizadas para los controles.
Objeto
Un objeto es una definicin abstracta de algo, identificado por dos subpartes
inexorablemente unidas entre s. En primer lugar un objeto, tiene atributos, en ocasiones
llamados estados o propiedades, que lo describen. En segundo lugar, un objeto tiene
comportamientos, a veces denominado funciones o mtodos, los cuales describen lo que
puede hacer. Por ejemplo un perro, un auto y una naranja son objetos. A continuacin
describamos algunos atributos y comportamientos posibles de cada uno.

Documentacin de Visual Basic.


Visual Basic incluye varias herramientas de documentacin, cada una designada para
ayudarle a aprender y usar un aspecto particular del producto. La documentacin
proporcionada con Visual Basic incluye lo siguiente:
Ayuda de la interfaz de usuario de Visual Basic Busque aqu ayuda sobre los elementos de
interfaz del Editor de Visual Basic, como comandos, cuadros de dilogo, ventanas y barras
de herramientas.
Referencia el lenguaje de Visual Basic La Referencia del lenguaje es el lugar donde buscar
ayuda sobre el lenguaje de Visual Basic: todos sus mtodos, propiedades, instrucciones,
funciones, operadores y objetos.
Uso de funciones de hoja de clculo de Microsoft Excel en Visual Basic
Puede usar la mayora de las funciones de hoja de clculo de Microsoft Excel en los
enunciados de Visual Basic. Para obtener una lista de las funciones de hoja de clculo que
puede usar, vea Lista de funciones para hojas de clculo en Visual Basic.
Nota Algunas funciones de hoja de clculo no tienen utilidad en Visual Basic. Por ejemplo,
la funcin Concatenar no es necesaria, ya que en Visual Basic puede usar el operador &
para unir varios valores de texto.
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.
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
Nota

Las funciones de Visual Basic no usan el calificador WorksheetFunction. Una funcin


puede tener el mismo nombre que una funcin de Microsoft Excel y, sin embargo, dar otros
resultados. Por ejemplo, Application.WorksheetFunction.Log y Log dan resultados
diferentes.
Insertar una funcin de hoja de clculo en una celda Para insertar una funcin de hoja de
clculo en una celda, especifique la funcin como el valor de la propiedad Formula del
objeto Range correspondiente. En el siguiente ejemplo, la funcin ALEATORIO (que
genera un nmero aleatorio) se asigna a la propiedad Formula del rango A1:B3 de la Hoja1
del libro activo.
Sub InsertFormula()
Worksheets("Sheet1").Range("A1:B3").Formula = "=RAND()"

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)

MsgBox "Monthly payment is " & Format(payment, "Currency")

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.

o (HScrollBar) Barra de desplazamiento horizontal : Sirven para informar de la posicin


del cuadro de desplazamiento dentro de la barra.
o (VScrollBar) Barra de desplazamiento vertical
o (DriveListBox) Lista de unidades de disco : es una especie de Combo Box o lista
desplegable que nos permite visualizar las unidades que tengamos en la PC o
(DirListBox) Lista de directorios
o (FileListBox) Lista de archivos
o (Shape) Figura
o (Line) Lnea : proporciona un medio sencillo para dibujar lineas en un formulario
o (Image) Imagen
o (Data) Conexin a origen de datos
o (OLE) Contenedor de documentos embebidos compatibles con Object Linking and
Embedding
vba-ejemplos
=Programacin en entornos Visual Basic=
Caractersticas de Visual Basic.
Barra de titulo: muestra el nombre del proyecto y del formulario que se est diseando
actualmente
Barra de mens: agrupa los mens despegables que contienes todas las operaciones que
pueden llevarse a cabo con Visual Basic
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 (Form)
Panel de controles Contiene los objetos (controles) que podemos insertaren el formulario.
Para nuestro primer ejemplo vamos a utilizar los que estn sealados.
Etiqueta de texto: Escribe texto en el formulario Cuadro de texto: Crea un espacio donde
puede escribir el usuario
Botn: nos permite la interaccion entre formularios o la ejecucion de acciones
Lnea: nos permite dibujar lneas
Shape: nos permite dibujar figuras geomtricas
Timer: introduce una llamada al reloj del sistema para incluir eventos a lo largo de un
espacio temporal. TextBox:Mediante este control podremos realizar tanto la entrada como
la salida de datos en nuestras aplicaciones.
No hace falta que indiquemos las coordenadas de la situacin del formulario en pantalla,
simplemente tendremos que marcar sobre el control de la caja de herramientas y dibujarlo
con el tamao que queramos en nuestro formulario
Label
Este control es tambin uno de los ms utilizados, aunque su utilidad queda restringida a la
visualizacin de datos en el mismo, no permitiendo la introduccin de datos por parte del
usuario,es decir es una etiqueta en donde colocamos un titulo que aparecera en un
formulario Este componente se utiliza para desplegar textos o mensajes estticos dentro de
las formas, textos tales como encabezados, solicitud al usuario del programa para que
proporcione algn dato o informacin(edad, dame sueldo, etc.), en cierta forma hace las
funciones de printf, cout, writeln, print, display, etc., pero solo cuando se consideran en su
parte de mensajes.

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.

== DECLARACIONES:_Declarar instrucciones == Escribir instrucciones de Visual


Basic
Las instrucciones de declaracin se usan para dar nombre y definir procedimientos,
variables, matrices y constantes. Cuando se declara un procedimiento, variable o constante,
tambin se define su alcance que depende del lugar en que se coloque la declaracin y de
las palabras clave que se usan para ello. Las instrucciones de declaracin, que dan nombre a
una variable, constante o procedimiento y pueden tambin especificar su tipo de datos. El
siguiente ejemplo contiene tres declaraciones.
Sub DarFormato()
Const limite As Integer = 33
Dim miCelda As Range
' Mas instrucciones
End Sub

La instruccin Sub (con la correspondiente instruccin End Sub) declara un procedimiento


llamado DarFormato. Todas las instrucciones que aparecen entre las instrucciones Sub y
End Sub se ejecutan cuando el procedimiento DarFormato se ejecuta o se llama.
En VBA, es necesario declarar las variables antes de usarlas mediante la asignacin de
nombres y tipos de datos. Hay muchos tipos de datos VBA, que pueden ser divididos en
dos tipos numricos y datos no numricos
Escribir instrucciones de declaracin
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.
Para obtener ms informacin, vea "Comportamiento" en Instruccin Dim (Visual Basic).
Continuar instrucciones en mltiples lneas Una instruccin cabe normalmente en una lnea,
pero puede continuarse en la siguiente utilizando un carcter de continuacin de lnea. En el
siguiente ejemplo, la instruccin ejecutable MsgBox se extiende por las tres lneas que le
siguen:
Sub CuadroDemo()'Este procedimiento declara una variable de cadena,
' le asigna el valor Juan y a continuacin
' presenta en pantalla un mensaje concatenado.
Dim miVar As String
miVar = "Juan"
MsgBox Prompt:="Hola " & myVar, _
Title:="Cuadro de saludo", _
Buttons:=vbExclamation
End Sub

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.

Escribir instrucciones de declaracin


Las instrucciones de declaracin se usan para dar nombre y definir procedimientos,
variables, matrices y constantes. Cuando se declara un procedimiento, variable o constante,
tambin se define su alcance que depende del lugar en que se coloque la declaracin y de
las palabras clave que se usan para ello. El siguiente ejemplo contiene tres declaraciones.
Sub DarFormato()
Const limite As Integer = 33
Dim miCelda As Range
' Mas instrucciones
End Sub

La instruccin Sub (con la correspondiente instruccin End Sub) declara un procedimiento


llamado DarFormato. Todas las instrucciones que aparecen entre las instrucciones Sub y
End Sub se ejecutan cuando el procedimiento DarFormato se ejecuta o se llama.
Declarar constantes La instruccin Dim declara la variable miCelda. El tipo de datos es
objeto, en este caso, un objeto Range de Microsoft Excel. Se puede declarar una variable
que sea cualquiera de los objetos que estn accesibles a la aplicacin que se est usando.
Las instrucciones Dim son un tipo de instruccin que se utiliza para declarar variables.
Otras palabras clave utilizadas en las declaraciones son ReDim, Static, Public, Private y
Const.
Declarar variables Una variable se declara para especificar o detallar su nombre y
caracteristicas, la instruccin de declaracin para variables es la instruccin DIM. la
ubicacin y contenido de la instruccin DIM determina las caractersticas de las variables.
es una instruccin completa. Puede contener las palabras clave, operadores, variables,
constantes y expresiones. Ejecuta una serie de afirmaciones repetidas haciendo referencia a
un solo objeto o estructura.debemos tener en cuenta que cuando declaramos un elemento de
programacion, tambien se puede definir su ambito, tipo, y nivel de acceso.
Cada declaracin pertenece a una de las siguientes categoras:

Instrucciones de declaracin, que el nombre de una variable, constante o procedimiento, y


tambin puede especificar un tipo de datos.
Declaraciones ejecutables, que inician acciones. Estas declaraciones pueden llamar a un
mtodo o funcin, y pueden circular o sucursal a travs de bloques de cdigo. instrucciones
ejecutables incluyen Instrucciones de asignacin, que asignan un valor o una expresin a
una variable o constante.
Instrucciones de declaracin en Visual Basic

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.
Para obtener ms informacin, vea Caractersticas de los elementos declarados.
Caractersticas de los elementos declarados
Una caracterstica de un elemento declarado es un aspecto que afecta a la forma de
interactuar del cdigo con l. Cada elemento declarado tiene una o varias de las siguientes
caractersticas a asociadas con l
Tipo de datos
Valores que el elemento puede contener y como se alamcena esos valores
Consumo de memoria
Al declarar un tipo de datos bsico, no debe suponerse que su consumo de memoria es igual
a su asignacin de almacenamiento nominal. Esto se debe a las consideraciones siguientes:
Asignacin de almacenamiento.
Common Language Runtime puede asignar el almacenamiento en funcin de las
caractersticas actuales de la plataforma en la que se ejecuta la aplicacin. Si la memoria
est casi completa, se pueden empaquetar los elementos declarados de la forma ms
estrecha posible. En otros casos, se podran alinear las direcciones de memoria a los lmites
del hardware naturales para optimizar el rendimiento.
Ancho de plataforma.
La asignacin de almacenamiento en una plataforma de 64 bits es diferente a la asignacin
en una plataforma de 32 bits.
Tipos de datos compuestos

Las mismas consideraciones se aplican a cada miembro de un tipo de datos compuesto,


como una estructura o una matriz. No se pueden sumar simplemente todas las asignaciones
de almacenamiento nominales de los miembros de tipo. Adems, existen otras
consideraciones, como las siguientes:
Sobrecarga
Diseo de almacenamiento.
Periodo de duracin

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.

mbito en Visual Basic


El mbito de un elemento declarado es el conjunto de todo el cdigo que puede hacer
referencia a l sin calificar su nombre o marcarlo como disponible mediante Imports
(Instruccin). Un elemento puede tener uno de los niveles de mbito siguientes:
Nivel Descripcin mbito de bloque mbito disponible nicamente en el bloque de
codigo en que se ha se declarado mbito de procedimiento Disponible para todo el cdigo
dentro del procedimiento en el que se ha declarado mbito de mdulo Disponible para
todo el cdigo dentro del mdulo, clase o estructura en el que se ha declarado mbito de
espacio de nombres Disponible para todo el cdigo dentro del espacio de nombres en el
que se ha declarado
Nivel de AccesoPermiso otorgado al cdigo para hacer uso del elemento Cmo: Controlar
la disponibilidad de una variable La disponibilidad de una variable se controla
especificando su nivel de acceso. El nivel de acceso determina qu cdigo tiene permiso de
lectura o escritura en la variable. Las variables miembros (definidas en el nivel de
mdulo y fuera de cualquier procedimiento) tienen como valor predeterminado un acceso
pblico que significa cualquier cdigo que puede verlas y tener acceso a ellas. Puede
cambiar esto especificando un modificador de acceso. Las variables locales (definidas
dentro de un procedimiento) tienen nominalmente un acceso pblico, aunque slo el cdigo
dentro de su procedimiento puede tener acceso a ellas. No puede cambiar el nivel de acceso
de una variable local pero puede cambiar el nivel de acceso del procedimiento que la
contiene.

= 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 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.
v = 42
En el ejemplo anterior, la instruccin de asignacin almacena el valor literal 42 en la
variable v.
OPERADORES DE ASIGNACION
A continuacin se recogen los operadores de asignacin definidos en Visual Basic.
Operador = : Este operador asigna un valor a una variable o propiedad.
Operador ^= : Eleva el valor de una variable o una propiedad a la potencia de una expresin
y asigna el resultado de nuevo a la variable o la propiedad.
Operador *= : Multiplica el valor de una variable o una propiedad por el valor de una
expresin y asigna el resultado a la variable o la propiedad.
Operador /= : Divide el valor de una variable o una propiedad por el valor de una expresin
y asigna el resultado de punto flotante a la variable o la propiedad.
\= (Operador) : Divide el valor de una variable o una propiedad por el valor de una
expresin y asigna el resultado entero a la variable o la propiedad.
Operador += : Suma el valor de una expresin numrica al valor de una propiedad o
variable numrica y asigna el resultado a la variable o a la propiedad. Tambin se puede
utilizar para concatenar una expresin String con una propiedad o variable String y asignar
el resultado a la variable o a la propiedad.
Operador -= : Sustrae el valor de una expresin del valor de una variable o propiedad y
asigna el resultado a la variable o propiedad.
Operador <<= : Realiza un desplazamiento aritmtico a la izquierda sobre el valor de una
variable o una propiedad y asigna el nuevo valor a la variable o la propiedad.
Operador >>= : Realiza un desplazamiento aritmtico a la derecha sobre el valor de una
variable o una propiedad y asigna el nuevo valor a la variable o la propiedad.
Operador &= : Concatena una expresin String a una variable o propiedad String y asigna
el resultado a la variable o propiedad.

METODOS PARA LA ASIGNACION


Existen tres mtodos para dar valor a una variable:
Leer un valor de un archivo
Pedir al usuario que teclee un valor
Asignar un valor dentro de un programa

Al tercer mtodo corresponde la instruccin de asignacin.


La sintaxis general de la instruccin de asignacin es:
nombre_de_la_variable = valor
El valor a la derecha del signo igual puede ser una constante, otra variable o una expresin
que combine constantes y variables, pero siempre la variable y su valor deben ser del
mismo tipo de dato.
Ejemplos:
edad% = 5
area! = 12.3
nombre$ = Pedro
Si el tipo de dato del valor no coincide con el tipo de dato declarado para la variable, se
producir un error durante la ejecucin del programa (Run-time error 13: Type
Mismatch).
NOTA
Ntese que el valor asignado a una variable del tipo string en VB consiste en una cadena de
caracteres encerrada entre comillas. Una cadena de caracteres puede eventualmente estar
formada por un solo carcter.
La instruccin de asignacin es destructiva; esto significa que si antes de la asignacin la
variable tiene algn valor, ste se pierde al ejecutarse la instruccin de asignacin.

Elementos de programacin elegibles


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".
El valor del lado derecho del operador de asignacin se genera mediante una expresin que
puede estar formada por cualquier combinacin de literales, constantes, variables,
propiedades, elementos de matriz, otras expresiones o llamadas a funcin.
Tipos de datos en instrucciones de asignacin
Adems de valores numricos, el operador de asignacin tambin puede asignar valores
String.
Tambin se pueden asignar valores Boolean utilizando un literal Boolean o una expresin
Boolean.
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 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.
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.
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.

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

La instruccin Let es opcional y normalmente se omite. Por ejemplo, la instruccin de


asignacin anterior podra haberse escrito as: Let suNombre = InputBox("Cmo se
llama?"). La instruccin Set se utiliza para asignar un objeto a una variable que ha sido
declarada como objeto. La palabra clave Set es necesaria. En el siguiente ejemplo, la
instruccin Set asigna un rango de Hoja1 a la variable de objeto miCelda:
Sub DarFormato()
Dim miCelda As Range
Set miCelda = Worksheets("Hoja1").Range("A1")
With miCelda.Font
.Bold = True
.Italic =true
End With
End Sub

Las instrucciones que establecen valores propiedad son tambin instrucciones de


asignacin. El siguiente ejemplo asigna la propiedad Bold del objeto Font para la celda
activa: ActiveCell.Font.Bold = True

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

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. Ejemplo:
a = 43
En el ejemplo anterior, la instruccin de asignacin almacena el valor literal 43 en la
variable a.
En las instrucciones de asiganacion constan de tres metodos para dar valores a una variable:
1. Leer el valor de un archivo 2. Pedir al usuario que ingrese un valor mediante teclado 3.
Asiganr el valor dentro del programa
Tipos de datos en instrucciones de asignacin
Adems de valores numricos, el operador de asignacin tambin puede asignar valores
String, tal como muestra el ejemplo siguiente.
Dim a, b As String
a = "String variable assignment"
b = "Con" & "cat" & "enation"
' The preceding statement assigns the value "Concatenation" to b.
Tambin se pueden asignar valores Boolean utilizando un literal Boolean o una expresin
Boolean, tal como muestra el ejemplo siguiente.

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

Otro ejemplo de una instruccion ejectutable

Public Sub startWidget(ByVal aWidget As widget, _


ByVal clockwise As Boolean, ByVal revolutions As Integer)
Dim counter As Integer
If clockwise = True Then
For counter = 1 To revolutions
aWidget.spinClockwise()
Next counter
Else
For counter = 1 To revolutions
aWidget.spinCounterClockwise()
Next counter
End If
End Sub

en donde vemos que La instruccin If...Then...Else del ejemplo comprueba el valor de la


celda. Si el valor es mayor de 33, la instruccin With establece las propiedades Bold e Italic
del objeto Font para esa celda. Las instrucciones If...Then...Else acaban con una instruccin
End If.
y La instruccin With puede evitar que haya que escribir muchas veces las mismas
palabras ya que las instrucciones que contiene se ejecutan automticamente en el objeto que
sigue a la palabra clave With.
La instruccin Next llama a la siguiente celda de la coleccin de celdas contenida en
MiIntervalo. La funcin MsgBox (que presenta en pantalla un cuadro de dilogo de Visual
Basic) presenta un mensaje indicando que el procedimiento Sub ha terminado de ejecutarse.

En el ejemplo siguiente se utiliza una estructura de control If...Then...Else para


ejecutar diferentes bloques de cdigo basndose en el valor de una variable.En cada
bloque de cdigo, un bucle For...Next se ejecuta un nmero especificado de veces...

Public Sub startWidget(ByVal aWidget As widget,


ByVal clockwise As Boolean, ByVal revolutions As Integer)
Dim counter As Integer
If clockwise = True Then
For counter = 1 To revolutions
aWidget.spinClockwise()
Next counter
Else
For counter = 1 To revolutions
aWidget.spinCounterClockwise()
Next counter
End If
End Sub

Despus, la instruccin If del ejemplo anterior comprueba el valor del parmetro


clockwise.Si el valor es True, llama al mtodo spinClockwise de aWidget.Si el valor es
False, llama al mtodo spinCounterClockwise de aWidget.La estructura de control
If...Then...Else finaliza con End If.

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

"SIMPLE".Posteriormente se debern definir,la apariencia y el comportamiento de las


aplicaciones creadas tanto a nivel Visual como a nivel del Cdigo para la programacin
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.
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.

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

QUE ES UNA INSTRUCCION EJECUTABLE? y Dar un ejemplo con una


sentencia.
una instruccion ejecutable Es aquella que realiza una accin. Tambin puede llamar a un
procedimiento, bifurcar(dividir, separar) a otra parte del cdigo, recorrer varias
instrucciones con un bucle o evaluar una expresin...
En el siguiente ejemplo se utilizar la instruccin ejecutable IF como lo mostramos a
continuacion:

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

Las variables locales existen siempre y cuando el procedimiento en el que se declaran, se


est ejecutando. Una vez que el procedimiento se ejecuta, los valores de sus variables
locales se pierden y la memoria utilizada por estas variables se libera y puede ser
recuperada. Las variables que se declaran con la palabra clave Dim slo existen mientras el
procedimiento est siendo ejecutado.
En la mayora de los lenguajes de programacin las variables locales son variables
automticas que son almacenadas directamente en la fila .Esto significa que cuando una
funcin se repite o se llama as misma, las variables locales reciben, en cada instancia de la
funcin, espacio para el direccionamiento de memoria separados esfecifiacmente para
dichas variables.
Si uso una variable local dentro del evento de un Boton esta me sirve para ver cuantas
veces este ha sido presionado?
No , devido a que como se explicaba anteriormente al estar declarado dentro de el mismo
elemento al que se quiere que se lo cuente la variable estara declarandose cada vez que este
evento se accione por lo tanto no puede ser usada como contador

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?

Realiza una accin.

Puede llamar a un procedimiento

Bifurcar a otra parte del cdigo

Recorrer varias instrucciones con un bucle

Evaluar una expresin

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?

El objetivo de Visual Basic es disear una o varias aplicaciones de manera rpida


basicamente para desarrollar prototipo de Sistemas que sean lo mas entendible y eficiente
posible tambien nos permite crear aplicaciones acorde a nuestras necesidades y a las
necesidades que se tengan en una microempresa.Es uno de los lenguajes de programacin
ms usados debido a su simplicidad, mezclada con unas grandes posibilidades de
desarrolloen entornos .
El objetivo principal es conocer los tipos de datos y sus formas de uso; utilizar las
instrucciones alternativas y bucles, y manejar las funciones y los procedimientos, llegando
a realizar los primeros programas simples, para ello, conseguir escribir cdigo correcto y
legible. Como segundo objetivo y principal, el alumno conocer las caractersticas de la
programacin orientada a objetos, se adentrar en el funcionamiento de los proyectos de
Visual Basic e insertar formularios, as como manejar los mtodos avanzados para
programar eventos de los controles y conectar correctamente varios de ellos. Sin olvidar,
que conocern los mtodos de tratamiento de archivos de texto. En definitiva el alumno
sabr disear, depurar, generar y empaquetar aplicaciones.

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

objetos, pero no tiene implementada las caractersticas basicas (herencia y polimorfismo )


de la orientacin a objetos para crear tus propias clases, en todo caso, en VB se puede
"simular estas dos caracteristicas" pero eso no hace que sea un lenguaje realmente
orientado a objetos
Por lo tanto Visual Basic utiliza objetos pero no es orientado a objetos

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).

En la parte derecha tenemos el espacio dedicado a redactar el cdigo de los


procedimientos/funciones, y en la parte superior existen dos cuadros combinados donde
podemos seleccionar los objetos y los mtodos de ese objeto respectivamente.

PARA QUE NOSOTROS PODAMOS ENTENDER TODAS LAS CLASES DE


INSTRUCCIONES DEBEMOS COMENZAR SABIEDNDO Y COMPRENDIENDO
QUE SON LASINSTRUCCIONES EN VISUAL BASIC PARA APLICACIONES
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.

NOSOTROS PODEMOS ENCONTRAS ALGUNA INFORMACION GENERAL A


CERCA DE LAS INSTRUCCIONES COMO SON LAS SIGUIENTES:
En Visual Basic, una instruccin es una instruccin completa. Puede contener palabras
clave, operadores, variables, constantes y expresiones. Cada instruccin pertenece a una de
las categoras siguientes: Instrucciones de declaracin, que dan nombre a una variable,
constante o procedimiento y tambin pueden especificar un tipo de datos.
Instrucciones ejecutables, que inician acciones. Estas instrucciones pueden llamar a un
mtodo o funcin, y pueden recorrer bloques de cdigo o bifurcar a otro bloque de cdigo.
Las instrucciones ejecutables incluyen instrucciones de asignacin, que asignan un valor o
expresin a una variable o constante. instrucciones ejecutables incluyen instrucciones de
asignacin, que asignan un valor o expresin a una variable o constante.

Elementos de un programa de Visual Basic


Elementos de programacion en VBA
Hay tres tipos de estructuras bsicas que son muy utilizadas en la programacin de un
algoritmo: - La estructura secuencial - La estructura condicional - La repetitiva.

Los Elementos bsicos de programacin son los que se


mencionan a continuacion:
ALGUNOS DE LOS ELEMENTOS DE PROGRAMACION SON :
Elementos de programacin en el nivel de archivo

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)

Function Main() As Integer


Function Main(ByVal cmdArgs() As String) As Integer
La variedad ms comn de este procedimiento es Sub Main() v Notacin BNF
Elemento_no_terminal:
Este estilo se emplea para escribir el nombre de un elemento gramatical que habr de ser
definido por algn regla. Cualquier elemento a la izquierda del metasmbolo ::= ser no
terminal y aparecer con est estilo.
Elemento_terminal:
Est estilo se emplea para representar los elementos que forman parte del lenguaje Modula2, es decir, que constituyen l texto de un programa. Si aparecen en 1 regla debern
escribirse exactamente como se indica.
Un elemento declarado es 1 elemento de programacin q se define en una instruccin de
declaracin. Admitida a elementos incluyen variables, constantes, enumeraciones, clases,
estructuras, mdulos, interfaces, procedimientos, parmetros de procedimiento, funcin
devuelve, referencias externas procedimiento, operadores, propiedades, eventos y
delegados.
VALORES Y TIPOS:
o Valores numricos enteros:
o valor_entero ::= [+ | - ] secuencia_de_dgitos
o secuencia_de_dgitos ::= dgito {dgito}
o dgito ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
o Valores numricos reales:
o valor_real ::= valor_entero.[secuencia_dgitos][escala]
o escala::= E valor _entero
o Caracteres:
o Identificador ::= letras {letra | dgito}

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

o Cambio de signo de reales - A


o Las operaciones entre reales dan como resultado un real con la precisin del computador
o CHAR:
o Este tipo incluye como valores todos los caracteres disponibles en un computador.
o La tabla de caracteres ASCII incluye caracteres alfabticos, numricos, de puntuacin y
puede incluir tambin caracteres de control (salto de lnea).
o Para representar estos caracteres se utiliza la notacin CHR (x) siendo x el cdigo del
carcter equivalente a su posicin dentro de la tabla de todos los caracteres.
o CHR (10); Representa el salto de lnea. Posicin 10 de la tabla
o CHR (13); Representa el retorno de carro. Posicin 13 de la tabla
o En sentido inverso, la posicin que ocupa un determinado carcter c dentro de la tabla se
expresa como ORD(c).
o ORD (A); Vale 65 (65 posicin de la taba ASCII)
o ORD (Z); Vale 90 (90 posicin de la tabla ASCII)
o De forma inmediata podemos decir:
o CHR (ORD (c) ) = c
o ORD (CHR (x) ) = x
La mayora de las tablas de cdigos de carcteres poseen las siguientes caractersticas:
o Los caracteres correspondientes a las letras maysculas de la A a la Z estn ordenados en
posiciones consecutivas y crecientes segn el orden alfabtico
o Los caracteres correspondientes a las letras minsculas de la a a la z estn ordenados en
posiciones consecutivas y crecientes segn el orden alfabtico
o Los caracteres correspondientes a los dgitos del 0 al 9 estn ordenados en posiciones
consecutivas y crecientes.
o Esto facilita el obtener por calculo el valor numrico equivalente al carcter de un dgito
decimal, o la letra mayscula correspondiente a una minscula o viceversa.

Estructura de un programa completo:


MODULE EscribirHola;
(* Este programa escribe Hola*)
FROM InOut IMPORT WriteString, WriteLn;
BEGIN
WriteString ('Hola');
WriteLn;

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;}

Las instrucciones de declaracin incluyen lo siguiente: Instruccin Dim (Visual Basic)


Instruccin Const (Visual Basic)
Instruccin Enum (Visual Basic)

Instruccin Class (Visual Basic)


Structure (Instruccin) Module (Instruccin)
Instruccin Interface (Visual Basic) Instruccin Function (Visual Basic)
Instruccin Sub (Visual Basic) Declare (Instruccin)
Operator (Instruccin)
Property (Instruccin)
Event (Instruccin) Delegate (Instruccin)
Al igual que con cualquier lenguaje de programacin moderno, Visual Basic admite un gran
nmero de constructores comunes de programacin y elementos de lenguaje.
Los elementos bsicos de la programacin con Visual Basic son:
Comentarios
Constantes
Variables
Sentencias
Procedimientos
Mdulos
Proyectos
Punto de inicio del programa
Rem Esto es un comentario
Esto es un comentario--- IT`S A COMMENTARY
Ejemplo
En este ejemplo se muestran comentarios que ocupan una lnea de cdigo fuente completa,
parte de una lnea y ms de una lnea.
' This entire line is a comment. o en espaol:

'Esta linea de codigo es completamente un comentario.

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

En esta construccin, dependiendo del valor de la variable dato se ejecutar un bloque de


sentencias diferente. Los valores que podemos colocar en lugar de valor1, valor2, valor3 no
slo se limitan a valores constantes como nmeros y cadenas de texto, sino que podemos
comparar con un nmero como podemos ver en el siguiente ejemplo:
Select Case NotaFinal
Case Is < 5
Suspendido
Case 5 to 6.99
Aprobado
Case 7 to 8.99
Notable
Case Else
Sobresaliente
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

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...]]
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

Donde condicin es cualquier expresin numrica, relacional o lgica. La ejecucin de la


sentencia While sucede as: 1.- Se evala la condicin. 2.- Si el resultado de la evaluacin
es falso, las sentencias que forman el cuerpo de While no se ejecutan y se pasa el control a
la siguiente sentencia en el cdigo a Wend. 3.- Si el resultado de la evaluacin es verdadero,
se ejecutan las sentencias que forman el cuerpo de While y el proceso descrito se repite
desde el punto 1.
SENTENCIA DO... LOOP
Un Loop(bucle) repite la ejecucin de un conjunto de sentencias mientras una condicin
dada sea cierta, o basta que una condicin dada sea cierta. La condicin puede ser
verificada antes o despus de ejecutarse el conjunto de sentencias: Formato1 Formato2 Do
[{While|Until}condicin]
[sentencias]
[Exit do]
[sentencias]

Loop Do

[sentencias]
[Exit do]
[sentencias]

Loop[{While|Until}condicin] Donde condicin es cualquier expresin que se evale a


True o a False.
SENTENCIA GOTO Transmite el control a una lnea especfica del cdigo, identificada
por una etiqueta o por un nmero de lnea. Su sintaxis es: Goto {etiqueta/n de lnea} Si la
lnea a la que se transfiere el control es una sentencia ejecutable, se ejecuta esa sentencia y
las que le siguen. Si no es ejecutable, la ejecucin se inicia en la primera sentencia
ejecutable que se encuentra tras dicha lnea.
Todo programa estructurado tiene sentencias de control bsicas, que todos los lenguajes de
programacin lo tienen, los mismos que se describen a continuacin:
Estructura Secuencial: Donde el control pasa de una sentencia a la siguiente.
Estructuras Selectivas: Que nos permite de acuerdo a una condicin tomar un camino u
otro.
Estructuras Repetitivas: En donde un conjunto de acciones se repiten un cierto nmero de
veces.
Estructura Secuencial
La estructura secuencial es aquella en la que una accin (instruccin) sigue a otra en
secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la
siguiente y as sucesivamente hasta el fin del proceso.
En Pseudocdigo una Estructura Secuencial se representa de la siguiente forma:

Observe el siguiente problema de tipo cotidiano y sus respectivos algoritmos representados


en Pseudocdigo y en diagramas de flujos:
Tengo un telfono y necesito llamar a alguien pero no s como hacerlo.
El anterior ejemplo es un sencillo algoritmo de un problema cotidiano dado como muestra
de una estructura secuencial. Ahora veremos los componentes que pertenecen a ella:
Asignacin

La asignacin consiste, en el paso de valores o resultados a una zona de la memoria. Dicha


zona ser reconocida con el nombre de la variable que recibe el valor. La asignacin se
puede clasificar de la siguiente forma:
* Simples: Consiste en pasar un valor constante a una variable (a 15)
* Contador: Consiste en usarla como un verificador del numero de veces
que se realiza un proceso (a a + 1)
* Acumulador: Consiste en usarla como un sumador en un proceso (a a +
b)
* De trabajo: Donde puede recibir el resultado de una operacin
matemtica que involucre muchas variables (a c + b*2/4).

En general el formato a utilizar es el siguiente:


< Variable > <valor o expresin >
El smbolo debe leerse asigne.
Escritura o salida de datos
Consiste en mandar por un dispositivo de salida (p.ej. monitor o impresora) un resultado o
mensaje. Esta instruccin presenta en pantalla el mensaje escrito entre comillas o el
contenido de la variable. Este proceso se representa as como sigue:
Lectura o entrada de datos
La lectura o entrada de datos consiste en recibir desde un dispositivo de entrada (p.ej. el
teclado) un valor o dato. Este dato va a ser almacenado en la variable que aparece a
continuacin de la instruccin. Esta operacin se representa as:
DECLARACION DE VARIABLES Y CONSTANTES
La declaracin de variables es un proceso que consiste en listar al principio del algoritmo
todas las variables que se usarn, adems de colocar el nombre de la variable se debe decir
qu tipo de variable es.
Contador: ENTERO Edad, I: ENTERO Direccion : CADENA_DE_CARACTERES
Salario_Basico : REAL Opcion : CARACTER
En la anterior declaracin de variables Contador, Edad e I son declaradas de tipo entero;
Salario_Basico es una variable de tipo real, Opcion es de tipo carcter y la variable
Direccion est declarada como una variable alfanumrica de cadena de caracteres.
En el momento de declarar constantes debe indicarse que lo es y colocarse su respectivo
valor.

CONSTANTE Pi 3.14159 CONSTANTE Msg Presione una tecla y continue


CONSTANTE ALTURA 40
Cuando se trabaja con algoritmos por lo general no se acostumbra a declarar las variables ni
tampoco constantes debido a razones de simplicidad, es decir, no es camisa de fuerza
declarar las variables. Sin embargo en este curso lo haremos para todos los algoritmos que
realicemos, con esto logramos hacerlos ms entendibles y organizados y de paso permite
acostumbrarnos a declararlas ya que la mayora de los lenguajes de programacin (entre
ellos el C++) requieren que necesariamente se declaren las variables que se van a usar en
los programas.
Estructuras Selectivas
Este tipo de estructuras lgicas se encuentran en la solucin de casi todas las
aplicaciones.Las estructuras de seleccin se utilizan para tomar decisiones lgicas, por lo
que tambin se les llama estructuras de decisin o alternativas. Se utiliza cuando el
desarrollo de la solucin de un problema debemos tomar una decisin, para ejecutar un
proceso o tomar un camino alternativo a seguir.En las estructuras de seleccin se evala
una condicin y en funcin del resultado de la misma se realiza una serie de instrucciones u
otra. Las condiciones se especifican utilizando expresiones lgicas.
Se considera las siguientes estructuras selectivas:

* 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.

Salidas: mensaje de aprobado si se cumple la condicin.


Entradas:' calificacin
Datos adicionales: un alumno aprueba si la calificacin es mayor que 8
Variables:
Cal = calificacin
Algoritmo:
Inicio
Leer (cal)
Si cal > 8 entonces
Escribir (aprobado)
Fin_si
Fin

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

Cuando el resultado de la exp_log es verdadera se ejecuta la sentencia, si la exp_log es


falsa no se ejecuta la sentencia.
FORMATO B: La aletrnativa verdad tiene varia sentencias.
If exp_log Then
sentencia 1
sentencia 2
- - - - - sentencia n
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 multiseleccin simple (xlSimple) cambia la seleccin de un elemento de la lista cuando


se hace clic en l con el mouse o cuando se presiona la barra espaciadora y el elemento
tiene el foco. Este modo es apropiado para listas en las que suele haber varios elementos
seleccionados.
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.
Ejemplo
En este ejemplo se crea un cuadro de lista de multiseleccin simple.
Visual Basic para aplicaciones
Set lb = Worksheets(1).Shapes.AddFormControl(xlListBox, Left:=10, Top:=10, Height:=100, Width:100)
lb.ControlFormat.MultiSelect = xlSimple

Cuando la exp_log da como resultado verdad se ejecuta el bloque de sentencias desde


sentencia 1 hasta sentencia n. Cuando el resultado es falso no se ejecuta el bloque de
sentencias y el control del programa salta a la sentencia 4.
Selectiva Doble (If Then / Else / End If)

FORMATO A: Cuando se tiene una sentencia por cada alternativa.


If exp_log Then
sentencia1
Else
sentencia2
End If
sentencia3

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

FORMATO C: Cuando tenemos una sentencia por la alternativa verdadera y varias


sentencias por la alternativa falsa.
If exp_log Then
sentencia1
Else
sentencia2
sentencia3
sentencia4
End If
sentencia5

En esta estructura cuando la exp_log es verdadera, se ejecuta la sentencia 1 y el control del


programa salta a la sentencia 5. Cuando la exp_log es falsa se ejecuta el grupo de
sentencias desde la sentencia 2 hasta la sentencia 4 y continua en la sentencia 5.
FORMATO D: Cuando se tiene varias sentencias por la alternativa verdadera y varias
sentencias por la alternativa falsa.
If exp_log Then
sentencia1
sentencia2
sentencia3
Else
sentencia4
sentencia5
sentencia6
End If
sentencia7

En esta estructura cuando la exp_log es verdadera se ejecuta el grupo de sentencias desde la


sentencia 1 hasta la sentencia 3 y el control del programa salta a la sentencia 7. Cuando
exp_log es falso se ejecuta el grupo de sentencias desde la sentencia 4 hasta la sentencia 6 y
continua en la sentencia 7.

- 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:

Select Case expresionX


Case expresin1
sentencias bloque1
Case expresin2
sentencias bloque2
Case expresin3
sentencias bloque3
.
.
Case Else
sentencias bloque Else
End Select

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

Donde condicin es cualquier expresin numrica, relacional o lgica. La ejecucin de la


sentencia While sucede as: 1.- Se evala la condicin. 2.- Si el resultado de la evaluacin
es falso, las sentencias que forman el cuerpo de While no se ejecutan y se pasa el control a
la siguiente sentencia en el cdigo a Wend. 3.- Si el resultado de la evaluacin es verdadero,
se ejecutan las sentencias que forman el cuerpo de While y el proceso descrito se repite
desde el punto 1. ............ Sentencia Do... LoopUn Loop(bucle) repite la ejecucin de un
conjunto de sentencias mientras una condicin dada sea cierta, o basta que una condicin
dada sea cierta. La condicin puede ser verificada antes o despus de ejecutarse el conjunto
de sentencias:
Formato1 Formato2 Do
[{While|Until}condicin]
[sentencias]
[Exit do]
[sentencias]

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.

Cuando lo que queremos es elegir un valor, no ejecutar instrucciones como hacamos


anteriormente, disponemos de otras dos funciones: Choose y Switch.
Switch toma una serie de parmetros, todos por parejas. El primer trmino de cada pareja es
la expresin a evaluar. El segundo es el valor que tiene que devolver. En realidad Switch es
una funcin (las funciones las veremos muy pronto)
A = Switch (B=1, 5, B=2, 7, B=3, 11)
Esta instruccin obtiene un valor para A que depender del valor que tome B entre los
valores posibles (1, 2 3)
La sentencia Choose es casi igual, cambia solamente la forma. La misma intruccin
anterior puede realizarse con Choose de la siguiente forma:
A = Choose ( B, 5, 7, 11 )
En estas sentencias, Switch y Choose, si el valor de B no coincide con ninguno de los
valores que se le haban establecido (1, 2 3 en nuestro caso), la sentencia devuelve el
valor Nulo ( Null ). Esto puede producir algn error si no se contempla esa posibilidad.
Con estas sentencias condicionales es posible realizar bifurcaciones del programa, cambiar
las propiedades de un objeto, obtener resultados de operaciones, ....
Sentencias de bucle.
Es muy comn utilizar bucles a lo largo de un programa. Un bucle es una sucesin
repetitiva de instrucciones, que se estarn realizando mientras se cumpla una condicin o
mientras no se cumpla otra condicin. Es tan sencillo como esto:

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

Do While X < 1000


X=X+1
Loop
Next N

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

(Visual Basic) del procedimiento. El control se devuelve al cdigo de llamada, a


continuacin del punto de la llamada al procedimiento.

Con una instruccin Return, el control vuelve inmediatamente al cdigo de llamada.


No se ejecutan las instrucciones siguientes a la instruccin Return. Puede tener ms
de una instruccin Return en el mismo procedimiento.

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.

Si un procedimiento no incluye instrucciones Return o Exit, concluye con una


instruccin End Sub o End Function, End Get o End Set a continuacin de la ltima
instruccin del cuerpo del procedimiento. La instruccin End devuelve el control
inmediatamente al cdigo de llamada. Puede tener slo una instruccin End en un
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.

*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.
*Procedimientos genricos en Visual Basic: definen uno o varios parmetros de tipo
adems de sus parmetros normales, de forma que el cdigo de llamada puede pasar tipos
de datos especficos cada vez que realiza una llamada.
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 grandes en procedimientos ms pequeos.
Los procedimientos son tiles para realizar tareas repetitivas o compartidas, como clculos
de uso frecuente, manipulacin de texto y controles, y operaciones con bases de datos. Se
puede llamar a un procedimiento desde distintos lugares del cdigo; de modo que los
procedimientos se prestan a servir de unidades de creacin de la aplicacin.
La estructuracin del cdigo en procedimientos aporta las siguientes ventajas:
Los procedimientos permiten desglosar los programas en unidades lgicas independientes.
Es ms fcil depurar unidades individuales que todo un programa sin procedimientos.
Despus de desarrollar los procedimientos para el uso en un programa, puede utilizarlos en
otros programas, a menudo con pocas o ninguna modificacin. Esto ayuda a evitar la
duplicacin del cdigo.

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.

Basic, desde siempre, al contrario de otros sistemas de programacin, no exigi la


definicin previa de una variable. Una variable, como Vd. seguro que conoce, es un nombre
que en el programa le asignamos a un dato. Ese dato podr cambiar. Piense por ejemplo, en
un programa consistente en la toma de datos de los alumnos de un centro escolar. Existirn
varias variables para poder introducir los datos de los alumnos. Estas variables pueden tener
nombre tales como:
Nombre
Apellido1
Apellido2
Direccin
Telfono
DNI
La variable Nombre tomar valores distintos segn vayamos introduciendo los datos de los
distintos alumnos. Es posible, que a lo largo de la ejecucin del programa, esta variable
Nombre valga:
Jos
Pedro
Mara
Luis
Decamos que Basic no exige la definicin previa de las variables. Otras herramientas
exigen que se haga as. Por lo tanto es normal encontrar, en otros sistemas de
programacin, que un programa comienza de la siguiente forma:
Declare Nombre As String Le dice que Nombre es una sucesin de letras
Declare Apellido1 As String
Declare Apellido2 As String
Declare Direccin As String
Declare Telfono As String Le dice que Telfono es una sucesin de letras

Declare DNI As Nmero Le dice que DNI es un nmero


Mediante estas declaraciones, el programa sabe de que tipo de dato se trata y por tanto
cmo debe trabajar con l. En otros sistemas de programacin distintos de Basic, es
necesario realizar esta declaracin antes de introducir una variable. Basic permite que no se
declaren. Cuando a lo largo del programa le introducimos una variable nueva, asume que es
una variable y que el tipo es el adecuado para el valor que le estamos introduciendo en ese
momento. Por ejemplo, si Basic encuentra estas instrucciones DNI=50000000 Nombre
="Pedro" Telfono = "1234567" entiende que DNI, Nombre y Telfono son variables, que
DNI es un nmero (No hemos metido su valor entre comillas), y que Nombre y Telfono
son sucesiones de caracteres alfanumricos (su valor est entre comillas)
Esta particularidad de no necesitar declarar las variables hace que sea sencillo introducir
una variable nueva. Sin embargo entraa un gran peligro. Imagnese que en un paso
posterior del programa, le mandamos escribir esos tres datos anteriores con la instruccin
PRINT
Print DNI
Print Nombre
Print Telwfono
Habr observado en tercer lugar la palabra Telwfono, que por error ha introducido el
programador.
Basic interpreta que Telwfono es una variable e ir a leer en memoria el valor que tiene. No
tendr ningn valor. Por lo tanto no escribir nada y encima no dar ningn aviso de que se
ha cometido un error. Nada es gratis en esta vida, y la facilidad para introducir variables se
paga con la posibilidad de un error.

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.

variable:es un espacio d memoria reservado para almacenar un valor q corresponda a un


tipo de dato soportado por el lenguaje de programacion.
cunado vamos a definir una variablese deb tener desicin en algunas caractersticas:
El tipo de dato o datos:es decir q tipo de datos deb contener
El perodo de duracin: es decir cuanto tiempo debe continuar existiendo
El ambito: se refiere a qu codigo debe podert hacer referencia a l sin calificacin en su
nombre
El nivel de acceso: refiere aqu codigo debe tener l permiso d lectura y escritura en ella
Los enteros son nmeros enteros, incluidos positivos, cero y negativos. Una variable
contiene enteros si la declara como tipo Integer. puede contener enteros de -2.147.483,648 a
2.147.483,647.
se puede utilizar Long, short, Sbyte, para contener puede utilizar Long, short, Sbyte para
contener enteros
EJEMPLO DE VARIABLES Y CONSTANTES
Tenemos una caja de fsforos con al menos 1 fsforo en su interior. Abrimos la caja de
fsforos. Introducimos dedo pulgar e ndice en la caja de fsforos. Tomamos y sacamos
un fsforo de la caja. Sin soltar el fsforo, deslizamos su cabeza por el costado de la caja
de fsforos. El fsforo se enciende.
Las Variables;
se llaman as xq su valor cambia o vara durante los procesos del
algoritmo. Toda variable tiene un nombre y un valor asociado. Ej:
promedioFinal

Tipos de declaracin de variables.


Sentencia DIM Es la forma mas comn de declarar una variable como Privada. Puede
emplearse en un Procedimiento, Funcin, Formulario o Mdulo. La sintaxis es de la
siguiente forma:
Dim nombrevariable As Integer(o el tipo que sea) Declarando una variable con la sentencia
DIM, en un formulario, Funcin, procedimiento o mdulo, el entorno de la variable ser el
explicado anteriormente para una variable declarada como Privada. Es decir, esa variable

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

Global Variable As Tipovariable


ejemplo

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:

Formulario1 Formulario2 Formulario3 Mdulo1 Modulo2


Declaraciones Declaraciones Declaraciones Declaraciones Declaraciones
Proc. A1 Proc.B1 Proc.C1 Proc.D1 Proc.E1
Proc. A2 Proc.B2 Proc.C2 Proc.D2 Proc.E2
Proc. A3 Proc.B3 Proc.C3 Proc.D3 FuncinE1
Proc. A4 Proc.B4 Proc.C4 Proc.D4 FuncinE2
Proc. A5 Proc.BB1 Proc.CC1 FuncinE3
Proc. AA1 Proc.BB2 Proc.CC2 FuncinE4
Proc. AA2 Proc.B33 Proc.CC3 FuncinE5
Proc. AA3 Proc.CC4 FuncinE6
Si se declara una variable dentro de un procedimiento o Funcin, esa variable "NO SALE"
del Procedimiento o Funcin donde se declar. El procedimiento puede estar en un
Formulario (Cualquier procedimiento de un control o un procedimiento creado por
nosotros) o en un Mdulo (En este caso, el procedimiento solo puede ser creado por
nosotros)
En un Formulario, una variable puede declararse de dos formas : Privada o Pblica. Para
declarar una variable a nivel de formulario debe hacerse en la seccin de declaraciones, que
est la ventana de cdigo Objeto = General, Proc. = Declaraciones. Si se declara Privada,
esa variable se puede mover por todo el formulario, (es decir, por todos los procedimientos
de todos los controles del formulario y por los Procedimientos que pudisemos insertar en
ese formulario), pero no sale de dicho formulario. Si se declara como Pblica, esa variable
puede moverse por todo el formulario, de la misma forma que lo hara declarada como
Privada, y adems puede ser usada desde otro Formulario o Mdulo, citndola con el
nombre del Formulario, seguido del nombre de la variable (Formulario.Variable)
En un Mdulo una variable puede declararse como Privada, con lo que no saldr de ese
Mdulo, o Pblica, pudiendo en este caso usarse en todo el programa. En VB es posible
declarar varias veces las variables, es decir, pueden declararse a nivel de formulario, en su
apartado de declaraciones, y esa variable conservar su valor en todas las partes de ese
formulario. Sin embargo, si se declara una variable con el mismo nombre a un nivel
inferior, por ejemplo al principio de un procedimiento, esa variable ser una variable
distinta a la anterior, aunque tenga el mismo nombre, a al declararla en un Procedimiento,
solamente ser vlida en ese Procedimiento. Una vez que hayamos salido de ese
procedimiento, la variable con ese nombre volver a ser la declarada en el Formulario. En

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

Puede declarar el tipo de la variable mediante un carcter despus del nombre de la


variable. Esta tcnica, obligatoria en Quick-Basic, est en desuso en VB. No es
recomendable definir el tipo de esta forma, pues existe un serio peligro de error. De
cualquier forma, eso es potestativo del programador y de sus costumbres. Variables
Miembro
Una variable miembro es un miembro de un tipo de Visual Basic; se declara en el nivel de
mdulo, dentro de una clase, estructura o mdulo, pero no dentro de ningn procedimiento
interno de esa clase, estructura o mdulo. Las variables miembro son privadas al objeto
(siguiendo las directrices de diseo del Principio de ocultacin) y su acceso se realiza
mediante propiedades o mtodos que realizan comprobaciones adicionales.
Variables Locales:
Las variables locales son variables automticas almacenadas directamente en la Fila de
llamadas. Esto significa que cuando una funcin recursiva se llama a s misma, las variables
locales reciben, en cada instancia de la funcin, espacio para el direccionamiento de
memoria separados.
TIPOS DE VARIABLES
Las variables pueden ser de los siguientes tipos: (El nmero indicado en segundo lugar
indica el nmero de Bytes que ocupa en memoria.)
tipos de VARIABLES

Booleana (2) Admite los valores 0 y 1, o True (verdadero) y False (falso)


Byte (1) Nmeros enteros, en el rango de 0 a 255
Integer (2) Nmeros enteros en el rango de -32768 a 32767
Long (4) Nmeros enteros en el rango de -2147483648 a 2147483647
Single (4) Punto flotante, simple precisin
Double (8) Punto flotante, doble precisin.
Currency (8) Entero, con punto decimal fijo (Tpico de monedas)
String (*) Cadenas alfanumricas de longitud variable o fija
Date (8) Fechas
Objet (4) Referencia a objetos
Variant (**) Otros tipos de datos
(*) 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.
Ejemplo:
Sub locales ()
Dim num1 as Integer
Dim num2 as Integer
Dim num3 as Integer
Dim resultado as Integer
num1 = 45
num2 = 12
num3 = 9
resultado = Cint ((num1 + num2)^2 / num3 (num1 * num2))

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

Public num as Range


Sub macro1 ()
Dim dato as Byte
For dato = 1 to 25
Set dato = cells (dato,1)
Call Macro2
Next dato

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.)

Booleana (2) = Admite los valores 0 y 1, o True (verdadero) y False (falso)


Byte (1) = Nmeros enteros, en el rango de 0 a 255
Integer (2) = Nmeros enteros en el rango de -32768 a 32767
Long (4) = Nmeros enteros en el rango de -2147483648 a 2147483647
Single (4) = Punto flotante, simple precisin datos variables
Doble (8) = Punto flotante, doble precisin.
Currency (8)= Entero, con punto decimal fijo (Tpico de monedas)
String (*) = Cadenas alfanumricas de longitud variable o fija
Date (8) = Fechas , mes,ao,dia
Objet (4)= Referencia a objetos
Variant (**)= Otros tipos de datos

(*) 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

Tipos de datos. La instruccin Const puede declarar el tipo de


datos de unavariable.
Puede especificar cualquier tipo de datos o el nombre de una
enumeracin.

Tipo predeterminado. Si no especifica datatype, la constante toma


el tipo de datos de
initializer. Si especifica datatype e initializer, el tipo de
datos de initializer debe
ser convertible al datatype. Si ni datatype ni initializer estn
presentes, el tipo de
datos utiliza Object de manera predeterminada.


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.

Inicializacin. Debe inicializar el valor de cada constante en


constantlist. Utilice
initializer para proporcionar una expresin que se va a asignar a
la constante. La
expresin puede ser cualquier combinacin de literales, otras
constantes que ya estn
definidas y miembros de enumeracin que ya se hayan definido.
Puede utilizar operadores
aritmticos y lgicos para combinar estos elementos.
No puede utilizar variables ni funciones en initializer. No
obstante, pueden utilizarse
palabras clave de conversin como CByte y CShort. Tambin puede
utilizar AscW si lo llama
con un argumento constante String o Char, puesto que puede
evaluarse en tiempo de
compilacin.

Comportamiento

mbito. A las constantes locales slo se puede tener acceso desde


dentro de sus
procedimientos o bloques. Se puede tener acceso a las constantes
de miembro desde
cualquier lugar del interior de sus clases, estructuras o mdulos.

Calificacin. El cdigo fuera de una clase, estructura o mdulo


debe calificar el
nombre de una constante de miembro con el nombre de esa clase,
estructura o mdulo. El
cdigo situado fuera de un procedimiento o bloque no puede hacer
referencia a ninguna
constantelocal incluida dentro de ese procedimiento o bloque.

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.

El siguiente ejemplo crea la variable NombreTexto y especficamente le asigna el tipo de


datos String.
Dim NombreTexto As String

Porque declarar variables? porque: El cdigo saldr ms estructurado,si no declaras un


variable, no sabrs que tipo de datos contendr. Es ms seguro - evitars errores
tipogrficos. VBA te ayudar a poner los nombres correctos. Si no, un error tipogrfico
puede parar el programa.
El cdigo trabajar ms eficaz. Variables no declaradas sern tratatos como Variants, las
cuales ocupan mucha ms memoria.
Te ayudar a programar VBA te ayuda a elegir propiedades/mtodos que corresponden a
esa variable
Una variable se declara para especificar su nombre y caractrersticas. La instruccin para
declarar variables, es la instruccin DIM.
El nivel de acceso de una variable es la extensin de cdigo que tiene permiso para tener
acceso a ella. Declarar una variable consiste en avisar al programa la existencia de los datos
a ingresarse, dandole un nombre y un tipo. La declaracin de variables es aconsejable pero
no obligatoria salvo que se fuerze a Visual Basic a declarar todas las variables mediante la
sentencia Option Explicit al principio de cada mdulo.
Las variables tienen un mbito que delimita las partes del programa desde donde se pueden
usar, as hay variables de tipo local y variables de tipo global.
Las variables locales son aquellas que estn definidas dentro de un procedimiento o
funcin y slo son accesibles en ese procedimiento o funcin donde se definieron, as una
variable local es reinicializada cada vez que se entra en el procedimiento.
Las variables de tipo global son aquellas que son accesibles desde cualquier parte del
programa. Para hacer que una variable sea global, hay que declararla en la parte general de
un mdulo.
La declaracin de variables se realiza de la siguiente forma:
{ Dim / Static / Private / Public ] nombreVariable as Tipo.
El siguiente ejemplo crea la variable NombreTexto y especficamente le asigna el tipo de
datos String.
Dim NombreTexto As String

Si esta instruccin aparece dentro de un procedimiento, la variable NombreTexto se puede


usar slo en ese procedimiento. Si la instruccin aparece en la seccin Declarations del
mdulo, la variable NombreTexto estar disponible en todos los procedimientos dentro del
mdulo, pero para los restantes mdulos del proyecto. Para hacer que esta variable est
disponible para todos los procedimientos de un proyecto, basta con comenzar la declaracin
con la instruccin Public, tal y como muestra el siguiente ejemplo: Public NombreTexto As
String
Si desea ms informacin sobre cmo dar nombre a sus variables, puede consultar la
seccin "Visual Basic Naming Rules" en la Ayuda de Visual Basic.
Las variables se pueden declarar como de uno de los siguientes tipos de datos: Boolean,
Byte, Integer, Long, Currency, Single, Double, Date, String (para cadenas de longitud
variable), String * longitud (para cadenas de longitud fija), Object, o Variant. Si no se
especifica el tipo de datos, el tipo de datos Variant es el predefinido. Tambin es posible
crear un tipo definido por el usuario empleando la instruccin Type. Si desea ms
informacin sobre tipos de datos puede consultar la seccin "Tipo de datos Summary" en la
Ayuda de Visual Basic.
Se pueden declarar varias variables en una instruccin. Para especificar el tipo de datos se
debe incluir un tipo de datos para cada variable. En la siguiente instruccin se declaran las
variables intX, intY, e intZ como del tipo Integer.
Dim intX As Integer, intY As Integer, intZ As Integer
En la siguiente instruccin, intX e intY se declaran como del tipo Variant; y slo intZ se
declara como del tipo Integer.
Dim intX, intY, intZ As Integer
No es necesario especificar el tipo de datos en la instruccin de declaracin. Si se omite, la
variable ser del tipo Variant.
Utilizar la instruccin Public La instruccin Public se puede utilizar para declarar
variables pblicas de nivel de mdulo.
Public NombreTexto As String
Las variables pblicas se pueden usar en cualquier procedimiento del proyecto. Si una
variable pblica se declara en un mdulo estndar o en un mdulo de clase, tambin se
podr usar en los proyectos referenciados por el proyecto en que se declara la variable
pblica.
Utilizar la instruccin Private La instruccin Private se puede usar para declarar variables
privadas de nivel de mdulo.

Private MiNombre As String


Las variables Private pueden ser usadas nicamente por procedimientos pertenecientes al
mismo mdulo.
Nota Cuando se utiliza a nivel de mdulo, la instruccin Dim es equivalente a la
instruccin Private. Sera aconsejable usar la instruccin Private para facilitar la lectura y
comprensin del cdigo.
Utilizar la instruccin Static Cuando se utiliza la instruccin Static en lugar de la
instruccin Dim, la variable declarada mantendr su valor entre llamadas sucesivas.
Utilizar la instruccin Option Explicit En Visual Basic se puede declarar implcitamente
una variable usndola en una instruccin de asignacin. Todas las variables que se definen
implcitamente son del tipo Variant. Las variables del tipo Variant consumen ms recursos
de memoria que la mayor parte de las otros tipos de variables. Su aplicacin ser ms
eficiente si se declaran explcitamente las variables y se les asigna un tipo de datos
especfico. Al declararse explcitamente las variables se reduce la posibilidad de errores de
nombres y el uso de nombres errneos.
Si no desea que Visual Basic realice declaraciones implcitas, puede incluir en un mdulo la
instruccin Option Explicit antes de todos los procedimientos. Esta instruccin exige que
todas las variables del mdulo se declaren explcitamente. Se puede seleccionar una opcin
del entorno de programacin de Visual Basic para incluir automticamente la instruccin
Option Explicit en todos los nuevos mdulos. Consulte la documentacin de su aplicacin
para encontrar la forma de modificar las opciones de entorno de Visual Basic. Tenga en
cuenta que esta opcin no tiene ningn efecto sobre el cdigo que se haya escrito con
anterioridad.
Nota Las matrices fijas y dinmicas siempre se tiene que declarar explcitamente.
Declarar una variable de objeto para automatizacin Cuando se utiliza una aplicacin para
controlar los objetos de otra aplicacin, debe establecerse una referencia a la biblioteca de
tipos de la otra aplicacin. Una vez que se ha establecido la referencia, se pueden declarar
variables de objeto conforme a su tipo ms especfico. Por ejemplo, si desde Microsoft
Word se establece una referencia a la biblioteca de tipos de Microsoft Excel, se puede
declarar una variable del tipo Worksheet desde Microsoft Word para representar un objeto
Worksheet de Microsoft Excel.
Si se utiliza otra aplicacin para controlar objetos de Microsoft Access, es posible, en la
mayor parte de los casos, declarar variables objetos del tipo ms especfico. Se puede usar
tambin la palabra clave New para crear automticamente una nueva definicin de un
objeto. Sin embargo, puede ser necesario indicar que se trata de un objeto Microsoft
Access. Por ejemplo, cuando se declara una variable de objeto para representar un
formulario de Microsoft Access desde Microsoft Visual Basic, debe distinguirse entre el
objeto Form de Microsoft Access y un objeto Form de Visual Basic. Para ello se incluye el

nombre de la biblioteca de tipos en la declaracin de la variable, como muestra el siguiente


ejemplo:
Dim frmPedidos As New Access.Form
Algunas aplicaciones no reconocen algunos de los tipos de objetos de Microsoft Access. En
ese caso, incluso despus de establecer una referencia a la biblioteca de tipos de Microsoft
Access, ser necesario declarar todas las variables objeto de Microsoft Access como del
tipo Object. Tampoco puede usarse la palabra clave New para crear una nueva definicin
del objeto. El siguiente ejemplo muestra cmo declarar una variable que represente una
nueva definicin del objeto Application de Microsoft Access desde una aplicacin que no
reconoce los tipos de objeto de Microsoft Access. Dim appAccess As Object
Set appAccess = CreateObject("Access.Application") Para determinar la sintaxis a utilizar
con una aplicacin determinada debe consultarse la documentacin de la aplicacin.
Niveles de declaracin
Valor local y variables miembros
Una variable local es aquella que se declara dentro de un procedimiento. Una variable
miembro es un miembro de un tipo de Visual Basic; se declara en el nivel de mdulo,
dentro de una clase, estructura o mdulo, pero no dentro de ningn procedimiento interno
de esa clase, estructura o mdulo.
Variables compartidas y de instancias
La categora de una variable miembro, en una clase o estructura, depende de que la variable
est o no compartida. Si una variable se declara con la palabra clave Shared, es una variable
compartida, y existe en una nica copia compartida por todas las instancias de la clase o
estructura.
Declarar el tipo de datos
La clusula As de la instruccin de declaracin permite definir el tipo de datos o de objetos
de la variable que se est declarando. Se puede especificar cualquiera de los siguientes tipos
para una variable:
- Un tipo de datos bsico, como Boolean,Long o decimal - Un tipo de datos
compuesto,como una matriz o estructura - Un tipo de objeto o clase, definido en su
aplicacin o en otra aplicacin - Una clase de .NET Framework, como Label o TextBox Un tipo de interfaz, como IComparable o IDisposable

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.

Str(Nmero). Convierte el nmero a una expresin cadena.


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.
Nota El valor predeterminado del compilador es Option Explicit On si no especifica Option
Explicit en el cdigo.
Tambin puede establecer Option Explicit en el entorno de desarrollo integrado (IDE) de
Visual Studio o en una lnea de comandos.
Para establecer Option Explicit en el entorno de desarrollo integrado (IDE) 1.En el men
Herramientas, elija Opciones.
2.Abra el nodo Proyectos y soluciones.
3.Elija Valores predeterminados de VB.
4.Modifique el valor de Option Explicit.
Para establecer Option Explicit en la lnea de comandos Incluya la opcin del
compilador /optionexplicit en el comando vb
Ejemplo de anotacin de variables bien clara abajo:
Option Explicit:
Private Sub Command1_Click()
Dim
Dim
Dim
Dim
Dim
Dim

nInt
nLng
nSng
nDob
nCur
nVar

As
As
As
As
As
As

Integer
Long
Single
Double
Currency
Variant

(numrico, cadena de caracteres o fecha)

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

'COMO CREAR CONSTANTES


Visual Basic contiene varias constantes predefinidas, que se utilizan principalmente para
imprimir y mostrar. Puede crear tambin sus propias constantes con la instruccin Const,

utilizando las mismas directrices que en la creacin de nombres de variables. Si Option


Strict es On, debe declarar el tipo de constante explcitamente.
El mbito de una constante, que es el conjunto de todo el cdigo que puede hacer referencia
a ella sin calificar su nombre, es igual al de una variable declarada en la misma ubicacin.
Para crear una constante que exista en el mbito de un procedimiento concreto, declrela
dentro de dicho procedimiento. Para crear una constante disponible en toda la aplicacin,
declrela con la palabra clave Public en la seccin de declaraciones de la clase.
Las constantes que se utilizan en el cdigo pueden ser definidas por el modelo de objeto
para los controles o componentes con los que trabaja o definidas por el usuario, es decir,
creadas por ste

Como Declarar Una Constante

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

Para declarar una constante se necesita la instruccin:

Const Nombre_Constante = Expresin

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

Const MENSAJE As String = "HOLA COMPAEROS"


Sub Constante()
MsgBox (MENSAJE), , "PRUEBA I"
SALUDO = MENSAJE & " " & "DEL" & " " & "CURSO"
MsgBox (SALUDO), , "PRUEBA II"
End Sub

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

nombrebiblioteca Opcional. El nombre de la biblioteca tipo que define a la constante. Para


la mayor parte de los controles (no est disponible en Macintosh), se trata tambin del
nombre de clase del control. Si no recuerda el nombre de clase del control, site el puntero
del mouse (ratn) sobre el control en la caja de herramientas. El nombre de clase aparecer
en el ToolTip. nombremodulo Opcional. El nombre del mdulo, dentro de la biblioteca tipo
que define a la constante. Se puede conocer el nombre del mdulo empleando el
Examinador de objetos. nombreconstante El nombre definido para la constante en la
biblioteca tipo.

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

Dim intI As Integer


For intI = 0 to 364
curGastos(intI) = 20
Next
End Sub

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

A diferencia de otras versiones de Basic, Visual Basic no permite declarar implicitamente


una matriz.Una matriz tiene que ser declarada explicitamente, y los ndices de la mismos
deben estar en el rango -2 a la 31 a 2 a la 31. A continuacin observaremos algunos
ejemplos:
Dim Matriz_A(19) as string

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:

- Declare la matriz en la seccin de declaraciones de mdulo con una sentencia Public si se


quiere global o con Private o Dim. Si la quiere al nivel del mdulo, o en procedimiento con
Static o Dim si la quiere local.
Para especificar que la matriz va a ser dinmicadeje la lista de
dimensiones vaca. Por ejemplo:
Dim Matriz_A()

- Asigne un nmero actual de elementos con la sentencia ReDim. Se supone que N est
definida previamente.
ReDim Matriz_A(N + 1)

La sentencia Redim puede aparecer solamente en un procedimeinto y permite cambiar el


nmero de elementos de la matriz, no el nmero de dimensiones. Sin embargo, no puede
declarar un a matriz de un tipo de datos y luego usar ReDim para cambiar la matriz a otro
tipo de datos. Por ejemplo, si declaramos la matriz Matriz_A a nivel de un mdulo,
Private Matriz_A() as integer

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)

Incrementa el tamao de la matriz multidimensional, slo se puede cambiar el lmite


superior de la ltima dimensin. Cualquier otro intento produce un error. Evidentemente, si
se disminuye el tamao de la matriz hay una perdida parcial de los datos.
como declarar matrices

La declaracin de una matriz especifica el nombre de la matriz, el nmero de elementos de


la lista y el tipo de stos. En funcin del nmero de dimensiones, distinguimos entre
matrices unidimensionales y multidimensionales.
Las matrices se declaran igual que las restantes variables, utilizando instrucciones Dim,
Static, Private, o Public. La diferencia entre las variables escalares (aquellas que no son
matrices) y las variables matriz es que normalmente se debe especificar el tamao de la
matriz. Una matriz con un tamao especificado es una matriz de tamao fijo. Una matriz
cuyo tamao puede cambiar mientras el programa se est ejecutando es una matriz
dinmica. Si una matriz se indexa desde 0 desde 1 depende del valor de la instruccin
Option Base. Si Option Base 1 no se especifica, todos los ndices de matrices comienzan en
cero.
Almacenar valores Variant en matrices
Hay dos formas de crear matrices de valores Variant. Una forma consiste en declarar una
matriz como del tipo de datos Variant, tal y como muestra el siguiente ejemplo:
Dim varDatos(3) As Variant
varDatos(0) = "Cristina Martnez"
varDatos(1) = "C/ Don Ramn de la Cruz, 73"
varDatos(2) = 38
varDatos(3) = Format("06-09-1952", "Fecha general")

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.

Utilice instrucciones For...Next para operar con matrices de dimensiones mltiples. El


siguiente procedimiento llena una matriz bidimensional con valores Single.
Sub LlenaMatrizMulti()
Dim intI As Integer, intJ As Integer
Dim sngMulti(1 To 5, 1 To 10) As Single
' Llena matriz con valores.
For intI = 1 To 5
For intJ = 1 To 10
sngMulti(intI, intJ) = intI * intJ
Debug.Print sngMulti(intI, intJ)
Next intJ
Next intI
End Sub

COPIAR UNA MATRIZ EN OTRA


No existe una funcin predefinida que permita copiar una matriz en otra. Es posible asignar
el contenido completo de una matriz a otra matriz, siempre y cuando la matriz del lado
izquierdo de la asignacin sea una matriz dinmica. Las matrices estticas solo pueden
aparecer a la derecha de la asignacin. Segn esto, puede sustituirse la rutina de copiar
matriz del ejemplo anterior por:
x= m

SENTENCIA DIM EN LAS MATRICES


La sentencia Dim, adems de para declarar variables, se puede utilizar tambin para
declarar matrices. Su sintaxis es: Dim variable[(dims)][As tipo][variable[(dims)][as tipo]]...
Variable es un identificador que nombra la matriz.
dim es una de expresiones numricas, separadas por comas y que definen las dimensiones
de una matriz. Esta lista puedeser de la forma siguiente:
[inferior to]superior[,[inferior to]superior]...
As tipo define el tipo de variable.
Puede ser un tipo simple(integer, log, single, double, string, etc.) o un tipo definido por el
usuario.

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.

SENTENCIA ERASE EN MATRICES


Para matrices estticas, Erase asigna cero a cada elemento de las matrices numricas y nulo
("") a cada elemento de las matrices de caracteres.
Para matrices dinmicas, Erase libera el espacio de memoria utilizado por las matrices. Para
utilizar de nuevo cualquiera de ellas , es necesario de nuevo declarar las dimensiones de la
matriz utilizando ReDim o Dim.
Erase nombre_de_la_matriz[,nombre_de_la_matriz]...

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

SENTENCIA OPTION BASE


Se utiliza en el nivel del mdulo para definir el lmite inferior predeterminado para los
subndices de una matriz. Su sintaxis es:
Option Base n

donde n es una expresin entera de valor 0 o 1.


El valor predeterminado es 0.Esta sentencia debe ejecutarse antes de definir cualquier
matriz y no se puede utilizar dentro de un procedimiento. Por ejemplo:
Option Base 1
Private Sub Form_Load()
Dim a(100) as integer 'matriz de 100 elementos: a(1) ... a(100)
a(1) = 10
...
End Sub

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:

personas (1, 1) = "Carolina"


personas (2, 1) = "Zinedine Zidane"
personas (1, 7) = "Augusta De las Mercedes"
personas (1, 8) = "Joselito"
personas (2, 2) = "Manuelito"
personas (4, 1) = "Diego"
personas (6, 2) = "Gilberto"
personas (6, 5) = "Mariana"
personas (6, 8) = "Daphne"
El total de ndices posibles para almacenar datos o valores en el ejemplo anterior es de 48
datos, ya que si multiplicamos 6 x 8 nos da como total 48 valores posibles para utilizar en
la matriz bidimensional.
DECLARACIN DE MATRICES
La declaracin de matrices es igual a la declaracin de variables, en las que usan las
instrucciones (dim, static, private o public).
Diferencia en la declaracin de variables escalares y variables matriz:
Variables Matriz Especifica el tamao de la matriz. Ejemplo: Dim matriz(3,5) as Double
Variables Escalares Son aquellas que no son matrices. Ejemplo: Dim nmero as Integer
Matriz Fija: En la siguiente lnea de cdigo se declara como matriz Integer una matriz de
tamao fijo con 11 filas y 11 columnas:
Dim MiMatriz(10, 10) As Integer

El primer argumento corresponde al nmero de filas y el segundo al nmero de columnas.

Para declarar una matriz fija se debe especificar su tamao.

Ejemplo:
Dim matriz(3, 5) as Double
Static matriz(8, 10) as Integer
Public matriz(2, 6) as Single

El tamao mximo de una matriz depender del sistema operativo y cantidad de


memoria disponible.

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)

La funcin UBound y la funcin LBound sirven para determinar el tamao de una


matriz.

* La funcin LBound se usa para encontrar el lmite inferior de la


dimensin de una matriz.
* La funcin UBound se usa para encontrar el lmite superior de la
dimensin de una matriz.

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

Cuando las expresiones contienen operadores de ms de una categora, dichos operadores


se evalan de acuerdo con las siguientes reglas:
Los operadores aritmticos y de concatenacin tienen el orden de prioridad que se describe
a continuacin; todos ellos tienen mayor prioridad que los operadores lgicos, de
comparacin y bit a bit.

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

/ Divisin % Devuelve el resto de la divisin


Referencia: El operador aritmtico que puede resultar ms desconocido para los lectores es
el operador %. Explicamos con mayor detenimiento su funcionamiento y un ejemplo en el
que es til en el taller: Listas de elementos con colores alternos en PHP. Operadores de
comparacin Se utilizan principalmente en nuestras condiciones para comparar dos
variables y verificar si cumple o no la propiedad del operador.
== Igualdad != Desigual < Menor que <= Menor igual que > Mayor que >= Mayor igual
que
Operadores lgicos Se usan en combinacin con los operadores de comparacin cuando la
expresin de la condicin lo requiere.
And Y Or O ! No
Operadores de incremento Sirven para aumentar o disminuir de una unidad el valor de una
variable
++$variable Aumenta de 1 el valor de $variable --$variable Reduce de uno el valor de
$variable
Operadores combinados Una forma habitual de modificar el valor de las variables es
mediante los operadores combinados:
$variable += 10 Suma 10 a $variable $variable -= 10 Resta 10 a $variable $variable .=
"aado" Concatena las cadenas $variable y "aado"

Este tipo de expresiones no son ms que abreviaciones de otras formas ms clsicas:


$variable += 10
es lo mismo que:
$variable = $variable+10
Los operadores especifican el tipo de clculo que se desea realizar con los elementos de una
frmula. Microsoft Excel incluye cuatro tipos diferentes de operadores de clculo:
aritmtico, comparacin, texto y referencia Un operador es un elemento de cdigo que
realiza una operacin en uno o ms elementos de cdigo que contienen valores. Los
elementos de valor incluyen variables, constantes, literales, propiedades, valores devueltos
de procedimientos Function y Operator y expresiones. Cuando hay multiplicacin y
divisin en la misma expresin, cada operacin se evala a medida que aparece, de
izquierda a derecha.
Tipos de Operadores
Los cuales son mas comunes en
Visual Basic proporciona los tipos siguientes de operadores:
Operadores aritmticos, realizan los clculos familiares en valores numricos, incluido el
desplazamiento de sus modelos de bits.
Operadores de comparacin, comparan dos expresiones y devuelven un valor Boolean que
representa el resultado de la comparacin.
Operadores de concatenacin, combinan varias cadenas en una sola.
Operadores lgicos y bit a bit en Visual Basic, 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. Para obtener ms informacin,
vea Instrucciones de asignacin.
Cuando hay varias operaciones en una misma expresin, cada parte de la misma se evala y
se resuelve en un orden predeterminado segn la prioridad de los operadores. en todos los
lenguajes de programacion se utiliza operadores para efectuar operaciones
aritmeticas,combinando asi variables y constantes.

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

OPERADORES LGICOS: Los operadores lgicos dan un resultado a los usuario, ya


sea que se cumpla o no una condicin. Una funcin lgica se forma si se combinan 2 o ms
operadores lgicos.
Los operadores lgicos son 3:
NO/NOT: Negacin
Y/AND: Conjuncin
O/OR: Disyuncin

Analizando el operador lgico Y.


Para analizar el funcionamiento de este operador lgico vamos a plantear un pequeo caso
para ver que es lo que ocurrira en diferentes momentos.
Tenemos a nuestro Robot movindose libremente por nuestra pasarela con 10 posiciones y
queremos que mire si se encuentra en la posicion 5 y si el bloque que tiene encima se llama
A. Si es as deber cogerlo y llevarlo a la primera posicion.
En un principio podramos pensar en utilizar un Si dentro de otro, pero como ya hemos
dicho muchas veces, cuantas menos lneas tenga el cdigo de un programa, en un principio
mejor. Veamos igualmente como sera el cdigo utilizando un Si anidado con otro. En un
principio en el primero de los "Sis" podemos preguntar por cualquiera de las condiciones
que se deben cumplir y dentro por la que queda. Dentro de los dos "Sis" pondremos las
lneas que se debe ejecutar en caso de que las dos condiciones sean Verdaderas. (Solo
escribiremos las lneas en las que se utiliza la instruccion Si). Te recomiendo que antes de
continuar mira la pgina de instrucciones de nuestro lenguaje.
Si Posicion = 5 entonces Si BloqueEncima = "A" entonces

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 (^)

Operadores aritmticos (Visual Basic)


Operador suma: sirve para obtener el resultado de la suma de dos o ms nmeros o
tambin tener como resultado una cadena, en el caso de cadenas.
Ejemplo:
Sub suma ()
Dim dato1 as integer
Dim dato2 as integer
Dim dato3 as integer
dato1 = 6
dato2 = 3
dato3 = 9
resultado = (dato1 + dato2 + dato3)
MsgBox resultado

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

Los operadores de comparacin constan de las siguientes partes:


Parte Descripcin resultado Requerido; cualquier variable numrica. expresin Requerido;
cualquier expresin. operadorcomparacin Requerido; cualquier operador de comparacin.
objeto Requerido; cualquier nombre de objeto. cadena Requerido; cualquier expresin de
cadena. patrn Requerido; cualquier expresin de cadena o intervalo de caracteres.

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.

Visual Basic es un lenguaje de programacin moderno que admite un gran nmero de


constructores comunes de programacin y elementos de lenguaje.
*Convenciones de cdigo y estructura de programas

En esta seccin se introduce la estructura de programas de Visual Basic la cual proporciona


un programa del mismo sencillo de en el cual se describen convenciones de cdigo de
Visual Basic. Las convenciones de cdigo son sugerencias que no se centran en la lgica de
un programa, sino en la apariencia y la estructura fsica. Estas pueden incluir: Formatos
estandarizados para etiquetar y comentar cdigo.
-Dar formato y agregar sangria.
-Codificacion para objetos, variables y procedimientos.
BIBLIOGRAFIA: msdn.microsoft.com/.../y4wf33f0(VS.80).aspx - Espaa -

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

Escribir un Procedimiento Sub

para escribir un procedimiento sub se necesita realizar lo siguiente:


La sintaxis que define un procedimiento es la siguiente:
[Private/Public][Static Sub nombre[(parmetros)]
[sentencias]
[Exit Sub]
[sentencias]
End Sub

La explicacion es analoga dada por las funciones(function)


La sintaxis correspondiente a una funcin es la siguiente:
[Private/Public] [Static] Function nombre [(parmetros)] [As tipo]
[sentencias]
[nombre=expresin]
[Exit Function]
[sentencias]
[nombre=expresin]
End Funtion

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)

Para llamar a una Funcion es de la siguiente forma:


[variable=] nombre[(argumentos)]

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.

Llamar a procedimientos Sub y Function


Para efectuar una llamada a un procedimiento Sub desde otro procedimiento, escriba el
nombre del procedimiento e incluya valores para todos los argumentos requeridos. No es
necesaria una instruccin Call, pero si la utiliza, los argumentos deben aparecer encerrados
entre parntesis.

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

Llamar a procedimientos Sub con ms de un argumento


El siguiente ejemplo muestra dos formas de llamar a un procedimiento Sub con ms de un
argumento. La segunda vez que se llama a CalcuCasa, es necesario utilizar parntesis a
ambos lados de los argumentos ya que se utiliza la instruccin Call.
Sub Principal()
CalcuCasa 99800, 43100
Call CalcuCasa(380950, 49500)
End Sub
Sub CalcuCasa(precio As Single, salario As Single)
If 2.5 * salario <= 0.8 * precio Then
MsgBox "No puede permitirse esta casa."
Else
MsgBox "Esta casa est a su alcance."
End If
End Sub

Utilizar parntesis al efectuar llamadas a procedimientos Function Para utilizar el valor


que devuelve una funcin debe asignar la funcin a una variable y encerrar los argumentos
entre parntesis, tal y como muestra el siguiente ejemplo.
Respuesta3 = MsgBox("Est contento con su esposa o desea buscar otra?",
4, "Pregunta 3")

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"

Precaucin Si en el ejemplo anterior se incluyen parntesis, la instruccin puede producir


un error de sintaxis.
Transferir argumentos con nombre Una instruccin de un procedimiento Sub o Function
puede pasar valores a los procedimientos que llama mediante argumentos con nombre. Los
argumentos con nombre pueden aparecer en cualquier orden. Un argumento con nombre se
compone del nombre del argumento seguido por dos puntos y un signo igual (:=) y el valor
asignado al argumento.
El siguiente ejemplo efecta una llamada a la funcin MsgBox utilizando argumentos con
nombre que no devuelven ningn valor.
MsgBox Titulo:="Cuadro de tarea", Mensaje:="Tarea concluida!"

El siguiente ejemplo llama a la funcin MsgBox empleando argumentos con nombre. El


valor que devuelve la funcin se asigna a la variable respuesta3.
respuesta3 = MsgBox(Titulo:="Pregunta 3", _ Mensaje:="Est satisfecho con su salario?",
Botones:=4)

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:

Function NombreFun(arg1, arg2,...,argn)


Declaracin de Variables y constantes
Instrucccin 1
Instrucccin 2
...
Instrucccin k
NombreFun = Valor de retorno 'comentario

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.

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

Estructuras de Control de Flujo


Las estructuras de control permiten regular el flujo de ejecucin de un programa. Utilizando
estructuras de control, puede escribir cdigo de Visual Basic que tome decisiones o repita
acciones. Otras estructuras de control le permiten garantizar la eliminacin de un recurso o
ejecutar una serie de instrucciones en la misma referencia a objeto.

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:

Contador = Contador + 1 Contador = Contador 1


Siendo 1 el incremento del contador.
Acumuladores:
Un acumulador es un campo o zona de memoria cuya misin es almacenar
cantidades variables resultantes de sumas sucesivas. Realiza la funcin
de un contador con la diferencia que el incremento o decremento de cada
suma es variable en lugar de constante como en el caso del contador.

Se representa por S=S+N donde N es una variable y no constante.


Al igual que al contador a un acumulador se le inicializa.

Las estructuras de control tambin se denominan sentencias de control, estas estructuras


permiten repetir varias veces los procesos.Ademas permiten modificar el flijo de ejecucion
de las instrucciones d un programa. Dentro de estas estructuras encontramos:
- If...Then - If...Then...Else - Select case - For... Next - While...Wend - Do...loop - Goto
Sentencia IF es condicional que permite tomar decisiones basndose entre si/no o
verdadero/falso "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".
Sentencia For... NexT "La sentencia for da lugar a un bucle que permite ejecutar un
conjunto de sentencias cierto nmero de veces" -Primero se evalua expreciones dando
como resultado dos numeros. -la variable del bucle recorrera los valores desde el numero
dado por las expresion. -El bloque de sentencias se ejecutara en cada uno de los valores que
tome la variable del bucle. .................................................................... 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".
Sentencia Do... Loop "repeticin un determinado nmero de veces"
Las estructuras de control permiten regular el flujo de ejecucin de un programa. Utilizando
estructuras de control, puede escribir cdigo de Visual Basic que tome decisiones o repita
acciones. Otras estructuras de control le permiten garantizar la eliminacin de un recurso o
ejecutar una serie de instrucciones en la misma referencia a objeto.Esta estructura de
control tiene un unico punto de entrada y salida

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.

Ciclos controlado por contador.


Estos ciclos como su nombre lo indica son controlador por un contador, es decir en este tipo
de ciclos se conoce el nmero de veces que este se repetir desde el inicio del ciclo. El ciclo
que de forma natural es controlado por un contador es el ciclo for, en el caso de los ciclos
while como ya se pudo ver se controlan de diferentes maneras una de ellas es por medio de
un contador. Ejemplo: El siguiente fragmento muestra un ciclo while que controlado por un
contador se repetira 10 veces.

int Contador =1;

while(Contador<=10) {
printf(%d, , Contador);
Contador++;

Crear Bucles mediante Cdigo


INTRODUCCIN DE UN BUCLE
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. Podemos tener
dos tipos de bucles segn lo que nos interese comprobar. Tenemos un bucle que se repite
mientras se cumple una condicion determinada, y otro que se realiza hasta que se cumple la
condicion que marcamos. 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.
LA ESTRUCTURA PARA LA CREACION DE UN BUCLE ES LA SIGUIENTE:
En nuestro curso esta estructura bsica de un bucle Mientras se representar de la siguiente
manera:
Mientras <condicin> hacer
<instrucciones>

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

{\color{Sepia} \mathit{ para }} \; {\color{OliveGreen}


\mathit{ i }} \; {\color{BlueViolet} \mathit{ \gets }} \;
{\color{OliveGreen} \mathit{ x }} \; {\color{Sepia} \mathit{ hasta }} \;
{\color{OliveGreen} \mathit{ n}} \; {\color{Sepia} \mathit{ a \;
incrementos \; de }} \; {\color{OliveGreen} \mathit{ s }} \;
{\color{Sepia} \mathit{ hacer }}
{\color{BlueViolet} \mathit{ instrucciones }}
{\color{Sepia} \mathit{ fin \; para }}
* 'Variable de control': prcticamente un mandato impuesto por el uso
habitual es utilizar la letra i Iterador como variable de control, o bien
sus sucesoras en caso de bucles anidados. El uso de esta letra crptica
quizs a primera vista es sin embargo una excelente forma de aportar
agilidad de lectura al cdigo por su uso tan extensivo. Como raras veces
los bucles anidados superan las tres dimensiones (por una sencilla
cuestin de explosin exponencial), las letras i, j y k suelen ser las
nicas relacionadas con este uso. En C se define en el primer parmetro
de la instruccin junto con la inicializacin (opcional).
* Inicializacin de la variable de control: en pseudolenguaje se pide
explicitarlo (es la seccin := ValorInicial), sin embargo, otros
lenguajes ms permisivos como C no lo requieren de forma obligatoria. De
todos modos, la prctica de utilizar variables de control que no se
inicializan en el bucle no es recomendada para la legibilidad del cdigo.
En C se define en el primer parmetro del bucle junto con la variable de
control.
* Condicin de control: en pseudolenguaje se ve representado por el
valor final que puede tomar la variable de control (la seccin A
ValorFinal). En C es el segundo parmetro y puede ser cualquier condicin
(ni siquiera es obligacin que est la vhariable de control, aunque una
vez ms, esto no se considera una buena prctica).
* Incremento: en pseudolenguaje se toma por defecto el valor 1, aunque
puede explicitarse por medio de la sentencia PASO = ValorPaso cualquier
nmero entero (lase bien entero, o sea que tcnicamente podemos
decrementar). En C es el ltimo parmetro.
* Cuerpo: es lo que se har en cada iteracin, pueden ser una o ms
instrucciones. En pseudolenguaje pesa la restriccin de no poder alterar
el valor de la variable de control; esto no es requerido en C, pero no se
considera una buena prctica.

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.

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. ...................................................
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.

CUALES SON LOS TRES TIPOS DE BUCLES QUE MS SE UTILIZA


Los tres bucles ms utilizados en programacin son:
- bucle while - bucle for - bucle repetir
Ahora daremos varios ejemplos para que de esta manera podamos practicar en nuestras
casas.
Ejemplo en cdigo C de sentencias repetidas:
int var=0;

//cdigo que puede ser sustituido por un bucle


var = var + 2; //var igual a 2 (puede ser sustitudo por var+=2)
var = var + 2; //var igual a 4
var = var + 2; //var igual a 6
var = var + 2; //var igual a 8
var = var + 2; //var igual a 11
// fin de cdigo que puede ser sustituido por un bucle
printf("el resultado es %i", var );

Ejemplo con un bucle:


int var=0;
//Cdigo para el bucle
int i;
// este es el Bucle for
for(i=0;i<10;i+=2)
{
var += 2;
}

printf("el resultado es %i", var);

Ejemplo escapando de un bucle en Visual Basic 1:


Dim h&, var&
var = 0
'Codigo del Bucle
do
var = var + 2
if var = 10 then
goto escape
end if
loop

'Codigo para salir del bucle

escape:
print "El resultado es " & var

Ejemplo escapando de un bucle en Visual Basic 2:

Dim h&, var&


var = 0
'Codigo del Bucle
do
var = var + 2
if var = 10 then
exit do
end if
loop

'Codigo para salir del bucle

print "El resultado es " & var

Mediante el uso de instrucciones condicionales y instrucciones de bucle (tambin conocidas


como estructuras de control) es posible escribir cdigo de Visual Basic que tome decisiones
y repita determinadas acciones. Otra estructura de control til, la instruccin With, permite
ejecutar una serie de instrucciones sin necesidad de recalificar un objeto.
Utilizar instrucciones condicionales para tomar decisiones Las instrucciones condicionales
evalan si una condicin es True o False y a continuacin especifican las instrucciones a
ejecutar en funcin del resultado. Normalmente, una condicin es una expresin que utiliza
un operador de comparacin para comparar un valor o variable con otro.
Utilizar instrucciones condicionales para tomar decisiones Las instrucciones condicionales
evalan si una condicin es True o False y a continuacin especifican las instrucciones a
ejecutar en funcin del resultado. Normalmente, una condicin es una expresin que utiliza
un operador de comparacin para comparar un valor o variable con otro.
Elegir la instruccin condicional a utilizar If...Then...Else: Salto a una instruccin cuando
una condicin es True o False
Select Case:Seleccin de la instruccin a ejecutar en funcin de un conjunto de
condiciones
En primera instancia empezaremos conociendo lo que es un bucle.
Un BUCLE es el acto de repetir varias veces una sentencia de un codigo hasta que el
BUCLE deje de cumplirse.
Un BUCLE representa la base de la programacin estrucurada.
Un bucle no es ms que una serie de instrucciones que se repiten.
Podemos tener dos tipos de bucles segn lo que nos interese comprobar.

Tenemos un bucle que se repite mientras se cumple una condicion determinada, y

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:

For i=0 To 10 Step 1


Print i

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.

else statements Opcional. Una o ms instrucciones que se ejecutan si ninguna


expresin condition o elseifcondition anterior se evala como True.
End If Termina el bloque If...Then...Else.
Comentarios
Puede utilizar la forma de una sola lnea para pruebas cortas y sencillas. Sin embargo, el
formato de mltiples lneas proporciona ms estructura y flexibilidad que el formato de una
sola lnea y, generalmente, es ms fcil de leer, mantener y depurar.
Cuando se encuentra una estructura If...Then...Else, se comprueba la condition. Si condition
es True, se ejecutan las instrucciones que estn a continuacin de Then. Si condition es
False, se evalan por orden cada una de las instrucciones ElseIf. Cuando se encuentra una
elseifcondition que sea True, se ejecutan las instrucciones que siguen inmediatamente a la
instruccin Then asociada. Si elseifcondition se evala como True, o si no hay ninguna
instruccin ElseIf, se ejecutan las instrucciones situadas despus de Else. Despus de la
ejecucin de las instrucciones que siguen a Then, ElseIf o Else, la ejecucin contina con la
instruccin que sigue a End If.

Ejecuta condicionalmente un grupo de instrucciones, dependiendo del valor de una


expresin.
Sintaxis
If condicin Then [instrucciones]-[Else instrucciones_else]
Puede utilizar la siguiente sintaxis en formato de bloque:
If condicin Then
[instrucciones]
[ElseIf condicin-n Then
[instrucciones_elseif] ...
[Else
[instrucciones_else]]
End If

-or-

If condition [ Then ]
[ statements ]
[ ElseIf elseifcondition [ Then ]
[ elseifstatements ] ]
[ Else
[ elsestatements ] ]
nd If

-orIf condition Then [ statements ] [ Else [ elsestatements ] ]


La sintaxis de la instruccin If...Then...Else consta de tres partes:
Parte Descripcin
Condicin Requerido. Uno o ms de los siguientes dos tipos de expresiones:
Una expresin numrica o expresin de cadena que puede ser
evaluada como True o False. Si condicin es Null, condicin se considera
False.
Una expresin del formulario TypeOf nombre_objeto Is tipo_objeto.
El nombre_objeto es cualquier referencia al objeto y tipo_objeto es
cualquier tipo de objeto vlido. La expresin es True si nombre_objeto es
del tipo de objeto especificado por tipo_objeto; en caso contrario es
False.

Instrucciones Opcional en formato de bloque; se requiere en formato de lnea sencilla que


no tenga una clusula Else. Una o ms instrucciones separadas por dos puntos ejecutados si
la condicin es True.
Condicin-n Opcional. Igual que condicin.
instrucciones_elseif Opcional. Una o ms instrucciones ejecutadas si la condicin-n
asociada es True.
instrucciones_else Opcional. Una o ms instrucciones ejecutadas si ninguna de las
expresiones anteriores condicin o condicin-n es True.
Para ejecutar ms de una lnea de cdigo, es preciso utilizar la sintaxis de mltiples lneas.
Esta sintaxis incluye la instruccin End If, tal y como muestra el siguiente ejemplo:
Sub AvisoUsuario(valor as Long)
If valor = 0 Then
Aviso.ForeColor = "Red"
Aviso.Font.Bold = True
Aviso.Font.Italic = True
End If
End Sub

Ejecutar unas instrucciones determinadas si una condicin es True y ejecutar otras si es


False
== Use una instruccin If...Then...Else para definir dos bloques de instrucciones

ejecutables: un bloque que se ejecutar cuando la condicin es True y el otro que se


ejecutar si la condicin es False. ==

Sub AvisoUsuario(valor as Long)


If valor = 0 Then
Aviso.ForeColor = vbRed
Aviso.Font.Bold = True
Aviso.Font.Italic = True
Else
Aviso.Forecolor = vbBlack
Aviso.Font.Bold = False
Aviso.Font.Italic = False
End If
End Sub

Comprobar una segunda condicin si la primera condicin es False Se pueden aadir


instrucciones ElseIf a una instruccin If...Then...Else para comprobar una segunda
condicin si la primera es False. Por ejemplo, el siguiente procedimiento funcin calcula
una bonificacin salarial dependiendo de la clasificacin del trabajador. La instruccin que
sigue a la instruccin Else slo se ejecuta cuando las condiciones de todas las restantes
instrucciones If y ElseIf son False.
Function Bonificacin(rendimiento, salario)
If rendimiento = 1 Then
Bonificacin = salario * 0.1
ElseIf rendimiento = 2 Then
Bonificacin= salario * 0.09
ElseIf rendimiento = 3 Then
Bonificacin = salario * 0.07
Else
Bonificacin = 0
End If
End Function

'Ejemplo de la instruccin If...Then...Else'


Este ejemplo muestra los dos posibles usos de If...Then...Else como bloque y en una nica
lnea. Tambin muestra el uso de If TypeOf...Then...Else.
Dim Nmero, Dgitos, MiCadena
Nmero = 53
' Inicializa variable.
If Nmero < 10 Then
Dgitos = 1
ElseIf Nmero < 100 Then
' La condicin es True,x lo q se ejecuta la siguiente instruccin.
Dgitos = 2
Else
Dgitos = 3
End 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.

Cdigo que permite ingresar datos a travs de inputbox y almacenarlos


posteriormente en cualquier hoja en Excel.

Los datos son almacenados en el libro Ejerc_formularios.xlsm y en la hoja


CuadroTexto.

Valida solo el campo txt_telefono_emp, y el resto son opcionales.

Valida los el campos txt_codigo_emp, txt_nombre_emp, txt_direccion_emp y el


resto son opcionales.

Permite validar todos los cuadros de texto obligando a ingresar todos los datos.

La estructura del cdigo no realiza nada porque contiene errores.

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

Seleccione la respuesta correcta:


Si en lugar de msgbox ponemos inputbox, qu aparece?
a) Se imprime el resultado
b) Aparece como titulo

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

Seleccione la respuesta correcta:


En el cdigo anterior para que se utiliza CINT
a) Para declarar variables
b) Para sacar el promedio de las notas
c) Para transformar las variables texto a nmero'

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

Elija la respuesta correcta:


De acuerdo al cdigo anterior si seleccionas el numero 5 que genera el programa:

Selecciono rojo

Selecciono verde

Selecciono 1,2 o 3

Ninguna de las anteriores'

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

Escoja la respuesta correcta:


Txtpremio se imprime en:

En una celda de Excel

En la celda RI o C1 de Excel

Aparece una ventana con el resultado

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

Seleccione la o las respuestas correctas: En el ejercicio anterior que se ejecuta despues de a


menor b

Si es verdadero, se imprime a

Si es falso se imprime a

Si es falso se imprime c

Ninguna de las anteriores

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

Seleccione la respuesta correcta: En el cdigo si txtedad es igual a 36 que imprime como


resultado :

TUS HORAS ESTAN CONTADAS

TE QUEDA MUCHO POR VIVIR

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

Seleccione la respuesta correcta


En el cdigo si txtedad es igual a 36 que imprime como resultado :

TUS HORAS ESTAN CONTADAS

TE QUEDA MUCHO POR VIVIR

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

Seleccione la respuesta correcta:


PRIMERO VAN LOS DATOS Y DESPUES EL RANGO EN EL QUE VAN A IR LOS
DATOS
Primero va en que rango debe ir y despues los datos que se van almacenar
Los 2 deben ir unidos
Ninguna de las anteriores

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

MsgBox "ERES MAYOR DE EDAD"


Else
MsgBox "ERES MENOR DE EDAD"
End If
End Sub

Cuando se ejecuta else?


a) cuando se imprime el inputbox
b) cuando el primer If es verdadero
c) cuando el primer if es falso
respuesta = c

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

Seleccione la respuesta correcta:


LA DECLARACION DE LA VARIABLE mayor ES CORRECTA:
a. Verdadero
b. Falso
'RESPUESTA: b. Falso

Pregunta 12

'Aplicacion para confirmar su telefono


Private Sub btninicio_Click()
Dim res As String
Dim tele As Integer
txttele.Text = ""
res = UCase$(InputBox$("su telefono", "datos del usuario"))
tele = MsgBox("su telefono es & res, vbyesnocancel", "confirme dato")
If tele = vbYes Then
MsgBox "correcto", vbCritical, "mensaje"
txttele.Text = res
Else
MsgBox "ingrese nuevo", vbCritical, "mensaje"
txttele.Text = ""
End If
End Sub

PARA QUE NOS SIRVE LA FUNCION UCASE


a. Convierte una cadena de caracteres alfabticos en maysculas
b. Convierte una cadena de caracteres numricos en letras
c. Ninguna de las anteriores
RESPUESTA: a. Convierte una cadena de caracteres alfabticos en maysculas

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

QUE PASA SI LA PRIMERA CONDICION ES FALSA Y LA SEGUNDA CONDICION


ES VERDADERA, UTILIZANDO EL OPERADOR LOGICO AND EN EL PRIMER IF:
a. Se ejecuta MsgBox "fuera de rango"

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

Else instrucciones else

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")

usuario = InputBox("Ingrese su Usuario")


aux_clave = InputBox("Ingrese su Clave")
aux_usuario = InputBox("Ingrese su Usuario")
If clave = aux_clave And usuario = aux_usuario Then
MsgBox ("Se a regristrado correctamente a nuestra pagina")
Else
MsgBox ("Error: La clave o el usuario es incorrecta")
End If
End Sub

****Su respuesta es:****

A) Se ejecuta Correctamente

B) Tiene errores que son .......


RESPUESTA: A

Instrucciones SELECT CASE


Esta instruccin, es una instruccin de decisin mltiple, donde el compilador prueba o
busca el valor contenido en una variable contra una lista de constantes, cuando el
computador encuentra el valor de igualdad entre variable y constante, entonces ejecuta el
grupo de instrucciones asociados a dicha constante, si no encuentra el valor de igualdad
entre variable y constante, entonces ejecuta un grupo de instrucciones asociados a un
default, aunque este ultimo es opcional.
El formato de esta instruccin es el siguiente;
capturar o asignar variable de condicin;
Select Case variableopcion
case const1 instruccin(es)
case const2 instruccin(es)
case const3 Instruccin(es)

Case Else instruccin(es);


End Select
ejemplo:

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

Esta instruccin, es una instruccin de decisin mltiple, donde el compilador prueba o


busca el valor contenido en una variable contra una lista de constantes, cuando el
computador encuentra el valor de igualdad entre variable y constante, entonces ejecuta el
grupo de instrucciones asociados a dicha constante, si no encuentra el valor de igualdad
entre variable y constante, entonces ejecuta un grupo de instrucciones asociados a un
default, aunque este ltimo es opcional.
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

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

Parmetro opcional.Una o ms instrucciones posteriores a Case Else que se ejecutan si


testexpression no coincide con ninguna clusula de expressionlist de cualquiera de las
instrucciones Case. End Select Termina la definicin la construccin Select...Case.

Ejemplo de la instruccin Select Case


En este ejemplo se utiliza la instruccin Select Case para evaluar el valor de una variable.
La segunda clusula Case contiene el valor de la variable que se evala y, por tanto, slo se
ejecuta la instruccin asociada con ella.
Dim Nmero
Nmero = 8
' Inicializa variable.
Select Case Nmero
' Evala Nmero.
Case 1 To 5
' Nmero entre 1 y 5, inclusive.
Debug.Print "Entre 1 y 5"
'Es la nica clusula Case cuyo valor es True.
Case 6, 7, 8
' Nmero entre 6 y 8.
Debug.Print "Entre 6 y 8"
Case 9 To 10
' Nmero es 9 10.
Debug.Print "Mayor que 8"
Case Else
' Otros valores.
Debug.Print "No est entre 1 y 10"
End Select

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

Estructura Select Case.


En ocasiones se dar el caso que en funcin del valor o rango de valores que pueda tener
una variable, una casilla, una
expresin, etc. debern llevarse a cabo diferentes acciones o grupos de acciones. Vea el
ejemplo siguiente.

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,

Select Case Expresin


Case valores :
Instrucciones.
Case valores :

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

Select Case sin End Select


Se ha usado una instruccin Select Case sin la instruccin End Select correspondiente.
Verifique si existe una estructura Select Case...End Select emparejada incorrectamente
dentro de la estructura Select Case...End Select externa. Si se tienen instrucciones Select
Case anidadas, cada una debe tener su End Select correspondiente.

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

Existe errores en el siguiente conjunto de sentencias.?

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

Al ingresar notas de 19 a 20 el sistema imprimir el texto "Excelente"

Al ingresar notas de 16, 17 y 18 el sistema imprimir el texto "Regular"

Al ingresar notas de 13, 14 y 15 el sistema imprimir el texto "Deficiente"

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"

'Que sucede si ingresamos por teclado una consonante o un nmero:


'a. No se compila el programa
b. Se ejecuta el MsgBox "No es vocal"
'c. Se ejecuta un MsgBox "Vocal abierta"
la respuesta = b

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

Para qu sirve la funcin Title:


a. Es una funcin obligatoria al momento de imprimir un mensaje
b. Se imprime el mensaje del MsgBox junto con el mensaje "DATOS"
c. Permite poner un titulo al MsgBox
RESPUESTA: c. Permite poner un titulo al MsgBox

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

Qu ingresamos en la cuadro de texto del InputBox?


a) los das
b) los meses
c) los aos
respuesta = b

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

Elija las opciones correctas


A) Si el Dim no se declara el programa se ejecuta.
B) Msgbox se utiliza para ubicar el titulo.
C) Si no se digita la expresion en Select Case, se emite un mensaje de error.
D) Todas las anteriores
RESPUESTA: A, C

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

Escoga la opcin correcta

a)Select case ejecuta todos los casos del codigo anterior


b)Select case en base a una instruccin ejecuta uno de los casos del cdigo anterior
Respuesta : b

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

Cual o cuales de la siguientes opciones es o son correctas?


a) Los valores son ingresados por formulario b) Los valores son ingresados por el teclado c)
El total es almacenado en la celda activa A4 d) El total es almacenado en la hoja activa en
la celda A4 e) Ninguna de las anteriores
Respuesta: b y d

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"

Case 22 To 33: Grasa1 = "normal en grasa"


Case 34 To 39: Grasa1 = "alto en grasa"
Case Is > 39: Grasa1 = "obesidad"
End Select
Case 40 To 59
Select Case Porcgra
Case 0 To 23: Grasa1 = "bajo en grasa"
Case 24 To 34: Grasa1 = "normal en grasa"
Case 35 To 40: Grasa1 = "alto en grasa"
Case Is > 40: Grasa1 = "obesidad"
End Select
Case 60 To 99
Select Case Porcgra
Case 0 To 24: Grasa1 = "bajo en grasa"
Case 25 To 36: Grasa1 = "normal en grasa"
Case 37 To 42: Grasa1 = "alto en grasa"
Case Is > 42: Grasa1 = "obesidad"
End Select
End Select

'lo mismo para hombres Case Is = "H"


Select Case edad
Case 18 To 39
Select Case Porcgra
Case 0 To 8: Grasa1 = "bajo en grasa"
Case 9 To 20: Grasa1 = "normal en grasa"
Case 21 To 25: Grasa1 = "alto en grasa"
Case Is > 25: Grasa1 = "obesidad"
End Select
Case 40 To 59
Select Case Porcgra
Case 0 To 11: Grasa1 = "bajo en grasa"
Case 12 To 22: Grasa1 = "normal en grasa"
Case 23 To 28: Grasa1 = "alto en grasa"
Case Is > 28: Grasa1 = "obesidad"
End Select
Case 60 To 99
Select Case Porcgra
Case 0 To 13: Grasa1 = "bajo en grasa"
Case 14 To 25: Grasa1 = "normal en grasa"
Case 26 To 30: Grasa1 = "alto en grasa"
Case Is > 30: Grasa1 = "obesidad"
End Select
End Select

End Select End Function

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"

End Select End Sub


Elija la respuesta correcta:
La sentencia SELECT CASE nos permite
Ejecutar una variable en funcin de un valor numrico o alfanumrico Ejecutar una
accin de entre varias acciones en funcin del valor de una expresin Ninguna de las
dos son correctas

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")

Que sucede si le ingresa el dia de la semana "lunes"?


a) Imprime Lunes
b) Imprime 1
c) Imprime Tiene que ser un dia de la semana en nmero, del 1 al 7
La respuesta es "C"

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

escoja la respuesta correcta:


que pasa si ingrsa una letra del abecedario que vaya despues de la e como por ejemplo la
letra f
a) imprime un valor que diga foca
b) imprime no hay

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

Que pasa si ingresa un numero que va del 1 al 12?


imprime un mes del ao de acuerdo al numero

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

InputBox("Ingrese la base del triangulo")


= InputBox("Ingrese la altura del triangulo")
(base * altura) / 2
("El area del triqangulo es: " & resp)

**** Su respuesta es: ****


A) Se ejecuta correctamente
B) Tiene errores que son......
Respueta: B (No esta declarada y colocada la variable de entrada
al select case opc)

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.

Do { While | Until } condition


[ statements ]
[ Exit Do ]
[ statements ]
Loop
-orDo
[ statements ]
[ Exit Do ]
[ statements ]
Loop { While | Until } condition

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

Do Until Cells(i, 1) = "AA"


i = 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

Loop { While | Until } condicin


Como puede verse, se ha delegado la capacidad de evaluar la condicin al final del bucle.
Esto tiene la particularidad de permitir que el grupo de instrucciones existentes en el
interior del bucle se ejecuten al menos una vez, independientemente de que la condicin a
evaluar sea o no verdadera.
Nuestro ejemplo podra resolverse as:
Dim edad As Integer
edad = 20
Do
edad = edad - 1
Loop Until edad = 0

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.

Utilizar instrucciones Do...LoopTexto en negrita` Repite un bloque de instrucciones


cuando una condicin es True o hasta que una condicin se convierta en True.
Sintaxis
Do [{While | Until} condicin]
[instrucciones]
[Exit Do]
[instrucciones]

Loop

O bien, puede utilizar esta sintaxis:


Do
[instrucciones]
[Exit Do]
[instrucciones]
Loop [{While | Until} condicin]

La sintaxis de la instruccin Do Loop consta de las siguientes partes:


Parte Descripcin condicin Opcional. Expresin numrica o expresin de cadena que es
True o False. Si la condicin es Null, condicin se considera False. Instrucciones Una o
ms instrucciones que se repiten mientras o hasta que condicin sea True.

Se pueden usar instrucciones Do...Loop para ejecutar un bloque de instrucciones un nmero


indefinido de veces. Las instrucciones se repiten mientras una condicin sea True o hasta
que llegue a ser True.
Repetir instrucciones mientras una condicin es True Hay dos formas de utilizar la palabra
clave While para comprobar el estado de una condicin en una instruccin Do...Loop. Se
puede comprobar la condicin antes de entrar en el bucle, o despus de que el bucle se haya
ejecutado al menos una vez. En el siguiente procedimiento ComPrimeroWhile, la condicin
se comprueba antes de entrar en el bucle. Si miNum vale 9 en vez de 20, las instrucciones
contenidas en el bucle no se ejecutarn nunca. En el procedimiento ComFinalWhile, las
instrucciones contenidas en el bucle slo se ejecutarn una vez antes de que la condicin
llegue a ser False.
Sub ComPrimeroWhile()
contador = 0
miNum = 20
Do While miNum > 10
miNum = miNum - 1
contador = contador + 1
Loop
MsgBox "El bucle se ha repetido " & contador & " veces."
End Sub

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.

Ejemplo de la instruccin Do...Loop


En este ejemplo se muestra cmo se pueden utilizar las instrucciones Do...Loop. La
instruccin interna Do...Loop hace un bucle 10 veces, establece el valor del indicador a
False y sale prematuramente mediante la instruccin Exit Do. El bucle externo sale
inmediatamente al comprobar el valor del indicador.
Dim Comprobar, Contador
Comprobar = True: Contador =
Do
' Bucle externo.
Do While Contador < 20
Contador = Contador +
If Contador = 10 Then
Comprobar = False
Exit Do
' Sale
End If
Loop
Loop Until Comprobar = False

' Inicializa variables.

' Bucle interno.


1
' Incrementa el contador.
' Si la condicin es verdadera.
' Establece el valor a False.
del bucle interno.
'Sale inmediatamente del bucle externo.

Se utiliza una instruccin Do...Loop cuando deseamos repetir un conjunto de instrucciones


un nmero indefinido de veces, hasta que se satisfaga una condicin.
Repite un bloque de instrucciones mientras una condicin Boolean sea True o hasta que la
condicin se convierta en True.

Do { While | Until } condition


[ statements ]
[ Exit Do ]
[ statements ]

Loop
-orDo
[ statements ]
[ Exit Do ]
[ statements ]

Loop { While | Until } condition

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.

Vamos a ver un par de ejemplos de este bucle para comprender su funcionamiento. El


ejemplo pide cunstantemente 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
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

LOOP UNTIL (cont = 6)


El ejemplo es un poco rarito, pero servir para comprender estos bucles. Se puede ver en
funcionamento para entender mejor la manera de ejecutarse que tiene este bucle.

El ejemplo siguiente ilustra las estructuras Do...Loopanidadas, as como el uso de While y


Until, y la comprobacin al principio (instruccin Do) y al final (instruccin Loop) del
bucle.
Dim check As Boolean = True
Dim counter As Integer = 0
Do
Do While counter < 20

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

Loop Until cont >= limite


End Sub
OPCIONES:
a)Se ejecuta siempre y cuando la condicn sea Verdadera
b)Se debe utilizar una Variable: VARCONTADOR
c)Se debe declarar variables
Respuesta:
c)Se debe declarar variables
Sub repetir()
Dim cont As Integer
Dim limite As Integer
cont = 0
limite = 10
Do
MsgBox (cont)
cont = cont + 1

Loop Until cont >= limite


End Sub

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

Cuando utilizo la funcion Do Loop?


Repite la ejecucin de un conjunto de sentencias mientras una condicin dada sea cierta, o
basta que una condicin dada sea cierta. La condicin puede ser verificada antes o despus
de ejecutarse el conjunto de sentencias.

Pregunta 6
imprimir nmeros del 0 al 10
Private Sub numeros () n = 0 N = 10
Do While n >= 0
Print n
N = n-1

Loop End Sub

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()

Dim farenth, cels As Integer


'cargar datos farenth = InputBox("introduzca la temperatura en grados Farentheit")
Do
If farenth <> "" Then
cels = ((farenth + 40) * 5 / 9 - 40)
MsgBox (cels) & "Temperatura en grados Celsius"
End If

Loop While farenth <> "" End Sub

Pregunta 9
La sentencia Do...Loop es de tipo?

Es una sentencia Manual

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 .

Sale inmediatamente del bucle Do en el que aparece. La ejecucin contina con la


instruccin que sigue a la instruccin Loop. Exit Do slo se puede utilizar dentro de un
bucle Do. Cuando se utiliza dentro de bucles Do anidados, Exit Do sale del bucle ms
profundo y transfiere el control al siguiente nivel de anidamiento.

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?

Utilizar una estructura Do...Loop es mejor 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 una mejor opcin.

Pregunta 13

Sentencia Do /Loop While


Do
Sentencia 1
Sentencia 2
Sentencia 3
...........
Sentencia N
Loop While(exp_log)
Sentencia X
En la estructurara anterior si (exp_log) es falsa se:
a) Se ejecuta el grupo de sentencia 1 hasta sentencia N
b) Se ejecuta el grupo de sentencias y continua en la sentencia X
RESPUESTA = a

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

La estructura Do...Loop proporciona mayor flexibilidad que la Instruccin While


End While? Texto en cursiva
a)Verdadero b)Falso
Respuesta: Verdadero
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.

Pregunta 17

Private Sub CommandButton1_Click()


Dim Control As Long
On Error Resume Next
Control = Text1.Text
Form1.BackColor = vbBlue
Do While Control <> 0
Label2.Caption = "Valor: " & Control
If Form1.BackColor = vbBlue Then
Form1.BackColor = vbRed
Else
Form1.BackColor = vbRed
End If
Control = Text1.Text
DoEvents
Loop
MsgBox "Loop completado"
End Sub

SELECCIONE LA RESPUESTA CORRECTA????


1.- AL MOMENTO DE EJECUTAR EL CODIGO INGRESANDO UN NUMERO, EL
EJERCICIO PRESENTA UN CRONOMETRO QUE SE DETIENE EN CERO (AZUL) Y
HASTA QUE LLEGUE A CERO EL FORMULARIO SE MANTIENE EN ROJO.
2.- AL MOMENTO DE EJECUTAR EL CODIGO EL EJERCICIO NO PRESENTA UN
CRONOMETRO QUE SE DETIENE EN CERO, POR EL CONTRARIO EL USUARIO
TIENE QUE INGRESAR LOS NUMEROS: CERO PARA EJECUTAR AZUL Y
CUALQUIER NUMERO PARA EJECUTAR ROJO.
RESPUESTA = 2

Pregunta 18
Verifique el cdigo y diga si funciona correctamente o no?

Private Sub btnMostrar_Click()


Dim x,y As Integer

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.

A pesar de que un programador con experiencia siempre encontrar la forma de afrontar


esas situaciones haciendo uso de FORNEXT, resulta mas fcil, apropiado y eficiente
emplear las instrucciones que el repertorio sentencias de Visual Basic pone a nuestra
disposicin. Veamos cuales son.
El siguiente procedimiento hace que el equipo emita un sonido 50 veces. La instruccin For
determina la variable contador x y sus valores inicial y final. La instruccin Next
incrementa el valor de la variable contador en 1.
Sub Bips()
For x = 1 To 50
Beep
Next x
End Sub

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

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.
Sub DosTotal()
For j = 2 To 10 Step 2
total = total + j
Next j
MsgBox "El total es " & total
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

Dado el siguiente conjunto de sentencias indique que imprimira?

Imprime una sola vez la variable s

Imprime la variable s solo en la primera iteracin

Imprime la variable s en cada iteracin

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

Que proceso se ejecuta con el nmero ingresado en el input box?


a) Se multiplica el nmero ingresado por valores del 1 al 10
b) Se imprime solo las posiciones de la matriz correspondientes a ese nmero
c) Se imprime solo las posiciones del vector correspondiente a ese nmero
Respuesta: b

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

ElseIf comtipoh = "TWIN" Then


For a = 11 To 20
comnumh.AddItem a

Next

ElseIf comtipoh = "MATRIMONIAL" Then


For a = 21 To 30
comnumh.AddItem a
Next

ElseIf comtipoh = "SUITE" Then


For a = 31 To 40
comnumh.AddItem a
Next

End If Application.ScreenUpdating = True End Sub en el ejercicio presente que realiza


for...next..? a) es el que permite que en las opciones de despliegue tipo al elegirla una
de las opciones en el proximo boton de despliegue aparescan automaticamente los
numeros de habitacion segun el tipo de habitacion
b)es un contador de la variable a y se repite c)ninguna de las dos anteriores

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

MsgBox " debe cumplirse la condicion"


End If
End Sub

En el programa para que sirve el ingreso por teclado de B


a. sirve como rango de comparacion con A
b. sirve para confirmar el rango seleccionado
respuesta b

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

Puede estar la estructura For Next en la estructura Do Loop


a. si
b. no Respuesta a

Pregunta 16
Verificar si el siguiente cdigo funcin correctamente o no con la forma indicada

Dim Vector1(100) As Integer


Dim Vector2(100) As Integer
Dim Respuesta() As Integer
Dim X, Y, i, num, num1, u, opc As Integer
Private Sub btnOk_Click()
opc = txtOpc.Text
Select Case opc
Case 1
lstInprimir.Visible = True
For num = 1 To 10

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.

E contiene una propiedad de instancia accesible denominada Current que tiene un


captador. Se dice que el tipo de esta propiedad es el tipo de elemento del tipo de coleccin.

Repite un grupo de instrucciones para cada elemento de una coleccin.


For Each element [ As datatype ] In group
[ statements ]
[ Exit For ]
[ statements ]

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
.

Las instrucciones For Each...NextTexto en cursiva repiten un bloque de instrucciones para


cada uno de los objetos de una coleccin o para cada elemento de una matriz. Visual Basic

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

Recorrer un conjunto de celdas


Se puede usar el bucle For Each...Next para recorrer las celdas pertenecientes a un rango
determinado. El siguiente procedimiento recorre las celdas del rango A1:D10 de la Pgina1
y convierte cualquier valor absoluto menor de 0,01 en 0 (cero).
Sub RedondeoACero()
For Each miObjeto in miColeccion
If Abs(miObjeto.Value) < 0.01 Then miObjeto.Value = 0
Next
End Sub

Salir de un bucle For Each...Next antes de que finalice


Se puede salir de un bucle For Each...Next mediante la instruccin Exit For. Por ejemplo,
cuando 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 el error. Si el error no se produce, la instruccin IfThenElse es False y
el bucle se seguir ejecutando normalmente. El siguiente ejemplo detecta la primera celda
del rango A1:B5 que no contiene un nmero. Si se encuentra una celda en esas condiciones,
se presenta un mensaje en pantalla y Exit For abandona el bucle.
Sub BuscaNumeros()
For Each miObjeto In MiColeccion
If IsNumeric(miObjeto.Value) = False Then
MsgBox "El objeto contiene un valor no numrico."
Exit For
End If
Next c
End Sub

Ejemplo de la instruccin For Each...Next

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)

For Each thisControl As System.Windows.Forms.Control In


thisForm.Controls
thisControl.BackColor = System.Drawing.Color.LightBlue
Next thisControl

End Sub En el ejemplo anterior se puede modificar el miembro BackColor de cada


elemento thisControl, aunque no se puede modificar el propio elemento thisControl.
Recorrer matrices. Dado que la clase Array implementa la interfaz IEnumerable, todas las
matrices exponen el mtodo GetEnumerator. Esto significa que es posible recorrer una
matriz con un bucle For Each...Next. Sin embargo, slo podr leer los elementos de la
matriz, no modificarlos.

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

La Instruccion FOR EACH NEXTTexto en cursiva


Repite un grupo de instrucciones para cada elemento de una coleccin.
a)Verdadero
b)Falso
respuesta: a)VerdaderoTexto en negrita

Pregunta 4

Escriba un ejemplo para buscar la palabra "Trabajo" con la instruccion For


Each...Next
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 = "Trabajo" Then
' Si Texto es igual "Trabajo".
Found = True
' Establece como Verdadero.
Exit For
' Sale del bucle.
End If

Next

Pregunta 20
Texto en negrita== Intrucciones WITH==
"Ejecuta una serie de instrucciones que hacen referencia repetidas veces a un nico objeto o
estructura"

Objetos, Propiedades, Mtodos y


Procedimientos de Evento
Habitualmente, cada evento produce un controlador de eventos con un tipo de objeto de
evento diferente para el segundo parmetro. Algunos controladores de eventos, como los de
los eventos MouseDown y MouseUp, tienen el mismo tipo de objeto, MouseEventArgs,
para el segundo parmetro. Para estos tipos de eventos, se puede utilizar el mismo
controlador de eventos para controlar ambos eventos.
Para los eventos que transfieren tipos de objetos de eventos diferentes, deben crearse
controladores de eventos independientes. Por ejemplo, el evento TextChanged de un control
TextBox transfiere el objeto de evento genrico EventArgs, mientras que el evento
MouseDown transfiere el objeto de evento MouseEventArgs, que es ms especializado. El
objeto MouseEventArgs contiene propiedades que son especficas de los eventos del
mouse, como Button, que determina qu botn del mouse se ha presionado; estas
propiedades no se aplican a un control TextBox y podra producirse un error si se intenta
establecer referencias a ellas.
Adems de las diferencias conceptuales en el control de eventos, los nombres y el
comportamiento de algunos eventos para los distintos objetos son diferentes en Visual
Basic 2005

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 Private Sub HelpMenu_Click()


HelpMenu.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.

Los controles en el Cuadro de herramientas de Visual Basic representan las clases.


Cuando se arrastra un control del Cuadro de herramientas a un formulario, se est
creando un objeto; una instancia de una clase.

El formulario con el que se trabaja en tiempo de diseo es una clase. En tiempo de


ejecucin, Visual Basic crea una instancia de la clase del formulario, es decir, un
objeto.

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.

Comprender Objetos, Propiedades, Mtodos y Eventos


Qu papel cumplen las propiedades, mtodos y eventos?
Toda aplicacin necesita una interfaz de usuario, la parte visual a travs de la cual el
usuario interacta con la aplicacin. Los bloques bsicos de construccin de una interfaz de
usuario son los formularios y los controles. Visual Basic utiliza tcnicas de programacin
visual para disear las aplicaciones.
Para disear esta ventana (Formulario), del conjunto de objetos de Visual Basic
seleccionamos un objeto tipo Formulario (Form). Luego a la propiedad Nombre (Name) le
asignamos el valor frmEntrada; a la propiedad Ttulo le asignamos el valor Bienvenidos a
Gestin y Sistemas.
Dentro del formulario se colocan los controles. Para que el usuario pueda ingresar un dato
(por ejemplo, la contrasea) colocamos en la ventana un control tipo Cuadro de Texto
(TextBox); a continuacin establecemos su propiedad Nombre en txtContrasea, y su
propiedad PasswordChar es un * (asterisco) para que el dato ingresado sea reemplazado por
asteriscos slo en la pantalla, para que no se pueda visualizar.
Para obtener el botn Ingresar seleccionamos un control tipo Botn de Comando
(CommandButton), y lo colocamos en la ventana. Luego cambiamos sus propiedades; a la

propiedad Nombre le asignamos cmdIngresar, y a la propiedad Ttulo le asignamos


Ingresar.
Se desea que cuando el usuario haga clic en el botn Limpiar, se borre cualquier dato que el
usuario haya ingresado en los Cuadros de Texto, y que el punto de insercin se ubique en el
cuadro txtUsuario. Para que esto ocurra debemos programar el evento Hacer_Click del
botn de comando cmdLimpiar.
El evento debe ejecutar dos sentenciar para cambiar la propiedad Texto de cada uno de los
cuadros de texto, y luego invocar al mtodo EstablecerEnfoque() del cuadro de texto
txtUsuario.
Otra ventaja de la programacin orientada a objetos es lo que se llama
ENCAPSULACION, esto significa que podemos tener un control 50 veces en un
formulario, y si le cambiamos una propiedad a un control solamente se cambia en l y no en
los 49 controles restantes, es decir, cada control mantiene encapsulado sus propiedades, con
este ejemplo se entender mejor:
Cuando nos referimos a una propiedad de un control tenemos que colocar su nombre y el
nombre de la propiedad, ejemplo:
Nombre_de_Control.Propiedad = Valor
Si continuamos con el ejemplo de una persona sera algo parecido:
Maria.Ojos = Castaos
En un programa de Visual Basic seria de la siguiente manera:
Text1.text = "HOLA"
Donde Text1 es un control TEXTBOX, Text es una propiedad del control TEXTBOX, y
"HOLA" es una cadena String que se le pasa a la propiedad (Text) de Text1 (CONTROL).
Perfecto, entonces un ejemplo de Encapsulacin seria el siguiente supongamos que tenemos
2 TEXTBOX en un formulario Text1 y Text2 si hacemos lo siguiente:
Text1.text = "HOLA MUNDO"
Este texto nada mas es para el Text1, no se modifica la propiedad "Text" del Text2 (ESO ES
ENCAPSULAMIENTO)
Ahora, ya entendido de lo que son las propiedades vamos a ver los mtodos y Funciones,
los mtodos y las funciones son muy similares la diferencia radica en que los mtodos (NO
RETORNAN VALOR), y las funciones (SIEMPRE RETORNAN UN SOLO VALOR).
Ejemplo en cdigo de visual basic es:

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

grandes en procedimientos ms pequeos. Los procedimientos son tiles para realizar


tareas repetitivas o compartidas, como clculos de uso frecuente, manipulacin de texto y
controles, y operaciones con bases de datos. Se puede llamar a un procedimiento desde
distintos lugares del cdigo; de modo que los procedimientos se prestan a servir de
unidades de creacin de la aplicacin. La estructuracin del cdigo en procedimientos
aporta las siguientes ventajas: Los procedimientos permiten desglosar los programas en
unidades lgicas independientes. Es ms fcil depurar unidades individuales que todo un
programa sin procedimientos. Despus de desarrollar los procedimientos para el uso en un
programa, puede utilizarlos en otros programas, a menudo con pocas o ninguna
modificacin. Esto ayuda a evitar la duplicacin del cdigo.
Un procedimiento es una secuencia (con nombre) de instrucciones que se ejecutan como
una unidad. Todo el cdigo ejecutable debe estar contenido en un procedimiento. Los
procedimientos no se pueden anidar dentro de otros procedimientos, se debe especificar en
un bloque de cdigo de manera independiente y cuando se desean realizar las acciones del
procedimiento se llama al procedimiento o funcin. Una vez realizadas las acciones
pertinentes se devuelve el flujo del programa al lugar desde donde se llam ese
procedimiento.
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, la
Instruccin Exit apropiada para el procedimiento o la instruccin End del procedimiento. El
control se devuelve al cdigo de llamada, a continuacin del punto de la llamada al
procedimiento.
* Con una instruccin Return, el control vuelve inmediatamente al
cdigo de llamada. No se ejecutan las instrucciones siguientes a la
instruccin Return. Puede tener ms de una instruccin Return en el mismo
procedimiento.
* 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.
* Si un procedimiento no incluye instrucciones Return o Exit, concluye
con una instruccin End Sub o End Function, End Get o End Set a
continuacin de la ltima instruccin del cuerpo del procedimiento. La
instruccin End devuelve el control inmediatamente al cdigo de llamada.
Puede tener slo una instruccin End en un procedimiento.

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.

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.

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:

Private Sub CommandButton1_Click()


Dim CELULAR As String * 9
Dim NUM(8) As String
Dim I As Integer
CELULAR = TextBox1.Value
NUM(0) = Mid(CELULAR, 1, 1)
NUM(1) = Mid(CELULAR, 2, 1)
NUM(2) = Mid(CELULAR, 3, 1)
NUM(3) = Mid(CELULAR, 4, 1)
NUM(4) = Mid(CELULAR, 5, 1)

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).

Dale un nombre y el archivo se almacenar.


Cuando abrimos un archivo que tiene Macros almacenadas se nos mostrar este anuncio
bajo la banda de opciones:

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:

Selecciona la opcin Habilitar este contenido y pulsa Aceptar.

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

Este componente permite procesar visualmente un conjunto de elementos de tipo string.


Su primer y mas importante aspecto a recordar, cuando se procese o programe, es que el
primer indice de la lista, es el indice numero 0(cero).
Este componente, contiene muchas propiedades y mtodos que facilitan el trabajo con
datos, entre ellas se encuentran: PROPIEDAD ACCIN O SIGNIFICADO

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?

Un procedimiento Sub consiste en una serie de instrucciones de Visual Basic delimitadas


por las instrucciones Sub y End Sub. El procedimiento Sub ejecuta una tarea y devuelve el
control al cdigo de llamada, pero no le devuelve un valor.
Cada vez que se llama a un procedimiento, se ejecutan las instrucciones de ste, desde la
primera instruccin ejecutable tras la instruccin Sub hasta la primera instruccin End Sub,
Exit Sub o Return que se encuentre.
Se puede definir un procedimiento Sub en mdulos, clases y estructuras. Es Public de
forma predeterminada, lo que significa que puede llamarlo desde cualquier lugar de la
aplicacin que tenga acceso al mdulo, clase o estructura en el que se ha definido. El
trmino mtodo describe un procedimiento Sub o Function al que se tiene acceso desde
fuera de su mdulo, clase o estructura en el que se ha definido. Para obtener ms
informacin, vea Mtodos de una clase.
Un procedimiento Sub puede aceptar argumentos, como constantes, variables o
expresiones, que le pasa el cdigo de llamada.

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

Private Function Suma(a1 As Integer, b1 As Integer) As Long


Suma = a1 + b1
End Function

Private Function Resta(a2 As Integer, b2 As Integer) As Long


Resta = a2 - b2
End Function
Private Function Multiplicacin(a3 As Integer, b3 As Integer) As Long
Multiplicacin = a3 * b3
End Function
Private Function Divisin(a4 As Integer, b4 As Integer) As Long
Divisin = a4 / b4
End Function

Private Function Potencia(a5 As Integer, b5 As Integer) As Long


Potencia = a5 ^ b5
End Function

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.

CopiarPublic Sub usequeue()


Dim queueDouble As New System.Collections.Generic.Queue(Of Double)
Dim queueString As New System.Collections.Generic.Queue(Of String)
queueDouble.Enqueue(1.1)
queueDouble.Enqueue(2.2)
queueDouble.Enqueue(3.3)
queueDouble.Enqueue(4.4)
queueString.Enqueue("First string of three")
queueString.Enqueue("Second string of three")
queueString.Enqueue("Third string of three")
Dim s As String = "Queue of Double items (reported length " _
& CStr(queueDouble.Count) & "):"
For i As Integer = 1 To queueDouble.Count
s &= vbCrLf & CStr(queueDouble.Dequeue())
Next i
s &= vbCrLf & "Queue of String items (reported length " _
& CStr(queueString.Count) & "):"
For i As Integer = 1 To queueString.Count
s &= vbCrLf & queueString.Dequeue()
Next i
MsgBox(s)

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.

Colecciones de Objetos en Excel


Para entender lo que es recoleccin de objetos en VBA, slo piensa en una coleccin de
coches. Los objetos de su coleccin de coches en coche puede ser de diferentes tamaos,
colores y marcas, pero son todos los coches. Por lo tanto, coleccin de objetos de VBA
significa que es un grupo o coleccin de los mismos tipos de objetos de la
Por ejemplo, cualquier objeto libro pertenece a un objeto de coleccin
Workbooks. El objeto de la coleccin Cuadernos de trabajo contiene todos
los objetos abiertos libro. La ventana de Excel se muestra en la Figura
3.1 contiene tres objetos abierta libro (Libro1, Book2, y Book3).
Coleccin de objetos le permiten trabajar con objetos como un grupo en
vez de slo trabajar con un nico objeto

El examinador de objetos

Permite examinar todos los objetos que se encuentren disponibles en un determinado


proyecto y ver sus propiedades, mtodos y eventos. Adems, puede con el examinador de
objetos es posible ver los procedimientos y constantes que estn actualmente disponibles en
las bibliotecas de objetos en el proyecto.
Puede mostrar fcilmente Ayuda en pantalla cuando examina. Puede utilizar el Examinador
de objetos para encontrar y utilizar objetos que ha creado y tambin objetos de otras
aplicaciones.

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

El Examinador de objetos da lugar a seleccionar y examinar, 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.
Existen 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.
El examinador de objetos muestra las clases, propiedades, mtodos, eventos y constantes
disponible en las bibliotecas de objeto y los procedimientos del proyecto. Este cuadro de
dilogo sirve para buscar y utilizar objetos creados por el usuario as como objetos de otras
aplicaciones.
COMPONENETES DEL EXAMINADOR DE OBJETOS
Cuadro Proyecto/Biblioteca: Muestra las bibliotecas que tienen establecida una referencia
actualmente correspondientes al proyecto activo. Puede agregar bibliotecas en el cuadro de
dilogo Referencias.
Cuadro Texto de bsqueda: Contiene la cadena que desea utilizar para la bsqueda. Puede
escribirla o elegir la cadena que desee.
Botn Volver: Permite 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.
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.
Botn Copiar al portapapeles: Copia en el portapapeles la seleccin actual de la lista
Miembros de o el texto del panel Detalles.
Botn Ver definicin: Mueve el cursor al lugar de la ventana Cdigo en el que se define la
seleccin de las listas Miembros de o Clases.
Botn Ayuda: Muestra el tema de Ayuda en pantalla correspondiente al elemento
seleccionado en las listas Clases o Miembros de. Equivale a presionar la tecla F1.
Botn Bsqueda: Inicia la bsqueda, en las bibliotecas, de la clase o propiedad, mtodo,
evento o constante que coincida con la cadena introducida en el cuadro Texto de bsqueda
y abre el panel Resultados de la bsqueda.

Botn Mostrar/Ocultar resultados de la bsqueda: Abre u oculta el panel Resultados de


la bsqueda.
Lista Resultados de la bsqueda:
Muestra la biblioteca, la clase y el miembro que corresponde a los elementos que contienen
la cadena de bsqueda.
Lista Clases: Muestra todas las clases disponibles en la biblioteca o proyecto seleccionado
en el cuadro Proyecto/Bibliotecas.
Lista Miembros: Muestra los elementos de la clase seleccionada en el panel Clases
ordenados por grupo y despus por orden alfabtico dentro de cada grupo.
Panel Detalles: Muestra la definicin del miembro, este panel contiene un salto a la clase o
biblioteca a la que pertenece el elemento. Puede copiar o arrastrar texto desde el panel
Detalles a la ventana Cdigo.
Barra de divisin: Divide los paneles para que se pueda ajustar su tamao. Hay divisiones
entre:

El cuadro Clases y el cuadro Miembros de.

La lista Resultados de la bsqueda y los cuadros Clases y Miembros de.

Los cuadros Clases y Miembros de y el panel Detalles.

dezplasarse por el examinador de objetos: Active un mdulo.


En el men Ver, elija Examinador de objetos (F2), o utilice la barra de herramientas
abreviada:
Seleccione el nombre del proyecto o biblioteca que desea ver en la lista
Proyecto/Biblioteca.
Utilice la lista Clases para seleccionar la clase; utilice la lista Miembros para seleccionar los
miembros especficos de la clase o proyecto.
Vea informacin acerca de la clase o miembro que seleccion en la seccin Details en la
parte inferior de la ventana.

Uso de la ventana Locales


VENTANA LOCALES.- Le permite presentar todas las variables, matrices, objetos y
miembros de objeto que sean visibles en un programa, procedimiento o mtodo
determinado.
Esta ventana se activa cuando elige Locales en el men Ventana de la ventana Depurador.
Locales para
Indica el procedimiento cuyas variables, matrices y objetos se
muestran en la ventana Locales.

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.

La primera variable de la lista es una variable de mdulo especial y se puede


ampliar para mostrar todas las variables de nivel de mdulo en el mdulo actual.
Para un mdulo de clase, se define la variable de sistema (Me). Para mdulos
estndar, la primera variable es el (nombre del mdulo actual).

Las variables globales y las variables en otros proyectos no son accesibles desde la
ventana de Locales.

Valor.- Muestra el valor de la variable.

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.

Si el cambio no se puede ejecutarse aparece un cuadro de mensaje describiendo el


error, para cancelar el cambio presione la tecla Esc.

Las variables numricas deben tener un valor en la lista.

Las variables de cadena pueden tener un valor de lista en blanco.

Las variables que contienen sub-variables pueden ampliarse y reducirse.

Tipo.- Muestra el tipo de variable, no se pueden editar datos en esta columna.


Estas ventanas adicionales se proporcionan para la depuracin de la aplicacin. Slo estn
disponibles cuando ejecutas la aplicacin dentro del IDE.

Uso de la ventana Inmediato


No te imprime nada porque has diseado un procedimiento (mtodo) y los mtodos no
devuelven valor alguno.

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

Si en la clase ThisWorkBook escribes el siguiente cdigo:


Cdigo:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As
Range)
On Local Error Resume Next
Sheets(1).Cells(1, 6).Value = Ultima()
End SubTendrs actualizado el nemro de filas de la hoja cada vez que el
usuario aada o elimine datos.

La ventana Inmediato muestra la informacin que resulta de las instrucciones de depuracin


en el cdigo o comandos escritos directamente en la ventana.

Ventana Inmediato: Se abre automticamente si se interrumpe el tiempo de ejecucin y se


abre vaca. Con l puede

Escribir o pegar una lnea de cdigo y presionar ENTRAR para ejecutarlo.

Copiar y pegar el cdigo de la ventana Inmediato en la ventana Cdigo pero no


puede guardar el cdigo en la ventana Inmediato.

Mostrar la ventana Inmediato


En el men Ver, elija ventana Inmediato (CTRL+G). El modo Inmediato de la Ventana de
comandos se utiliza con fines de depuracin como evaluar expresiones, ejecutar
instrucciones, imprimir valores de variables, etc. Permite escribir expresiones que el
lenguaje de programacin evala o ejecuta durante la depuracin. En algunos casos, es
posible cambiar el valor de las variables. El modo Inmediato ahora tambin es compatible
con Intellisense.
Tambin puede generar temporalmente comandos de Visual Studio .NET en el modo
Inmediato. Esto puede ser til si est depurando una aplicacin en el modo Inmediato para
ver o cambiar el valor de las variables pero todava desea interactuar con el IDE mediante
el uso de comandos. Nota Para generar un nico comando de Visual Studio .NET en el
modo Inmediato, el comando debe ir precedido por el signo mayor que (>). Por ejemplo,
para pasar al modo Comando desde el modo Inmediato, el comando debe ir precedido por
el signo mayor que (>). Para escribir varios comandos, cambie al modo Comando.
Para ver los resultados de una expresin en la ventana Inmediato, especifique el mtodo
Print del objeto Debug, seguido de la expresin. Puede usar un signo de interrogacin (?)
como abreviacin del mtodo Print.
Por ejemplo, Microsoft Visual Basic muestra el valor devuelto por la funcin personalizada
PrimerDaDelMesSiguiente si introduce algunas de las dos lneas siguientes en la ventana
Inmediato:
Debug.Print FirstOfNextMonth()
? FirstOfNextMonth()
Permite:
* Escribir o pegar una lnea de cdigo y presionar Entrar para
ejecutarlo.
* Copiar y pegar el cdigo de la ventana Inmediato en la ventana Cdigo
pero no le permite guardar el cdigo en la ventana Inmediato.

Nota: Las instrucciones de la ventana Inmediato se ejecutan en un contexto; es decir, como


si se escribieran en un mdulo especfico.

Controlar una aplicacin de Microsoft Office desde otra


Microsoft Office 2007 (llamado oficialmente Sistema 2007 del Microsoft Office) es la
versin ms reciente para Windows de Sistema del Microsoft Office, Microsoft habitacin
de la productividad. Conocido antes como Oficina 12 en las etapas iniciales de su ciclo
beta, fue lanzado a licencia del volumen clientes encendido 30 de noviembre, 2006[1] y
puesto a disposicin los clientes al por menor encendido 30 de enero, 2007. stas son,
respectivamente, las mismas fechas Windows Vista fue lanzado a licenciar del volumen y a
clientes al por menor. La oficina 2007 contiene un nmero de nuevas caractersticas, la
persona notable de las cuales es ms la enteramente nueva interfaz utilizador grfico llam
Interfaz utilizador fluido[2] (designado inicialmente la cinta UI), substituyendo los mens y
los toolbars que han sido la piedra angular de la oficina puesto que su inicio, por un toolbar
tabulada, conocido como la cinta. La oficina 2007 requiere Windows XP con el paquete 2 o
3 del servicio, Servidor 2003 de Windows con el paquete 1 del servicio o ms alto, o
Windows Vista.[3]
La oficina 2007 tambin incluye nuevos usos y las herramientas del servidor-lado. El jefe
entre stos es Surco, una colaboracin y una habitacin de la comunicacin para empresas
ms pequeas, que fue desarrollada originalmente cerca Redes del surco antes de ser
adquirido por Microsoft en 2005. Tambin se incluye Servidor 2007 de SharePoint de la
oficina, una revisin importante a la plataforma del servidor para los usos de la oficina, que
apoya Servicios del Excel, una arquitectura del servidor de cliente para los libros de
trabajo de soporte del Excel que se comparten en tiempo real entre las mquinas mltiples,
y es tambin viewable y editable con un Web page.
Microsoft Frontpage se ha quitado de la habitacin de la oficina enteramente. Se ha
substituido cerca Diseador de SharePoint del Microsoft Office, de que est dirigido hacia
el desarrollo Portals de SharePoint. Sus contrapartes diseador-orientadas Web de la
expresin de Microsoft se apunta para el desarrollo general de la tela. Sin embargo,
ninguno de los dos usos se incluye en habitaciones unas de los de la oficina. Tambin,
desde entonces reconocimiento de discurso y reconocimiento del cursivo ahora est la parte
de Windows Vista, discurso y los componentes de la tinta se han quitado de la oficina 2007.
[4][5] El reconocimiento del cursivo y de discurso trabaja con la oficina 2007 solamente en
Windows Vista o Edicin de la PC de la tableta de Windows XP.
Cmo: Controlar errores en proyectos de Office
Debido a la forma en que el cdigo administrado interacta con el cdigo no administrado,
Visual Studio no presenta los errores generados por las aplicaciones de Microsoft Office
2003 y Microsoft Office 2007. Para ver estos errores, configure el depurador para que se
interrumpa al producirse excepciones de Common Language Runtime. NoteNota

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.

Ahora todas las excepciones interrumpirn la ejecucin y entrarn en el depurador,


incluidas las que se hayan administrado y algunas excepciones de primera oportunidad del
propio motor en tiempo de ejecucin, que podran no ser significativas para el proyecto en
cuestin. En todos los proyectos aparecen errores relacionados con el hecho de no encontrar
msosec, pero se pueden omitir sin problema. Estas excepciones de msosec no afectarn a la
solucin.
Tambin puede utilizar instrucciones Try...Catch en torno a sus mtodos para detectar
excepciones. Para obtener ms informacin, vea Cmo: Comprobar cdigo con un bloque
Try...Catch en Visual Basic y Cmo: Controlar una excepcin mediante Try y Catch (Gua
de programacin de C#).
De forma predeterminada, Visual Studio tampoco muestra errores de depuracin Just-InTime de los proyectos de Office; sin embargo, es posible habilitar esta caracterstica para
poder ver los errores que se producen. Para obtener ms informacin, vea Depuracin JustIn-Time.
Desarrollo

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

licenciaban del volumen el 30 de noviembre de 2006, y al pblico en general encendido 30


de enero, 2007. Ediciones 2007 del sistema del Microsoft Office Edicin Disponibilidad de
la licencia Modelo de la licencia [8] Microsoft Office ltimo 2007 Venta al por menor/
Edicin limitada licencia del estudiante [9] Un dispositivo principal y un dispositivo
portable adicional Empresa 2007 del Microsoft Office Licencia del volumen solamente
Dependiente sobre programa que licencia del volumen Profesional del Microsoft Office
ms 2007 Licencia del volumen solamente Dependiente sobre programa que licencia del
volumen Profesional 2007 del Microsoft Office Venta al por menor/ OEM Edicin al por
menor, un dispositivo principal y un dispositivo portable adicional; Edicin del OEM, un
dispositivo solamente Pequea empresa 2007 del Microsoft Office Venta al por menor/
OEM /Licencia del volumen Edicin al por menor, un dispositivo principal y un dispositivo
portable adicional; Edicin del OEM, un dispositivo solamente; licencia del volumen,
dependiente sobre programa que licencia del volumen Estndar 2007 del Microsoft Office
Venta al por menor/ OEM /Licencia del volumen Edicin al por menor, un dispositivo
principal y un dispositivo portable adicional; Edicin del OEM, un dispositivo solamente;
licencia del volumen, dependiente sobre programa que licencia del volumen Hogar y
estudiante 2007 del Microsoft Office Venta al por menor/ OEM Edicin al por menor, tres
dispositivos en una casa; Edicin del OEM, un dispositivo solamente; para el uso no
comercial solamente Microsoft Office 2007 bsico OEM solamente Un dispositivo
Los empleados elegibles de compaas con los acuerdos de licencia del volumen para la
oficina pueden obtener las copias para el uso en un ordenador personal.[10] Componentes
de cada edicin Componente Bsico Hogar y estudiante Estndar Pequea empresa
Profesional ltimo Profesional ms Empresa Ninguna caja tir a disponible Ninguna caja
tir a disponible Ninguna caja tir a disponible Procesador de textos Palabra Palabra
Palabra Palabra Palabra Palabra Palabra Palabra Hoja de balance Excel Excel Excel Excel
Excel Excel Excel Excel Presentaciones PowerPoint PowerPoint PowerPoint PowerPoint
PowerPoint PowerPoint PowerPoint Calendario y E-mail Perspectiva Perspectiva
Perspectiva Perspectiva Perspectiva Perspectiva Perspectiva Contabilidad Contabilidad
expresa Contabilidad expresa Contabilidad expresa El publicar de escritorio Editor Editor
Editor Editor Editor Base de datos Acceso Acceso Acceso Acceso Forme la creacin
InfoPath InfoPath InfoPath Colaboracin Surco Surco el Nota-tomar OneNote OneNote
OneNote IM/VOIP/Videoconferencing Comunicador Comunicador
Notas:
1. Las herramientas adicionales incluyen gerencia contenta de la
empresa, formas electrnicas, y La informacin endereza a gerencia
capacidades
2. Segn lo observado en el empaquetado, debajo de la rejilla de la
comparacin en la parte posteriora, no licencian al OEM y la edicin al
por menor 2007 del hogar y del estudiante para uso comercial, no
lucrativo, o el ningn de rdito-generacin. Esto se exhibe en los
programas reales ellos mismos con una lnea del texto despus del nombre
del programa.

Bandera no comercial en el Microsoft Word 2007

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.

Vive la inspeccin previo


El Microsoft Office 2007 tambin introduce una caracterstica llamada vive la inspeccin
previo, que aplica temporalmente el formato en el texto o el objeto enfocado cuando
cualquier botn del formato est moused-sobre. Se quita el formato temporal cuando el
indicador de ratn se mueve desde el botn. Esto permite que los usuarios tengan una
inspeccin previo de cmo la opcin afectara el aspecto del objeto, sin realmente la
aplicacin de l.
Mini Toolbar
El mini Toolbar nuevo es un tipo de men del contexto que se demuestre
automticamente (por defecto) cuando se selecciona el texto. El propsito de esta
caracterstica es proporcionar de fcil acceso a los comandos que ajustan a formato msusados sin requerir un tecleo del derecho-ratn-botn, como era necesario en ms viejas
versiones del software. Porque el mini Toolbar se exhibe automticamente, sigue siendo
semi-transparente hasta que el indicador de ratn se sita en el control para permitir una
vista casi-sin obstculo de cul est debajo de l. Tambin aparece sobre el men del
derecho-tecleo cuando los derecho-tecleos de un usuario en una seleccin de palabras. El
mini Toolbar no es actualmente customizable.
Acceso rpido Toolbar
Acceso rpido toolbar, que se sienta en la barra del ttulo, sirve como depsito de la
mayora de las funciones usadas, sin importar por ejemplo la cual el uso se est utilizando,
excepto, deshacen/hacen de nuevo e imprimen. Acceso rpido toolbar es customizable,
aunque esta caracterstica es limitada comparada a los toolbars en versiones anteriores de la
oficina. Cualquier comando disponible en el uso entero de la oficina se puede agregar a
Acceso rpido toolbar, incluyendo los comandos no disponibles en la cinta y macros. Los
atajos del teclado para los comandos uces de los en el toolbar son tambin completamente
customizable, similar a las versiones anteriores de la oficina.
Otras caractersticas de UI
* Estupendo-tooltips, eso puede contener el texto ajustado a formato e
incluso las imgenes, se utilizan para proporcionar descripciones
detalladas de lo que lo hacen la mayora de los botones.
* Un resbalador del zumbido presente en la esquina fondo-derecha,
permitiendo para la ampliacin dinmica y rpida de documentos.

SmartArt
Artculo principal: SmartArt

SmartArt, encontrado bajo lengeta en la cinta en PowerPoint, palabra, Excel, y perspectiva


del relleno, es un nuevo grupo fcilmente de diagramas editable y ajustados a formato. Hay
115 plantillas preestablecidas de la disposicin de los grficos de SmartArt en categoras
tales como lista, proceso, ciclo, y jerarqua. Cuando un caso de un SmartArt se inserta, a

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

convertidor de diapositivo suplementario para la palabra, Excel y PowerPoint, y tambin a


comando-lnea utilidad.[21] En fecha 2008, la conversin de las ayudas del proyecto entre
ODF y la oficina XML abierto archivan los formatos para los tres usos.[22]
Sistema de la ayuda del usuario
En el Microsoft Office 2007, Ayudantes de la oficina se han quitado totalmente debido a el
sistema de ayuda mucho-mejorado. Una caracterstica del nuevo sistema de ayuda es el uso
extenso de Tooltips estupendo que explique en cerca de un prrafo lo que se realiza cada
funcin. Algunos de ellos tambin utilizan diagramas o cuadros. stos aparecen y
desaparecen como tooltips normales, y substituyen tooltips normales en muchas reas. El
contenido de la ayuda tambin integra directamente buscar y ver Oficina en lnea artculos.
Caractersticas de la colaboracin
SharePoint
El Microsoft Office 2007 incluye las caractersticas engranadas hacia compartir de la
colaboracin y de los datos. Como tal, el Microsoft Office 2007 ofrece los componentes del
servidor para los usos tales como Excel, conjuntamente con los cuales trabaje Servicios de
SharePoint, para proporcionar una plataforma de la colaboracin. SharePoint trabaja con el
servidor 2007 de SharePoint del Microsoft Office, que se utiliza para recibir un sitio de
SharePoint, y utiliza IIS y ASP.NET 2.0. El servidor del Excel expone servicios del Excel,
que permite que corrigea y mantienea cualquier hoja de trabajo sea creada, va los browsers
de la tela. Ofrece Acceso del Web del Excel, el componente del cliente-lado que se utiliza
para rendir la hoja de trabajo en un browser, Servicio del clculo del Excel cul es el
componente del lado del servidor que puebla la hoja de trabajo con datos y realice los
clculos, y Servicio del Web del Excel eso expone funcionalidades del Excel como
servicios individuales de la tela. SharePoint se puede tambin utilizar para recibir los
documentos de la palabra para corregir de colaboracin, compartiendo un documento.
SharePoint se puede tambin utilizar para llevar a cabo diapositivas del PowerPoint en a
Resbale la biblioteca, de que las diapositivas se pueden utilizar como plantilla del formato.
Tambin notificar a usuarios de una diapositiva automticamente en caso de que se
modifique la diapositiva de la fuente. Tambin usando SharePoint, el PowerPoint puede
manejar la revisin compartida de presentaciones. Cualquier documento recibido
SharePoint se puede alcanzar del uso que cre el documento o de otros usos tales como un
browser o una perspectiva del Microsoft Office.
Surco
El Microsoft Office 2007 tambin incluye Surco, que trae caractersticas de colaboracin a
un paradigma del par-a-par. Surco puede recibir los documentos, incluyendo las
presentaciones, libros de trabajo y otros, creadas en el uso 2007 del Microsoft Office en un
espacio de trabajo compartido, que se puede entonces utilizar en corregir de colaboracin
de documentos. Surco la poder tambin se utilice en sesiones de manejo del espacio de
trabajo, incluyendo el control de acceso del espacio de trabajo. Para colaborar en unos o
ms documentos, a Espacio de trabajo tiene que ser creado, y entonces los que deben

trabajar en l tienen que ser invitados. Cualquier archivo compartido en el espacio de


trabajo se comparte automticamente entre todos los participantes. El uso tambin
proporciona mensajera en tiempo real, incluyendo uno por as como mensajera del grupo,
y caractersticas de la presencia, as como la supervisin de actividades del espacio de
trabajo de las alarmas, se levantan que cuando el sistema predefinido de actividades se
detecta. El surco tambin proporciona las caractersticas para la resolucin del conflicto
para estar en conflicto corrige. Los horario para una colaboracin pueden tambin ser
decididos usando un calendario compartido incorporado, que se puede tambin utilizar para
no perder de vista el progreso de un proyecto. Sin embargo, el calendario no es compatible
con Microsoft Outlook.
Temas y estilos rpidos
El Microsoft Office 2007 pone ms nfasis en temas del documento y estilos rpidos. El
tema del documento define los colores, las fuentes y los efectos del grfico para un
documento. Casi todo que se puede insertar en un documento se labra automticamente
para emparejar el tema total del documento que crea un diseo de documento constante. El
nuevo formato del archivo del tema de la oficina (.THMX) se comparte entre los mensajes
del email de la palabra, del Excel, del PowerPoint y de la perspectiva. Los temas similares
estn tambin disponibles para los informes de los datos en el acceso y proyecto o las
formas en Visio.
Los estilos rpidos son galeras con una gama de los estilos basados en el tema actual. Hay
galeras rpidas de los estilos para el texto, las tablas, las cartas, SmartArt, WordArt y ms.
La gama del estilo va de simple/de luz a ms grfico/ms oscuro.
Cambios Application-specific
Palabra del Microsoft Office
Artculo principal: Microsoft Word
* Hojas nuevas del estilo (estilos rpidos) y capacidad de cambiar
fcilmente entre ellos.
* Redacte la cuenta enumerada por el defecto en la barra de estado. De
la palabra de la cuenta las actualizaciones dinmicamente como usted
mecanografa.
* Nuevo comprobador de ortografa del contexto, significado por una
raya azul ondulada anloga a la raya roja ondulada tradicional para los
faltas de ortografa y a la raya verde ondulada para los errores de la
gramtica, coge a veces uso incorrecto de palabras correctamente
deletreadas, por ejemplo en m piensan que flojo esta batalla ".
* Extremidad de herramienta de traduccin opcin disponible para el
ingls (los E.E.U.U.), el francs (Francia), y el espaol (clase
internacional). Cuando est seleccionado, el asomar el cursor del ratn
sobre una palabra exhibir su traduccin en la lengua particular. Las
versiones No-Inglesas tienen diversos sistemas de idiomas. Otras idiomas
pueden ser agregadas usando un paquete multilinge separado.
* La generacin automatizada de citaciones y de bibliografas segn
estilo definido gobierna, incluyendo APA, Chicago, y MLA. El estilo que
cambia pone al da todas las referencias automticamente. Conecte con los

servicios de la tela con las bases de datos en lnea de la referencia del


acceso.
* Natural de Rearchitected ecuacin matemtica ayuda con TeX- como
entrada linear/corrija la lengua o el interfaz del GUI. Tambin apoya la
codificacin llana del texto de Unicode de las matemticas.[23]
* Preestablezca la galera de las pginas de cubierta con los campos
para el autor, el ttulo, la fecha, el extracto, el etc. Las pginas de
cubierta siguen el tema del documento (encontrado bajo lengeta de la
disposicin de pgina).
* Motor de la comparacin del documento puesto al da para apoyar los
movimientos, diferencias en tablas, y tambin fcil seguir la opinin del
tri-cristal del documento original, del nuevo documento, y de
diferencias.
* Disposicin de la lectura de la pantalla completa que demuestra dos
pginas a la vez con uso mximo de la pantalla, ms algunas herramientas
crticas para repasar.
* Inspector del documento cul pela documentos de la palabra de la
informacin tal como nombre del autor y los comentarios y otros meta
datos.
* Bloques de edificio, que deja uno excepto contenido con frecuencia
usado, de modo que l sea fcilmente accesible para el uso adicional. Los
bloques de edificio pueden tener controles traz los datos en ellos a
tener en cuenta el edificio de la forma o ser autor estructurado del
documento.
* Se ha quitado la capacidad de ahorrar versiones mltiples de un
documento (que haba existido desde la palabra 97).[24]
* Entradas de Blog[25] puede ser sido autor en la palabra s mismo y
uploaded directamente a un blog. Los sitios blogging apoyados incluyen
Espacios vivos de Windows, WordPress, SharePoint, Blogger, Servidor de la
comunidad etc.

Perspectiva del Microsoft Office


Artculo principal: Microsoft Outlook
* Como cambio importante en la perspectiva 2007, se ha cado la ayuda
del intercambio 5.5. Como Evolucin, Outlook Express y Entourage, La
perspectiva ahora trabaja solamente con el intercambio 2000 y arriba.
* De la perspectiva ndices ahora[26] (el usar Bsqueda de Windows
APIs) los E-maices, contactos, tareas, entradas del calendario, RSS
alimentaciones y otros artculos, acelerar bsquedas. Como tal, ofrece la
bsqueda palabra-rodada, que exhibe resultados mientras que los
caracteres se estn mecanografiando el pulg.
* Busque las carpetas, que son bsquedas ahorradas, se han puesto al
da para incluir las alimentaciones de RSS tambin. Las carpetas de la
bsqueda se pueden crear con los criterios especficos de una bsqueda,
especificando el tema, el tipo y otras cualidades de la informacin que
es buscada. Cuando se abre una carpeta de la bsqueda, todos los
artculos que emparejan para la bsqueda se recuperan y se agrupan
automticamente para arriba.
* La perspectiva ahora apoya texto-mensajes y SMSs, cuando est
utilizada conjuntamente con el servidor 2007 del intercambio unific
mensajera.
* La perspectiva incluye a lector para las alimentaciones de RSS, que
utilizaron el almacn comn de las alimentaciones de Windows. La
suscripcin URLs de RSS se puede compartir va E-maices. Las

actualizaciones de la alimentacin de RSS se pueden tambin empujar a un


dispositivo mvil.
* La perspectiva puede ahora apoyar los calendarios mltiples que son
trabajados con, simultneamente. Tambin incluye de lado a lado una
visin para los calendarios, donde cada calendario se exhibe en una
diversa lengeta, y permite la comparacin fcil de ellos. La perspectiva
tambin apoya calendarios de la tela. Los calendarios se pueden compartir
con otros usuarios.
* Demostraciones de la opinin de calendario que las tareas son
debidas.
* Los E-maices y las notas sealados por medio de una bandera se
pueden tambin convertir a Tarea artculos.
* La perspectiva incluye a Para hacer la barra, que integra el
calendario, las citas y los artculos de las tareas, en una visin
sucinta.
* En lnea o fuera de lnea el corregir de todo el Microsoft Office
2007 documentos va un sitio de SharePoint. Todo corrige se sincroniza
automticamente.
* Los contactos se pueden compartir entre usuarios, va E-mail, el
servidor del intercambio o un sitio de SharePoint.
* La inspeccin previo del accesorio permite que los usuarios vean los
accesorios del E-mail de la oficina en el cristal de la lectura ms bien
que teniendo que abrir otro programa.
* El HTML en E-maices ahora se rinde usando el Microsoft Word que
rinde el motor que rechaza varias etiquetas del HTML tienen gusto objeto,
escritura, iframe etc junto con varias caractersticas del CSS.

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

arriba solamente cuando se resuelven ciertos criterios, por ejemplo una


cruz que demuestra para arriba en un valor invlido, donde la condicin
para la invalidez se puede especificar por el usuario.
o Barras de los datos demuestre como barra del gradiente en el
fondo de una clula la contribucin del valor de la clula en el grupo.
* Los ttulos de la columna pueden demostrar opcionalmente opciones
para controlar la disposicin de la columna.
* Clculo de Multithreaded de frmulas, acelerar clculos grandes,
especialmente sobre sistemas multi-core/del multiprocesador.
* Funciones definidas por el usario (UDF), que son de encargo las
funciones escritas al suplemento sobresalieron el sistema de funciones
incorporadas, apoyan el nmero creciente de clulas y de columnas. UDFs
ahora puede tambin estar multithreaded. El servidor UDFs lateral se basa
en .NET manejado cdigo.
* Se ha aumentado la importacin de datos de fuentes externas, tales
como una base de datos. Los datos se pueden tambin importar de las
tablas ajustadas a formato y de los informes, que no tienen una
estructura regular de la rejilla.
* Frmula Autocomplete, sugiere automticamente nombres de la funcin,
discusiones y gamas nombradas, y automticamente terminarlas si est
deseado, basado en los caracteres incorporados. Los frmulas pueden
referir a una tabla tambin.
* Funciones del CUBO cules permiten el importar de datos, incluyendo
datos agregados sistema, de servicios del anlisis de datos, tales como
servicios del anlisis del servidor del SQL.
* Disposicin de pgina visin, ser autor de las hojas de balance de
una manera que refleja el formato que ser aplicado cuando est impreso.
* PivotTables, que se utilizan para crear informes del anlisis fuera
de sistemas de datos, puede ahora apoyar datos jerrquicos exhibiendo una
fila en la tabla con + el icono, que, cuando est chascado, demuestra
ms filas con respecto le, que puede tambin ser jerrquico. PivotTables
se puede tambin clasificar y filtrar independientemente, y formato
condicional usado para destacar tendencias en los datos.
* Filtros, ahora incluye una opcin rpida del filtro permitiendo la
seleccin de artculos mltiples de una lista de la gota abajo de
artculos en la columna. La opcin al filtro basado en color se ha
agregado a las opciones disponibles.
* El Excel ofrece un motor que planea nuevo, que apoya el formato
avanzado, incluyendo 3D que rinde, las transparencias y las sombras. Las
disposiciones de la carta se pueden tambin modificar para requisitos
particulares para destacar varias tendencias en los datos.

PowerPoint del Microsoft Office


Artculo principal: PowerPoint de Microsoft
* Las mejoras al texto que renda para apoyar el texto basaron
grficos.
* Representacin de los grficos 3D.
* Ayuda para muchos ms formatos del archivo de los sonidos tales como
.mp3 y .wma.
* Ayuda para las tablas y ayuda realzada para la tabla que pega de
Excel.[28]
* Resbale la biblioteca, que le deja reutilizar cualquier diapositiva
o la presentacin como plantilla. Cualquier presentacin o diapositiva se
puede publicar a Resbale la biblioteca.

* Cualquier biblioteca custom-designed de la diapositiva puede ser


ahorrada.
* Las presentaciones pueden digital ser firmadas.
* Opinin mejorada del presentador.[29]
* La ayuda agregada para widescreen diapositivas.[30]
* Permite la adicin de placeholders de encargo.

Microsoft Office OneNote


Artculo principal: Microsoft OneNote
* OneNote ahora apoya los cuadernos mltiples.
* Los cuadernos se pueden compartir a travs de las computadoras
mltiples. Cualquier persona puede corregir incluso mientras que no estn
conectados y los cambios se combinan automticamente a travs de las
mquinas cuando se hace una conexin. Los cambios se etiquetan con el
autor y cambian hora/la fecha.
* Plantillas del cuaderno.
* la bsqueda Palabra-rodada est tambin presente en OneNote, que
tambin pone en un ndice notas.
* Sincronizacin de Tareas con la perspectiva 2007. Tambin la
perspectiva puede enviar correos a OneNote, o abrir las pginas en
OneNote que se ligan a las tareas, contactos, citas/reuniones.
* Ayuda para las tablas. Usar lengetas para crear la estructura
tabular la convierte automticamente a una tabla.
* El OCR se realiza en imgenes (la pantalla acorta, fotos,
exploraciones) de modo que cualquier texto en ellas sea investigable.
* Las grabaciones audio y video tambin se marcan con etiqueta y se
ponen en un ndice, para poderlas buscar.
* Las notas pueden tener hyperlinks entre s mismos, o de OneNote
exterior a un punto especfico en una pgina.
* Encajar documentos en notas.
* Ayuda de la extensibilidad para el agregar-ins.
* Herramientas de dibujo para crear diagramas en OneNote.
* Mecanografiando cualquier expresin aritmtica, seguida por =
resultados en el resultado del clculo que es exhibido.
* Enve a Microsoft OneNote, va que cualquier uso puede imprimir a
una impresora virtual para OneNote y el documento impreso se importa al
cuaderno, y cualquier texto se pone en un ndice para buscar.
* Mvil de OneNote es incluido para Smartphones y algunos dispositivos
de PocketPC. Syncs observa de dos vas con OneNote. Toma el texto, la
voz, y notas de la foto.

Acceso del Microsoft Office


Artculo principal: Microsoft Access
* El acceso ahora incluye la ayuda para una gama ms amplia de los
tipos de datos, incluyendo documentos e imgenes.
* Siempre que cualquier tabla sea actualizada, todos los informes que
se refieren a la tabla tambin se ponen al da.
* Las listas Dropdown para una tabla se pueden modificar en lugar.
* Campos de las operaciones de bsqueda, que consiguen sus valores
mirando encima de un cierto valor en una tabla, se han puesto al da
para apoyar operaciones de bsqueda multi valoradas.
* Muchos nuevos preestablecieron esquemas son incluidos.

* El acceso puede sincronizar con los servicios 3.0 de Windows


SharePoint y el servidor 2007 de SharePoint de la oficina. Esta
caracterstica permite a un usuario utilizar informes del acceso mientras
que usaba servidor-haber basado, sostenido, manej la versin de los
datos.

Editor del Microsoft Office


Artculo principal: Editor de Microsoft
* Las plantillas completan automticamente de la informacin tal como
nombre de compaa, insignia etc, dondequiera que sean aplicables.
* El contenido con frecuencia usado se puede almacenar adentro Almacn
contento para el acceso rpido.
* Un documento se puede convertir automticamente a partir de un tipo
de la publicacin, tal como un boletn de noticias, a otro tipo de la
publicacin, opinin un Web page.
* Excepto como pdf apoya el pdf comercial de la calidad de impresin.
* Fusin del catlogo pueden crear el contenido de la publicacin
automticamente recuperando datos, incluyendo el texto, imgenes y otra
los tipos apoyados, de una fuente de datos externa.
* Inspector del diseo, que se utiliza para encontrar inconsistencias
del diseo, se ha puesto al da.

Microsoft Office InfoPath


Artculo principal: Microsoft InfoPath
* Las formas diseadas InfoPath se pueden ahora utilizar de un
browser, con tal que el servidor est funcionando servicios de las formas
de InfoPath en SharePoint 2007 o La oficina forma el servidor.
* Una forma se puede enviar para poblar va E-mail. Tales formas se
pueden completar de la perspectiva 2007 s mismo.
* Conversin automtica de formas en palabra y del Excel a las formas
de InfoPath. Las formas se pueden tambin exportar al Excel.
* Las formas se pueden publicar a una parte de la red o al servidor de
SharePoint.
* Agregando la validacin de datos, usando frmulas de la validacin,
y caractersticas condicionales del formato sin manualmente escribir
cdigo.
* Imprima la opinin de la disposicin para disear las formas en una
visin que reflejan la disposicin impresa. Tales formas se pueden abrir
usando palabra tambin.
* Capacidad de utilizar el servidor de Microsoft SQL, el acceso del
Microsoft Office, u otras bases de datos como depsito de datos back-end.
* Visines mltiples para las mismas formas, exponer diversas
caractersticas a diversa clase de usuarios.
* Piezas de la plantilla, utilizado agrupar los controles de InfoPath
de la oficina para el uso ms adelante. Las piezas de la plantilla
conservan su esquema de XML.

Microsoft Office Visio


Artculo principal: Microsoft Visio
* PivotDiagrams, que se utilizan para visualizar datos, grupos de los
datos de la demostracin y relaciones hierarchichal.

* Modificacin visual de PivotDiagrams arrastrando datos alrededor de


niveles, para reestructurar las relaciones de los datos.
* PivotDiagrams puede demostrar los resmenes estadsticos agregados
para los datos y demostrarlos.
* Las formas se pueden ligar a fuentes de datos externas. Haciendo as
pues, las formas se ajustan a formato segn los datos. Los datos, y por
lo tanto las formas, se ponen al da peridicamente. Tales formas pueden
tambin ser manualmente el usar ajustado a formato Grficos de los datos
caracterstica.
* AutoConnect: Acoplamiento fcilmente dos formas.[31]
* Trasmisin de datos: Datos del acoplamiento a las formas.[32]
* Grficos de los datos: Los objetos dinmicos (texto y las imgenes)
se ligaron a datos externos.[33]
* Nuevo comportamiento del tema y nuevas formas.[34]

Proyecto del Microsoft Office


Artculo principal: Proyecto de Microsoft
* Capacidad de crear plantillas de encargo.
* Cualquier cambio en el plan o el horario del proyecto destaca todo
se afecte que.
* Analice los cambios sin realmente confiarlos. Los cambios se pueden
tambin hacer y deshacer programmatically, para automatizar el anlisis
de diversos cambios.
* Gerencia y anlisis mejorados de recurso del coste para los
proyectos.
* Los datos del proyecto se pueden utilizar para crear automticamente
cartas y diagramas en el Excel y el Microsoft Office Visio del Microsoft
Office, respectivamente.
* El horario del proyecto se puede manejar como carta de 3D Gantt.
* Compartir datos del proyecto con la ayuda de los servicios de
SharePoint.

Diseador de SharePoint del Microsoft Office


Artculo principal: Diseador de Microsoft SharePoint

El diseador 2007 de SharePoint del Microsoft Office es nueva adicin a substituir de la


habitacin de la oficina continuado Frontpage para los usuarios de SharePoint. Pueble
quines no utilizan SharePoint pueden utilizar el Web de la expresin de Microsoft.
* Apoya las caractersticas y las construcciones que exponen la
funcionalidad de SharePoint.
* Ayudas ASP.NET 2.0 y Fundacin del Workflow de Windows.
* Ayuda para crear workflows e informes de los datos, de fuentes de
datos externas.
* Permite que los datos de XML sean el usar exhibido XSLT

Componentes del servidor


Servidor 2007 de SharePoint
Artculo principal: Servidor de SharePoint del Microsoft Office

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.

Servidor 2007 del proyecto


Artculo principal: Servidor del proyecto del Microsoft Office

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

El servidor de Microsoft PerformancePoint permite que los usuarios supervisen, que


analicen, y que planeen su negocio as como la alineacin de la impulsin, la
responsabilidad, y la penetracin actionable a travs de la organizacin entera. Incluye las
caractersticas para los scorecards, tableros de instrumentos, divulgacin, analytics,
presupuestando y pronosticando, entre otros.
Crtica
Aun cuando la cinta puede ser ocultada, Mundo de la PC escribi ese a nuevas
muchedumbres del interfaz de la cinta el rea de trabajo de la oficina, especialmente para
los usuarios del cuaderno.[35] Otros han llamado sus iconos grandes que distraan.[36]
Mundo de la PC ha indicado que aumentando a los presentes de la oficina 2007 peligros a
ciertos datos, tales como plantillas, a las macros, y a los mensajes del correo.[37]
Algunos usuarios se han quejado por la prdida de toolbars flotantes con los iconos y los
botones customizable del texto.
El nuevo formato XML-basado del archivo de .docx para la palabra es incompatible con
versiones anteriores a menos que un plugin est instalada en la ms vieja versin.

El redactor 2007 de la ecuacin de la palabra es incompatible con el de la palabra 2003 y de


versiones anteriores, y cuando convertir DOCX archiva al doc. archiva, las ecuaciones se
rinde como grficos. Por lo tanto la palabra 2007 no se puede utilizar para publicar,
archivo-compartir y el esfuerzo de colaboracin en ninguna campos matemtica-basada,
incluyendo la ciencia y la tecnologa, en las cuales los usuarios pueden tener versiones
anteriores de la palabra. Muchos editores que representan todos los niveles no aceptan
sumisiones en la palabra 2007. Los editores acadmicos por ejemplo han informado a
Microsoft que esto seriamente deteriora la utilidad de la palabra 2007's para publicar de
estudiante.

Objeto Application y Windows


QUE SON LAS APLICACIONES:
En esta seccion crearemos una aplicacin en Visual Basic
Para crear una aplicacin en VB se deben realizar tres pasos principales:
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".
Antes de empezar a constuir tu programa, es necesario que primero lo tengas planeado.
Debers entender las caracteristicas de los objetos contenidos en las diferentes pantallas,
todo esto para que la interface sea amigable y funcional. VB te da una descripcin de cada
uno de los controles de la caja de herramientas (toolbox), para ver esto, selecciona el men
Help, enseguida ejecuta el comando search..., en el campo de la nueva ventana escribe
toolbox y da enter, en la ventana de abajo da doble click sobre toolbox.
QUE SON LAS PROPIEDADES: Nota Todas las propiedades son de slo lectura excepto
"Visible".
- Application: Devuelve un puntero a este objeto, que es el objeto raz en la jerarqua de
objetos.
- Parent: Devuelve un puntero a este objeto.

- FullName: Devuelve el nombre de la aplicacin, incluyendo la ruta.


- Name( ): Devuelve el nombre de la aplicacin - "FileMaker Pro".
- Caption: Devuelve el ttulo de la ventana para la ventana marco. Siempre se configura el
ttulo de FileMaker Pro para describir el documento actualmente activo y los clientes no lo
pueden configurar de otra forma.
- DefaultFilePath: Devuelve la especificacin de la ruta predeterminada empleada para
abrir archivos.
- Documents: Devuelve un puntero al objeto del conjunto Documents para que se puedan
abrir, acceder y ejecutarse los objetos Document individuales mediante guiones.
- Version: Devuelve la versin de FileMaker Pro.
- Visible: Devuelve TRUE si la aplicacin es visible. Asigne el valor TRUE para mostrar la
aplicacin, y FALSE para ocultarla.
- ScriptStatus( ): Devuelve 2 si se est ejecutando un guin, 1 si el guin est en pausa, o 0
si no se est ejecutando ningn guin.
QUE SON LOS METODOS:
Quit( ): Cierra la aplicacin. Tenga en cuenta que si los clientes siguen vinculados, la
aplicacin se oculta hasta que todos los clientes liberan el servidor de automatizacin de
FileMaker Pro. Para evitar un comportamiento inesperado, incluya siempre una clusula
Quit con una clusula de liberacin del objeto. Por ejemplo:
FMproApp.Quit
Set FMProApp = Nothing
QUE SON LOS DOCUMENTOS: Es el conjunto de todos los documentos abiertos, o
archivos de FileMaker Pro.
QUE SON LAS PROPIEDADES:
Nota Todas las propiedades son de slo lectura.
- Application: Devuelve un puntero al objeto Application.
- Parent: Devuelve un puntero al objeto Application.
- Recuento: Devuelve el nmero de documentos (entero largo) en el conjunto Document.

_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

Una cadena que representa el nombre de archivo del documento


de ruta completo).
Un ndice (entero largo) en el conjunto Documents.
NULL (que devuelve todo el conjunto).

QUE SON LOS METODOS:


Open(filename As String, accountName As String, password As String): Abre un archivo de
FileMaker Pro, crea un objeto Document y devuelve un puntero al objeto Document. Close(
): Cierra todos los documentos del conjunto y los elimina de este conjunto. La clusula
Document Close produce un cierre duro del documento. Si otros usuarios estn conectados
a la base de datos de FileMaker Pro cuando la aplicacin recibe una clusula Document
Close, se desconectarn inmediatamente y sin advertencia de ningn tipo. Asegrese de que
los usuarios conectados tengan la oportunidad de salir de FileMaker Pro antes de enviar
este comando.
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.
Ejemplos:

Aplicar la propiedad Windows al objeto Application.

Application.Windows("book1.xls").Activate

Crear un objeto libro de Microsoft Excel en otra aplicacin y, luego, se abrir un


libro en Microsoft Excel.

Set xl = CreateObject("Excel.Sheet") xl.Application.Workbooks.Open "newbook.xls"

Se pueden emplearse sin el calificador de objeto Application

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:

Organizar en cascada todas las ventanas que se muestran actualmente en Microsoft


Excel.

Windows.Arrange arrangeStyle: = xlCascada

Crear una ventana nueva y agregarla a la coleccin.

ActiveWorkbook.NewWindow

Maximizar la ventana activa usando Windows(ndice). Tener en cuenta que la


ventana activa siempre es Windows(1).

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.

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.
EJEMPLO Por ejemplo, puede utilizar el cdigo siguiente para hacer referencia a la
coleccin de libros cargados actualmente en Microsoft Excel:
[Object].Application.Workbooks

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)

para cerrar el primer libro:


[Object].Application.Workbooks.Item(1).Close

Acceso a objetos referencia normales o las propiedades predeterminadas Cada libro


contiene una coleccin de hojas de clculo, cada hoja de clculo contiene una coleccin de
celdas y as sucesivamente. (Consulte la documentacin de Microsoft Excel y Ayuda de
men para obtener detalles especficos acerca de la jerarqua de objetos de Microsoft
Excel). En el cdigo, las referencias a una celda especfica podran este aspecto:
' Following refers to cell A1 on Sheet1 in the first workbook.
' Enter the following two lines as one, single line:
[Object].Application.Workbooks.Item(1).
WorkSheets.Item("Sheet1").Cells.Item(1,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.

EJEMPLO De esta manera podemos declarar objeto Workbook:


Declaracin
Public Class Workbook Inherits BindableComponent Implements IActivatable,
ISupportInitializeControl, ISupportInitialize
'Uso
Dim instance As Workbook
Ejemplo:

Activar el libro uno; Workbooks (ndice)

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

Activar el ltimo libro que se cre; Workbooks (Workbooks.Count)

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

Devolver el libro activo (ActiveWorkbook), en el que se establece el nombre del


autor del libro activo.

ActiveWorkbook.Author = "SAMANTA LUSCHI"

Cerrar todos los libros abiertos

Workbooks.Close

Crear un nuevo libro vaco y agregarlo a la coleccin

Workbooks.Add

Abrir un archivo, en el que se crea un libro nuevo para el archivo abierto

Workbooks.Open FileName: = "Array.xls", ReadOnly: = True

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.

Mtodos del objeto Workbook de Excel 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.

La propiedad ThisWorkbook devuelve el libro donde se est ejecutando el cdigo de Visual


Basic; en el mayor de los casos este coincide con el libro activo.
Pero si el cdigo de Visual Basic forma parte de un complemento, la propiedad
ThisWorkbook no devuelve el libro activo; en este caso, el libro activo es el libro que llama
al complemento, por lo que la propiedad ThisWorkbook devolver el libro del
complemento.
Para la creacin de un complemento en el cdigo de Visual Basic, es necesario utilizar la
propiedad ThisWorkbook, que permite calificar cualquier instruccin que debe ejecutarse
en el libro que se compile como complemento.

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:

Imprimir todas las hojas del libro activo

Sheets.PrintOut

Crear una nueva hoja y agregarla a la coleccin.

Sheets.Add type: = xlChart, count: = 1, after: = Sheets(1)

Activar la hoja LOVE, Sheets(ndice); el ndice es el nombre o nmero de ndice


de la hoja.

Sheets("LOVE").Activate

Especificar varias hojas; Sheets(matriz); las hojas denominadas "LOVE" y "


FRIENDSHIP" al principio del libro.

Sheets(Array("LOVE", "FRIENDSHIP")).Move before: = Sheets(1)


Esta palabra tiene varias definiciones:
DEFINICIONES
'Declaracin
Public Overridable ReadOnly Property Sheets As Sheets
'Uso
Dim instance As Workbook Dim value As Sheets
value = instance.Sheets Title - El Nombre de la Grabacin (Ejemplo. Live at the Bassment)
Performer - Artista o DJ
Filename - El nombre del archivo especfico que contiene el cue sheet al que hace
referencia el archivo (ejemplo liveset.mp3)
Track - El nombre de la pista de audio

Track Times - el comienzo de la pista, expresado en el formato MM:SS:FR (minutossegundos-frames)


Ejemplo: 04:18:63 = minuto 4, 18 segundos, 63 frames

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 ()"

End Sub Ejemplo


Este ejemplo se utiliza la funcin de hoja de Pmt para calcular una hipoteca de una casa de
pago de prstamos. Observe que este ejemplo se utiliza el mtodo InputBox lugar de la
funcin InputBox para que el mtodo puede llevar a cabo la comprobacin de tipos. Las
declaraciones esttica causa de Visual Basic para conservar los valores de las tres variables,
las cuales se muestran como valores predeterminados la prxima vez que 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)

MsgBox "Monthly payment is " & Format(payment, "Currency")


Ejemplo:

Mover todas las hojas de clculo al final del libro

Worksheets.Move After: = Sheets(Sheets.Count)

Crear una nueva hoja de clculo y agregarla a la coleccin; agregando 2 nuevas


hojas de clculo antes de la hoja uno del libro activo.

Worksheets.Add Count: = 2, Before: = Sheets(1)

Ocultar la hoja de clculo uno del libro activo

Worksheets(1).Visible = False Comentarios


El objeto Worksheet tambin es un miembro de la coleccin Sheets. La coleccin Sheets
contiene todas las hojas del libro (hojas de grficos y hojas de clculo).
Ejemplo
Use la propiedad Worksheets para obtener la coleccin Worksheets. En el siguiente ejemplo
se mueven todas las hojas de clculo al final del libro.

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.

Worksheets.Add Count:=2, Before:=Sheets(1)


EJEMPLO

EXTRUCTURACION CON CODIGO REAL Private Sub BOTON_Click() dato =


InputBox("Ingrese Cdula a buscar.....", "BUSCAR CEDULA") i = 6 While
Worksheets("aquivalapaginadondevaaguardar(hoja1)").Cells(i, 1).Value <> "" If
Trim(Worksheets("aquivalapaginadondevaaguardar(hoja1").Cells(i, 1).Value) = dato Then
Userform1.txtcodigoci = Worksheets("aquivalapaginadondevaaguardar(hoja1").Cells(i,
1).Value Userform1.txtnombresre =
Worksheets("aquivalapaginadondevaaguardar(hoja1").Cells(i, 2).Value
Userform1.txtapellidosre = Worksheets("aquivalapaginadondevaaguardar(hoja1").Cells(i,
3).Value Userform1.txtemailre =
Worksheets("aquivalapaginadondevaaguardar(hoja1").Cells(i, 4).Value Userform1.txtceluer
= Worksheets("aquivalapaginadondevaaguardar(hoja1").Cells(i, 5).Value
Userform1.cbxtipor = Worksheets("aquivalapaginadondevaaguardar(hoja1").Cells(i,
6).Value Userform1.cbxdiar =
Worksheets("aquivalapaginadondevaaguardar(hoja1").Cells(i, 7).Value Userform1.cbxmesr
= Worksheets("aquivalapaginadondevaaguardar(hoja1").Cells(i, 8).Value
Userform1.cbxaor = Worksheets("aquivalapaginadondevaaguardar(hoja1").Cells(i,
9).Value Userform1.cbxdiasr =
Worksheets("aquivalapaginadondevaaguardar(hoja1").Cells(i, 10).Value
Userform1.cbxmessr = Worksheets("aquivalapaginadondevaaguardar(hoja1").Cells(i,
11).Value Userform1.cbxaosr =
Worksheets("aquivalapaginadondevaaguardar(hoja1").Cells(i, 12).Value
Userform1.txttiempoestadia =
Worksheets("aquivalapaginadondevaaguardar(hoja1").Cells(i, 13).Value Userform1.txtcde
= Worksheets("aquivalapaginadondevaaguardar(hoja1").Cells(i, 14).Value
encontrado = True End If
i es la variable y pa va aposicionar en la pagina

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:

Devuelve un solo objeto chart, Charts(ndice); el ndice es el nombre o nmero de


ndice de la hoja de grficos, que representa la posicin de la hoja de grficos en la
barra de fichas del libro.

Charts(1).SeriesCollection(1).Format.Fill.ForeColor.RGB = rgbRed

Mover el grfico llamado Ventas al final del libro activo.

Charts("VENTAS").Move after: = Sheets(Sheets.Count)


Este artculo INTERPRETA una introduccin a cmo utilizar el componente Chart en un
formulario de Visual Basic para visualizar datos relacionados. Ms concretamente, el
cdigo en este artculo muestra por ejemplo cmo hacer lo siguiente:
Usar datos de matriz para un grfico.
Utilice un objeto recordset de ADO para datos del grfico.
Usar datos de la hoja de clculo para un grfico.
Crear mltiples grficos en un nico espacio de grfico.
Crear un grfico de combinacin.
-y Dar formato a los componentes de grfico diferente, como ejes, datalabels, serie, plotareas
y ms.

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

Set oChartObj = .ChartObjects(.ChartObjects.Count)


End With
With oChartObj.Chart
.HasTitle = True
.ChartTitle.Characters.Text = "My Title"
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "My Pri Axis"

End With Ejemplo:


Establecer el diseo del rea del grfico incrustado 1 de la hoja de clculo llamada
"SEGURIDAD".
Worksheets("SEGURIDAD").ChartObjects(1).Chart. ChartArea.Format.Fill.Pattern =
msoPatternLightDownwardDiagonal
Colocar bordes redondeados alrededor del grfico llamado "DARK" en la hoja de clculo
"PRODUCCION".
Worksheets("PRODUCCION").ChartObjects("DARK").RoundedCorners = True
Eliminar todos los grficos de la hoja de clculo llamada "SIZE."
Worksheets("SIZE").ChartObjects.Delete

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).

Crear una hoja de grfico vaca e inserta antes de la ltima hoja.


ActiveWorkbook.Charts.Add Before: = Worksheets(Worksheets.Count)

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

Nombre Obligatorio/Opcional Tipo de dato Descripcin Index Obligatorio Variant


Formas individuales que se incluirn en el rango. Puede ser un nmero entero que
especifique el nmero de ndice de la forma, una cadena que especifique el nombre de la
forma o una matriz que contenga tanto nmeros enteros como cadenas.
Comentarios
Aunque se puede usar la propiedad Range para devolver cualquier nmero de formas, es
ms sencillo usar el mtodo Item si slo se desea obtener un nico miembro de la
coleccin. Por ejemplo, Shapes(1) es ms sencillo que Shapes.Range(1).
Para especificar una matriz de nmeros enteros o cadenas para Index, puede usar la funcin
Array. Por ejemplo, la siguiente instruccin devuelve dos formas especificadas por nombre.
Dim arShapes() As Variant Dim objRange As Object arShapes = Array("Oval 4",
"Rectangle 5") Set objRange = ActiveSheet.Shapes.Range(arShapes)
En Microsoft Excel no puede usarse esta propiedad para devolver un objeto ShapeRange
que contenga todos los objetos Shape de una hoja de clculo. En su lugar, use el siguiente
cdigo:
Worksheets(1).Shapes.SelectAll ' selecciona todas las formas set sr = Selection.ShapeRange
' crea un ShapeRange
Ejemplo
En este ejemplo se establece la trama de relleno de las formas uno y tres de myDocument.
Visual Basic para aplicaciones
Set myDocument = Worksheets(1)
myDocument.Shapes.Range(Array(1, 3)) _
.Fill.Patterned msoPatternHorizontalBrick

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

Proporciona una manera fcil de graficar rectangulos,circulos y otras formas en un


formulario. este contro es ligero lo que significa que no tiene un identificador de windows.
Cada objeto Shape representa un objeto de la capa de dibujo, como una autoforma, una
forma libre, un objeto OLE o una imagen.
La coleccin ShapeRange, representa un rango de formas, que es un conjunto de formas de
un documento.
Shape es un control grfico que se muestra como un rectngulo, un cuadrado, una elipse, un
crculo, un rectngulo redondeado o un cuadrado redondeado.
Utilice controles Shape en tiempo de diseo en lugar o adems de invocar los mtodos
Circle y Line en tiempo de ejecucin. Puede dibujar un control Shape en un contenedor,
pero no puede actuar como contenedor. (Esto quiere decir que un control Shape nunca le
servir, por ejemplo, para albergar varios OptionButton y pretender que sean
independientes de otros controles OptionButton que se encuentren fuera del control Shape.
Usar el objeto Shape para:

Devolver las formas adjuntas a los finales de un conector

Devolver una forma libre recin creada

Devolver una nica forma de un grupo

Devolver un grupo de formas recin creado

Devolver una forma existente

Devolver una forma de la seleccin

Devolver las formas adjuntas a los finales de un conector

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.

Set myDocument = Worksheets(1)


myDocument.Shapes.SelectAll

Use Shapes(ndice), donde ndice es el nombre o nmero de ndice de la forma, para


obtener un solo objeto Shape. En el siguiente ejemplo se establece como relleno una
sombra predefinida para la forma uno de myDocument.

Set myDocument = Worksheets(1)


myDocument.Shapes(1).Fill.PresetGradient _
msoGradientHorizontal, 1, msoGradientBrass

Use Shapes.Range(ndice), donde ndice es el nombre o el nmero de ndice de la forma o


una matriz de nombres o nmeros de ndice de formas, para devolver una coleccin
ShapeRange que represente un subconjunto de la coleccin Shapes. En el siguiente ejemplo
se configura la trama del relleno de las formas uno y tres de myDocument.

Set myDocument = Worksheets(1)


myDocument.Shapes.Range(Array(1, 3)).Fill.Patterned _
msoPatternHorizontalBrick

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.

Private Sub chkFinished_Click()


ActiveSheet.OLEObjects("CheckBox1").Object.Value = 1
End Sub

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

Cmo evitar los caracteres "raros" al aadir un cambio de lnea en un TextBox


Multiline
Despus de llenar las casillas con los datos (Autor, copyright, descripcin, etc) las quiero
mostrar utilizando un TextBox con la opcin de Multiline y un Scroll Bar (por si acaso).
Para hacer esto, voy acumulando en una variable (MetaTag) los resultados, y para colocar
cada meta tag en lneas separadas se me haba ocurrido utilizar chr$(13) al final de cada
lnea (sumandolo a la variable MetaTag) pero al mostrar el resultado aparecen unos
caracteres (como unos cuadritos) en vez del "break". Respuesta: Es que no slo debes
aadirle al final el CHR$(13), sino el Chr$(10) tambin. Usa la constante vbCrLf que es la
suma de un Chr$(13) & Chr$(10) Y as se cambiar a la siguiente lnea.
Ejemplo: ' sTmp = sTmp & "texto a aadir" & vbCrLf

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

activa no es una hoja de clculo, el ejemplo Sheet1 activa antes de


utilizar la propiedad ActiveCell.
Worksheets("Sheet1").Activate MsgBox ActiveCell .Value

En este ejemplo se cambia el formato de fuente para la celda activa.


Worksheets("Sheet1").Activate With ActiveCell .Font .Bold = True .Italic = True End With"
El objeto Application contiene:
Valores y opciones de toda la aplicacin. Mtodos que devuelven objetos de nivel superior,
como ActiveCell, ActiveSheet, etc.
ActiveCell.FormulaR1C1 nos permite escribir un valor en la celda activa.
Range("A2").Select Otra vez indicamos que se traslade a la celda A2.

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

expresin es la variable que representa un objeto Window.

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

En este ejemplo se muestra el nombre de la hoja activa.

MsgBox "The name of the active sheet is " & ActiveSheet.Name

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

expresin es la variable que representa un objeto Application.

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

'Para leer ' ValorCelda=pxls.Worksheets("Hoja1").Range("A3").Value


xls.ActiveWorkbook.Close SaveChanges:=True
End Sub

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"

Devolver las formas adjuntas a los finales de un conecto.

Devolver una forma libre recin creada.

Devolver una nica forma de un grupo.

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 Proyecto/Biblioteca: Muestra las bibliotecas que tienen establecida una


referencia actualmente correspondientes al proyecto activo. Puede agregar
bibliotecas en el cuadro de dilogo Referencias.

Cuadro Texto de bsqueda: Contiene la cadena que desea utilizar para la bsqueda.
Puede escribirla o elegir la cadena que desee.

Botn Volver: Permite 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.

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.

-Varios rangos de celdas (reas).


-Toda una Columna Toda una fila.
-El mismo rango en diferentes hojas (Rangos 3D).
-Etc.
El objeto rango tiene que ver con casi todo lo que hagamos en Excel, al fin de cuentas
Excel es una hoja de clculo y sus funcionalidades se centran la manipulacin directa o
indirecta de las celdas.
Aqui tenemos algunos conceptos de los que debemos utilizar en los objetos range:
Workbooks Libros de Trabajo en Excel
Worksheets Hojas de Trabajo
ActiveSheet Hoja Activa
Worksheets.Count Ultima hoja de la coleccion
Activate Activa la Hoja espedificada
Range Rangos dentro de la hoja de Trabajo
ActiveCell Se refiere a la celda activa
Range ("a1").Value="NOMBRE
Range ("a1:a3").count
Referencias de estilo A1 utilizando el mtodo Range.
Referencia Significado
Range("A1") Celda A1
Range("A1:B5") Celdas de la A1 a la B5

Range("C5:D9,G9:H16") Seleccin de varias reas


Range("A:A") Columna A
Range("1:1") Fila uno
Range("A:C") Columnas de la A a la C
Range("1:5") Filas de la uno a la cinco
Range("1:1,3:3,8:8") Filas uno, tres y ocho
Range("A:A,C:C,F:F") Columnas A, C y F
Si establece una variable de objeto para un objeto Range, puede manipular fcilmente el
rango utilizando el nombre de la variable. El siguiente procedimiento crea la variable de
objeto miRango y, a continuacin, asigna la variable al rango A1:D5 de la Hoja1 del libro
activo. Las instrucciones posteriores modifican las propiedades del rango, sustituyendo el
nombre de la variable por el objeto del rango.
Sub Aleatorio()
Dim miRango As Range
Set miRango = Worksheets("Hoja1").Range("A1:D5")
miRango.Formula = "=ALEATORIO()"
miRango.Font.Bold = True
End Sub
Range.- rangos dentro de una hoja de trabajo. Range "B3".- se refiere al rango indicado (de
una dola celda) Range "C2:D3".- se refiere al rango indicado (de varias celda) Range
"NombreRango".- se refiere al rango indicado por medio de un nombre
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. Visual Studio Tools para Office introduce dos
controles host de rangos: el control Microsoft.Office.Tools.Excel.NamedRange y el control.

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' Se utiliza el objeto Range: En el ejemplo siguiente se reemplaza el contenido


completo de un documento con la palabra "Reemplaz" independientemente de la posicin
actual del punto de insercin.
Sub RangeProperty()
' Range Example:
ActiveDocument.Range.Text = "Replaced"
End Sub

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

En el ejemplo siguiente se rellena el rango A1:H8 con nmeros aleatorios y se establece la


frmula de cada celda del rango. La propiedad Range, si se emplea sin un calificador de
objeto (un objeto colocado a la izquierda del punto), devuelve un rango de la hoja activa. Si
la hoja activa no es una hoja de clculo, este mtodo no se llevar a cabo con xito. Use el
mtodo Activate para activar una hoja de clculo antes de usar la propiedad Range sin un
calificador de objeto explcito.
Worksheets("Sheet1").Activate
Range("A1:H8").Formula = "=Rand()"

'Range is on the active sheet

.....................................................................
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

Para mover una celda hacia abajo de la celda seleccionada:


ActiveCell.Offset (1,0). Seleccionar
Como te habrs dado el primer argumento entre parntesis para offset es
el nmero de filas y el segundo es el nmero de columnas.
As que para pasar de A1 a G6 se necesita:
Range ("A1"). Offset (5,6). Seleccionar
Usted utiliza muy a menudo el siguiente fragmento de cdigo. Se
selecciona una celda y 4 ms que el derecho a ser copiado y pegado en
otra parte:
Range (ActiveCell, ActiveCell.Offset (0,4)). Copiar
Notificacin de la coma despus de la primera ActiveCell y el parntesis
de cierre antes de la doble 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

El siguiente ejemplo rellena el rango A1:H8 con el valor 20.


myChart.Application.DataSheet.Range("A1:H8").Value = 20

'de las ayudas de oficce'

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:

Borrar la frmula de la celda B2 de la hoja de datos.

myChart.Application.DataSheet.Cells(2,2).ClearContents
Encontrar ltima fila
UltimaFila = _
Columns("A:A").Range("A35000").End(xlUp).Row
Encontrar ltima fila

UltimaFila = ActiveSheet.UsedRange.Row - 1 + ActiveSheet.UsedRange.Rows.Count


Encontrar ltima fila MaxRow = Cells.SpecialCells(xlLastCell).Row MaxCol =
Cells.SpecialCells(xlLastCell).Column
Encontrar ltima fila (en columna especificada) Dim UltimaFila As Range
If WorksheetFunction.CountA(Columns(1))> 0 Then

Set UltimaFila = Range("35000").End(xlUp)


MsgBox UltimaFila.Address

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

Loop Until rngString Is Nothing


Suprimir filas vacas por dos condicines X, Y For i = UltimaFila To 1 Step -1
Let strTest= Application.Cells(i, 2)
If strTest <> "X" And strTest <> "Y" Then Rows(i).Delete

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

expresin, requerida, que devuelve un objeto de la lista aplicar a.

'delas ayudas de oficce'

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:

Borrar la columna A de la hoja de datos.

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

expresin, requerida, que devuelve un objeto de la lista aplicar a.

Dim i as integer, sA as string, sB as string


sA = CStr(i+1)
sB = CStr(i+3)
sA = sA & ":" & sB
Rows(sA).Select

...................................................................................................................................................
.......... Ejemplo:

Eliminar la fila tres de la hoja de datos.

myChart.Application.DataSheet.Rows(3).Delete
Utilice la propiedad Rows o Columns para trabajar con filas o columnas enteras.

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 Significado Rows(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
Propiedad Rows
Para un objeto Application, 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, esta propiedad
fallar. Para un objeto Range, devuelve un objeto Range que representa las filas del rango
especificado. Para un objeto Worksheet, devuelve un objeto Range que representa todas las
filas de la hoja de clculo especificada.
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
ejemplo.
Ejemplo
En este ejemplo se elimina la fila tres de Sheet1.

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

En este ejemplo se muestra el nmero de filas de la seleccin de Sheet1. Si se ha


seleccionado ms de un rea, el ejemplo ejecuta un bucle en cada rea.

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

En este ejemplo se muestra el nmero de filas de la seleccin de Sheet1. Si se ha


seleccionado ms de un rea, el ejemplo ejecuta un bucle en cada rea.
Visual Basic para aplicaciones 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

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

Next Worksheet 'fin del bucle


'imprimir las celdas seleccionadas (1 copia) ActiveWorkbook.PrintOut From:=1, To:=1,
copies:=1, collate:=True End Sub
Manejo de Columnas
Encontrar ltima columna (buscar al revs) Sub findlastColum() Dim intUltimaCol As
Integer
If WorksheetFunction.CountA(Cells)> 0 Then
intUltimaCol = Cells.Find(What:="*", After:=[A1], _
SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
MsgBox intUltimaCol

End If End Sub


Encontrar ltima columna (en fila especificada) Sub EncontrarUltimaColumna() Dim
intUltimaCol As Range
If WorksheetFunction.CountA(Rows(1))> 0 Then

Set intUltimaCol = Range("IV1").End(xlToLeft)


MsgBox intUltimaCol.Address
End If
End Sub

El siguiente codigo es para eliminar las columnas en un rango determinado


Sub SuprimirColumnas() Dim cCount As Integer, c As Integer Dim DeleteRange as Range
DeleteRange =("A1:B10")
If DeleteRange Is Nothing Then Exit Sub 'Ejemplo: DeleteEmptyColumns Range("A1:Z1")
If DeleteRange.Areas.Count> 1 Then Exit Sub
With DeleteRange
cCount = .Columns.Count
For c = cCount To 1 Step -1
If Application.CountA(.Columns(c)) = 0 _
Then .Columns(c).EntireColumn.Delete

Next c End With End Sub

Selection Name
Selection: devuelve el objeto seleccionado en la ventana activa para un objeto Application.
Sintaxis

expresin.Selection

expresin Variable que representa un objeto Window.

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:

Borrar la seleccin de EFECTIVO (la seleccin debe ser un rango de celdas).

Worksheets("EFECTIVO").Activate
Selection.Clear

Mostrar el tipo de objeto de Visual Basic de la seleccin.

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

Objeto: Requerido. Un objeto vlido.

String: Opcional. El nombre que desea asignar a la fuente o al control.

Para el objeto Font

Font.Name (= String)

Para todos los dems controles y objetos

objeto.Name (= String)
Ejemplo:

Muestra la propiedad Name de cada control de un formulario; utilizando la


coleccin Controls para recorrer todos los controles colocados directamente en
Userform.

Private Sub CommandButton1_Click( )

Dim MyControl As Control

For Each MyControl In Controls


MsgBox "MyControl.Name = " & MyControl.Name
Next

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...

AQUI ALGUNAS FUNCIONES QUE PUEDEN SERVIR DE AYUDA:

Devuelve un tipo Variant (String) que contiene un nmero especificado de


caracteres de una cadena.

La diferencia fundamental con respecto a los procedimientos o subrutinas es que estos,


luego de ejecutar el cdigo que tengan en su interior, al final retornan un valor, y este valor
luego lo podemos utilizar para una determinada tarea. En cambio los procedimientos, solo
ejecutan el cdigo que contienen y luego mueren por decirlo de alguna manera.

Mid(string, start[, length])

EJEMPLO, Si queremos separar una cadena de caracteres:

nombre="MANUEL"

letra1=mid(nombre,1,1)

COMO RESULTADO EN LA VARIABLE letra1 TENDREMOS "M"

Y asi podemos seguir separando toda la cadena.

Dim MiCadena, PrimeraPalabra, UltimaPalabra, PalabraMedia

MiCadena = "Demostracin funcin Mid" ' Crea la cadena de texto. PrimeraPalabra =


Mid(MiCadena, 1, 12) ' Devuelve "Demostracin". UltimaPalabra = Mid(MiCadena, 21, 3)
' Devuelve "Mid". PalabraMedia = Mid(MiCadena, 14) ' Devuelve "funcin Mid".
Este segundo ejemplo utiliza MidB y una funcin definida por el usuario (MidMbcs) para
devolver tambin caracteres de una cadena. La diferencia en este ejemplo es que la cadena
de entrada es ANSI y la longitud en bytes.
Function MidMbcs(ByVal str as String, start, length)
MidMbcs = StrConv(MidB(StrConv(str, vbFromUnicode), start,
length), vbUnicode)
End Function
Dim MiCadena
MiCadena = "AbCdEfG"
' Donde "A", "C", "E", y "G" son DBCS y "b", "d",
' y "f" son SBCS.
MiNuevaCadena = Mid(MiCadena, 3, 4)
' Devuelve ""CdEf"
MiNuevaCadena = MidB(MiCadena, 3, 4)
' Devuelve ""bC"
MiNuevaCadena = MidMbcs(MiCadena, 3, 4)
' Devuelve "bCd"

LEN

Devuelve un tipo Long que contiene el nmero de caracteres en una cadena o el


nmero de bytes necesarios para almacenar una *variable.

Sintaxis

Len(cadena | nombrevar)

EJEMPLO.......... Len(nombre)-----> devuelve el numero de cararacteres de la


cadena

Array (Funcin)

Devuelve una variante que contiene una matriz.

Sintaxis

Array(lista_argumentos)

El argumento lista_argumentos requerido es una lista de valores delimitados por


comas que se asignan a los elementos de la matriz contenida en el tipo Variant. Si
no se especifica ningn argumento, se crea una matriz de longitud cero.

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:

InStr([start, ]string1, string2[, compare])

InStrRev(string1, string2[, start[, compare]])


Si te fijas, vers que el parmetro opcional START ha cambiado de sitio,
desde mi punto de vista es ms lgico en la nueva funcin, pero como ya
estamos acostumbrados...
Como cambio, ahora en todas las funciones que usan el parmetro compare,
el cual es opcional y si no se especifica se usa lo que se haya indicado
en Option Compare xxx; pues lo que cambia es que antes no exista un
valor para indicar que se usaba ese valor por defecto, simplemente no se
indicaba, y ahora si se indica -1 (vbUseCompareOption) se usa el tipo de
comparacin a realizar en las cadenas.

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.

abbreviate: Opcional, si se devuelve el nombre completo o abreviado firstdayofweek:


Opcional, para indicar cual es el primer da de la semana, por defecto en 1 (vbSunday),
osea Domingo
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 das de la semana, los devuelve en el idioma en
que est configurado Windows

'
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)

Esta funcin devuelve en una cadena el contenido de un array, cada


elemento del array se incluye en esa cadena y se separa cada elemento
con el separador indicado. El separador no se aade al final de la
cadena, slo entre cada elemento.
La forma de usar esta funcin es:

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.

delimiter: (opcional), es el separador que le indicar a la funcin como


estn separados los elementos; por defecto es un espacio. Si el
delimitador es una cadena vaca, se devolver un array con slo un
elemento conteniendo toda la cadena.
count: (opcional), el nmero de elementos que se devolver en el array,
si no se indica o se usa -1, se devolver cada subcadena en un elemento
del array. Si este valor es menor que el nmero de subcadenas, en el
ltimo elemento del array se asignar el resto de la cadena.
compare: (opcional), el tipo de comparacin que se realizar para evaluar
el delimitador dentro de la expresin.
Private Sub cmdSplit_Click()
'Devolver una cadena con una serie de palabras de un array
Dim tArray() As String
Dim sTmp As String
Dim i As Long
'Asignamos valores de prueba a una cadena
sTmp = "Hola Mundo, esto es una prueba de Split en VB6"
'Creamos un array, cada "substring" se asignar
'a un elemento del array
tArray = Split(sTmp)
'Ahora slo crearemos un array de tres elementos
'tArray = Split(sTmp, , 3)
'Tambin se puede usar para desglosar los parmetros
'de la lnea de comandos
'fichero.txt /B /S/I
tArray = Split(Command$, "/")
'Mostramos la informacin
List2.Clear
'Si no conocemos los ndices del array,
'usamos LBound y UBound para que nos lo indique
For i = LBound(tArray) To UBound(tArray)
List2.AddItem tArray(i)
Next

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

count: (opcional), nmero de sustituciones que queremos realizar, el


valor por defecto es -1, lo que indica que se harn todas las
sustituciones posibles.

compare: (opcional), lo dicho en las otras funciones, el tipo de comparacin a realizar:


binaria, de cadena o segn el Option Compare xxx
Pulsa este link para ver cmo "fabricarte" una funcin para hacer esto
mismo... (ms o menos)
He publicado una nueva versin de las que ya estaban anteriormente
publicadas.
Vamos a ver un ejemplo de cmo usar esta funcin.

'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

...................................................................................................................................................
............................................................

Insertar una funcin de hoja de clculo en una celda


Para insertar una funcin de hoja de clculo en una celda, especifique la funcin como el
valor de la propiedad Formula del objeto Range correspondiente. En el siguiente ejemplo,
la funcin ALEATORIO (que genera un nmero aleatorio) se asigna a la propiedad
Formula del rango A1:B3 de la Hoja1 del libro activo...
Sub InsertFormula()
Worksheets("Sheet1").Range("A1:B3").Formula = "=RAND()"
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:

1. Como una celda


2. Como una fila
3. Como una columna
4. Como una seleccin de celdas
5. Todas las anteriores
Pregunta 3
ejemplo de instruccion 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

QUE HACER PARA QUE NUESTRO FICHERO QUEDE GUARADADO?


Para verlo funcionar, grabaremos el fichero, y lo cerraremos. Seguidamente abriremos de
nuevo el fichero y nos aparecer en pantalla el formulario (show). Si pulsamos sobre el
botn de aceptar, se ocultar el UserForm (hide).
Ademas debemos saber como que hacer para crear un userform:
Crear un cuadro de dilogo personalizado : Utilice el siguiente procedimiento para crear un
cuadro de dilogo personalizado:
1. Crear un UserForm
En el men Insertar del Editor de Visual Basic, haga clic en UserForm.

2. Agregar controles al UserForm


Busque el control que desea agregar en la Caja de herramientas y arrstrelo al formulario.

3. Establecer las propiedades del control


Con el botn secundario del mouse (ratn), haga clic en un control en modo de diseo y, a
continuacin, haga clic en Propiedades para mostrar la ventana Propiedades.
4. Inicializar los controles
Puede iniciar los controles en un procedimiento antes de mostrar un formulario, o puede
agregar cdigo al evento Initialize del formulario.
5. Escribir procedimientos de eventos
Todos los controles tiene un conjunto de eventos predefinidos. Por ejemplo, un botn de
comando tiene un evento Click que se produce cuando el usuario hace clic en l. Puede
escribir los procedimientos de eventos que se ejecutarn cuando se produzca el evento.
6. Mostrar el cuadro de dilogo
Utilice el mtodo Show para mostrar un UserForm.
7. Utilizar los valores del control cuando el cdigo se est ejecutando
Algunas propiedades pueden establecerse en tiempo de ejecucin. Los cambios realizados
por el usuario en el cuadro de dilogo se pierden cuando ste se cierra.

Presione Para Mays+Ctrl+ALPHA Seleccionar una propiedad de la lista Propiedad de la


ventana Propiedades. ALPHA Introducir un valor en la ventana Propiedades para la
propiedad seleccionada. F7 Abrir la ventana Cdigo para el objeto seleccionado. Supr
Eliminar los controles seleccionados sin colocarlos en el Portapapeles. Ctrl+Z Deshacer
una eliminacin de controles. Tab Recorrer los controles hacia delante en el orden de
tabulacin. Mays+Tab Recorrer los controles hacia atrs en el orden de tabulacin.
Ctrl+Clic Agregar o quita un control de la seleccin. Clic+arrastrar Seleccionar mltiples
controles. Mays+Clic Seleccionar mltiples controles. Ctrl+Clic+arrastrar Agregar o
eliminar controles de la seleccin actual. F6 Mostrar la ventana Propiedades (slo en
tiempo de diseo). Mays+F10 Ver mtodo abreviado. Ctrl+J Traer al frente (afecta a
controles superpuestos slo en tiempo de diseo). Ctrl+K Enviar a atrs (afecta a controles
superpuestos slo en tiempo de diseo).

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

Asignar nombre y propiedades al botn de comando


Detalles para mejorar el formulario
Ir al editor de cdigo que corresponde al formulario
Editar el cdigo de cada objeto del formulario
Crear el cdigo para mostrar el formulario
Escribir el cdigo para mostrar el formulario
Crear un objeto en la hoja, y asignarle la macro
Asignar el cdigo para mostrar el formulario, a un objeto de la hoja
Asignar el cdigo para mostrar el formulario, a un objeto de la hoja
Para poder comprender que son y para que sirven los USERFORM debemos conocer
algunas CONSIDERACIONES GENERALES.
Mdulos de Formulario
Cada formulario en su aplicacin tiene un mdulo de formulario asociado, estos son
guardados con una extensin de archivo FRM y contienen:
* Los valores de las propiedades para el formulario y sus controles.
* Declaracin de variables en el mbito del formulario.
* Procedimientos de evento y procedimientos generales en el mbito del
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.

Ejemplo(Manual de Excel tutorial de excel )


Sub Auto_open()
Load UserForm1
UserForm1.Show
End Sub
La magia esta en el procedimiento Auto_open() que permite ejecutar automticamente lo
que se encuentre dentro de el cuando abras un libro que contenga este cdigo, en este
ejemplo cuando se abre el libro se activa el formulario 1 que programe.
As que todo lo que agregues dentro de este procedimiento se ejecutara automticamente
cuando abras un libro.
como agragar controles al User Form
para aggregar un control nuevo a un formulario de usuario, utilice primero el objeto de
diseador del objeto VBComponent correspondiente. El objeto de diseador permite
manipular el diseo de un formulario de usuario. El objeto de diseador contiene controles
de una coleccin. Para agregar un nuevo control, debe agregarlo a la coleccin de controles.
En el ejemplo siguiente se agrega un control de casilla de verificacin a un UserForm
recin creado y establece el nombre, ttulo, posicin y tamao del control:
EJEMPLO Sub Add_Control()
' Declare variables.
Dim mynewform As Object
Dim mycheckbox As Object
' Create a new UserForm. You can use this new VBComponent object
' to manipulate the UserForm
Set mynewform = _
Application.VBE.ActiveVBProject.VBComponents.Add (vbext_ct_MSForm)
' Add a checkbox to the new UserForm.
Set myCheckBox = mynewform.Designer.Controls.Add("Forms.CheckBox.1")
' With the new checkbox...
With myCheckBox
.Name = "Check1"
.Caption = "Check here"
.Left = 10
.Top = 10
.Height = 20
.Width = 60
End With
End Sub

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()

Application.ScreenUpdating = False Lineas de instruccion..........


Application.ScreenUpdating = True end sub EJEMPLO NUMERO 2 Private Sub
CommandButton1_Click() Application.ScreenUpdating = False If TextBox1 = "hola" Then
Label1.Visible = False MsgBox ("bienvenido: pedro") UserForm2.Label2.Caption = "pedro
perez" Load UserForm2 Unload UserForm1 UserForm2.Show End If If TextBox1 <>
"hola" Then TextBox1 = "" Label1.Visible = True End If Application.ScreenUpdating =
True End Sub Private Sub CommandButton2_Click() 'Botn de Cancelar
Unload UserForm1
End

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

ESCRIBIR PROCEDIMIENTOS DE EVENTOS DE CONTROL Y DE CUADRO DE


DIALOGO:
Despus de agregar controles al cuadro de dilogo o documento, agregue los
procedimientos de eventos para determinar cmo respondern los controles a las acciones
del usuario. 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.
Qu es un cuadro de dilogo? :
Un objeto UserForm es una ventana o cuadro de dilogo que conforma una parte de la
interfaz de usuario de una aplicacin.
Los formularios de usuario tienen propiedades que determinan la apariencia, como
posicin, tamao y color; y diversos aspectos de su comportamiento.
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.
La Ventana de Cdigo contiene:
El Cuadro Lista de Objetos
Muestra el nombre del objeto seleccionado. Haga clic en la flecha a la derecha del cuadro
Objeto para mostrar una lista de todos los objetos asociados con el formulario.
El Cuadro Lista de Eventos

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

expresin, requerida, que devuelve un objeto de la lista aplicar a.

COMO SE DEBE AGREGAR COLUMNS?


Para poder utilizar una columna en una consulta, deber agregarla a la consulta. Puede
agregar una columna para mostrarla en los resultados de la consulta, para utilizarla al
ordenar, para realizar bsquedas en el contenido de la columna o para resumir su contenido.
Puede decidir cules de las columnas que utiliza en la consulta se van a incluir en el panel
Resultados cuando la consulta se ejecute.
Nota: El uso de esta propiedad sin un calificador de objeto equivale a usar
ActiveSheet.Columns.
Para ver el tipo de datos de una columna en el Diseador de consultas y vistas, seleccione la
tabla o el objeto con valores de tabla en el panel Diagrama y, en la ventana Propiedades,
haga clic en Lista de columnas. A continuacin, haga clic en los puntos suspensivos ()
para abrir el cuadro de dilogo Lista de columnas.
Siempre que utilice una columna en una consulta, tambin podr utilizar una
expresin formada por cualquier combinacin de columnas, literales, operadores y
funciones.
COMO CREAR UNA INDIVIDUAL COLUMN?
En el panel Diagrama, active la casilla de verificacin situada junto a la columna que
desea incluir.
O bien
En el panel Criterios, vaya a la primera fila en blanco de la cuadrcula, haga clic en el
campo de la columna Columna y seleccione un nombre de columna de la lista desplegable.
COMO CREAR COLUMNAS CORRESPONDIENTES A UNA TABLA?

En el panel Diagrama, active la casilla de verificacin situada junto a *(Todas las


columnas).
Se usa Column
Adems se debe realizar lo siguiente:

1.Compruebe que no hay ninguna lnea de combinacin seleccionada en el panel de


operaciones de tablas.
2.Haga clic con el botn secundario en el espacio vaco de la ventana Diseo y elija
Propiedades en el men contextual. 3.En la ventana Propiedades, haga clic en Todas las
columnas y elija S o No en la lista desplegable.

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.

BUSCAR UNA CADENA DE TEXTO EN OTRA MAS


LARGA
Con el siguiente ejemplo se nos hara mas facil el entendimiento y comprension de algunos
de los comandos utilizados para cadenas string(De Texto)tanto de su posicion como de su
comparacin.
Para este ejemplo debemos crear un formulario que tenga dos textbox y dos botones:

- al textbox1 debemos aplicarle la propiedad muiltiline en true.


- al textbox2 lo pondremos el nombre de txt_Buscar.
la codificacion es la siguiente:
Option Explicit
Private m_Pos As Integer
Sub buscar_cadena(ByVal Posicion As Integer)
Dim p As Integer, Frase As String
Frase = txt_Buscar

p = InStr(Posicion, Text1, Frase)


If p > 0 Then
m_Pos = p
With Text1
.SelStart = m_Pos - 1
.SelLength = Len(Frase)
.SetFocus
End With

Else

MsgBox "No se encontr la frase", vbInformation


Text1.SetFocus
End If

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.

TRABAJAR CON UN LIST Y COMBO BOX


Empezaremos con como agregar informacin a un Combobox y un Listbox, primeramente
debers crear el siguiente formulario dentro de Visual Basic, recuerda desde Excel se utiliza
la tecla ALT + F11 para entrar a Visual Basic, seguido del Men Insertar y despus
Userform, bueno creo que ya lo sabes. Inserta Un Combobox y un Listbox y un Botn.
Ahora que ya creaste la Interfaz vamos a programar el botn, veremos como se le puede
agregar informacin por medio de cdigo a estos dos controles.
Da doble clic en el Botn y escribe las siguientes lneas dentro del procedimiento.

Private Sub CommandButton1_Click()

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
Bueno vamos a analizar el significado de estas lneas:
ComboBox1.AddItem "Juan Jos "
La opcin AddItem significa que vas a agregar un dato de texto, por lo tanto se entiende
como vas a agregar a Juan Jos al Combobox1, por lo tanto yo puedo agregar los datos que
quiera a un Combobox o un Listbox con la opcin AddItem, entonces al presionar el botn
aparecern los datos que se encuentra escritos y podrs seleccionar cualquiera de ellos,
recuerda que la informacin la vas a agregar segn tus necesidades.
Ahora si deseas agregar nmeros a un Combobox o ListBox escribe el siguiente cdigo en
un botn:
Private Sub CommandButton1_Click()
For X=1 to 50
Listbox1.AddItem str(x)
Next
End Sub
La Instruccin For-Next es un ciclo contador que te permite contar desde un numero hasta
otro. Por ejemplo le digo que cuente desde el 1 hasta el 50 y lo que se encuentre dentro del
ciclo For-Next se ejecutara el nmero de veces, la X es una variable numrica que guarda el
valor, cada vez que el ciclo da una vuelta aumenta un numero, por lo tanto X va a valer
desde 1 hasta 50, y la instruccin Str es para convertir el valor numrico de la X en valor de
Texto, ya que la opcin AddItem guarda solo texto, claro esta que tambin puede funcionar
sin esta instruccin en algunos casos.

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

La Clave esta en el procedimiento UserForm_Activate() esto quiere decir que cuando se


active el formulario cargara lo que tu le indiques, en este caso va a introducir los datos al
Listbox1 y Combobox1 automticamente, que te parece.
Ahora si deseas tomar informacin de una celda y enviarla a un Combobox o Listbox
escribe el siguiente cdigo en un Botn:
Private Sub CommandButton1_Click()
Range("a9").Select
Do While ActiveCell <> Empty
ActiveCell.Offset(1, 0).Select
ListBox1.AddItem ActiveCell

Loop
End Sub

Fjate bien, primeramente muevo el rango a la celda a9 porque ah esta el inicio de mi


informacin, despus la lnea Do While Activecell<> Empty significa Hazlo mientras la
celda no se encuentre vaca, la siguiente lnea que esActiveCell.Offset(1, 0).Select,
significa Baja un Rengln, la siguiente lnea ListBox1.AddItem ActiveCell, agrega la
informacin de la celda al Listbox1 y la lnea Loop es parte del ciclo Do While, siempre
cierra el ciclo, como el For-Next. Por lo tanto todos los nombres que estn delante de a9
sern enviados al Listbox1 y cuando tope con la celda a15 que se encuentra vaca la
condicin del Do While parara la ejecucin de su cdigo. Esto funciona caminando

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

Si quiero moverme 20 columnas a la derecha


ActiveCell.Offset(0, 20).Select

Cambios de cdigo para el control ComboBox


En los ejemplos siguientes se muestran las diferencias que existen entre las tcnicas de
codificacin de Visual Basic 6.0 El cdigo se modifica para hacer que un control
ComboBox sea de slo lectura
El cdigo siguiente muestra cmo impedir que un usuario agregue nuevos elementos a un
control ComboBox.
Visual Basic 6.0

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

Combo1.AddItem "This is a new item" Combo1.ListIndex = Combo1.NewIndex

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

Ver cdigo fuente

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

Lo que enlaza aqu

Cambios relacionados

Pginas especiales

Versin para imprimir

Enlace permanente

Esta pgina fue modificada por ltima vez el 02:31, 8 jul 2010.

Esta pgina ha sido visitada 5.408 veces.

Poltica de proteccin de datos

Acerca de Wiki Soludevt

Aviso legal

Potrebbero piacerti anche