Excel Macros Tutorial (Spanish)
Excel Macros Tutorial (Spanish)
Excel Macros Tutorial (Spanish)
uía ráctica
VERSION 98
Instituto Nacional de
Estadística e Informática
PUBLICACIONES
ë Guía Práctica de Autoaprendizaje de Word Perfect
ë Computadoras, Comodidad y Seguridad
ë Guía Práctica de Autoaprendizaje de Microsoft Word
ë Las Computadoras en la Sociedad
ë Mis Primeros Pasos en Informática
ë Guía Práctica de Autoaprendizaje de Astound
ë Guía Práctica de Autoaprendizaje de Microsoft Excel
ë Navegando en Internet
ë El Mundo del Software
ë Guía Práctica de Autoaprendizaje de Qpro
ë Guía Práctica de PowerPoint
ë Guía Práctica de Autoaprendizaje - Microsoft Exchange
ë Guía Práctica de Microsoft Netscape
ë Guía Práctica de Visual Fox Pro
ë Guía Práctica de Autoaprendizaje - Diseño de Páginas Web
ë Guía Práctica de Autoaprendizaje de FrontPage
ë Guía Práctica de Power Builder
ë Guía Práctica de Windows 95
ë Guía Práctica de Autoaprendizaje - PageMaker
ë Guía Práctica de Autoaprendizaje - Photoshop
ë Guía Práctica de Autoaprendizaje - CorelDraw
ë Guía Práctica de Autoaprendizaje - Word (Versión 97)
ë Guía Práctica - Visual Basic
ë Guía Práctica - Project 98
ë Guía Práctica - Cómo Automatizar las Tareas Rutinarias con
Excel Macros
G UIA P RACTICA - C OMO A UTOMATIZAR LAS T AREAS R UTINARIAS CON E XCEL M ACROS
- PUBLICACION Nº36 - EDICION ‘99
Excel Macros es una guía que está diseñado para ayudar a los
usuarios a mejorar su eficacia en el trabajo rutinario, automa-
tizando las tareas, constituyendo asi una herramienta de uso
importante. Una macro es una serie de comandos que realizan
las tareas rutinarias automáticamente. Registrando sus propias
macros, puede resolver sus propias necesidades y trabajar más
eficientemente. Por ejemplo, si utilizó la misma disposición de
paginación para cada informe generado, a fin de evitar hacer
los mismos pasos de progresión en cada documento, se crea
una macro modificada para requisitos particulares, ordenar e
instalar la paginación con sólo presionar unas teclas y ejecu-
tarlas.
Capítulo 2 - Macros
Glosario Visual
1 ntroducción
S
Visual Basic. Para crear una macro no necesita saber programación
programación, ya
que es muy sencillo. De hecho, la mayoría de las macros pueden
i ejecuta fre- crearse siguiendo unos simples pasos, similares a los que realiza para
cuentemente una ta- imprimir los reportes semanales. Microsoft Excel descifra los detalles
rea en Microsoft Excel, (como el nombre del filtro a usarse) y crea el código Visual Basic
puede automatizarla necesario. Incluso es posible vincular la macro a un botón de la barra
mediante una macro. de herramientas, de forma que los complicados reportes semanales se
conviertan en una actividad tan sencilla como imprimir o hacer click
Una macro consiste en
en un botón.
una serie de coman-
dos y funciones que
se almacenan en un
Lo que estoy haciendo ahora puede no ser muy eficien-
módulo de Visual
te, pero no deseo usar mucho tiempo aprendiendo cómo
Basic y que puede eje-
escribir Visual Basic. Sólo deseo ver mi trabajo termina-
cutarse siempre que
do.
sea necesario ejecutar
la tarea. Una macro se Una macro, según la definición encontrada en los manuales de Excel,
graba igual que se es una secuencia de instrucciones que le indican a Excel qué debe
graba música en un hacer, y éste las ejecuta automáticamente. Por medio de las macros
cassette. A continua-
podemos automatizar tareas repetitivas y aquellas en las que se requiere
ción, se ejecuta la
una cantidad considerable de pasos complejos. Y, aunque se requiere
macro para que repi-
de un poco de conocimientos de programación, se puede realizar una
ta los comandos.
gran cantidad de tareas usando instrucciones sencillas, y todo sin saber
programar. Así que, ¿por qué no aprender un poco acerca de ellas?
R
macro estará disponible siempre
que use Microsoft Excel, y no sólo
M
muy sencilla. Veamos el código de Visual Basic que hace de la macro
algo tan simple.
acros
Para crear una macro desde el principio, hacer los pasos siguientes:
12345
12345
12345
12345
12345
12345
12345 12345
12345 12345
12345
12345 12345
12345
Español
Macro Visual Basic
Inglés
Secuencia de órdenes
I
Macro es una secuencia de órdenes que se realizan con el Visual
Basic, que puede ser en Español o Inglés.
pasos. Para ello, po- •Secuencias de órdenes bajo una orden determinada
demos crear una •Otro nombre Seudo-Programación
macro que realice el •Desarrollo lineal.
t r a b a j o •Programa toma de decisiones.
automáticamente.
Evidentemente, los Grabadora Programación
Excel lineal
pasos de la macro Posee
Visual Basic
P
con cada tipo de dato y generar un resultado predecible.
órdenes se traducen la imagen. Los eventos son las acciones o comandos que puedo
a un lenguaje sim- ejecutar sobre el aparato: presionar el botón de encendido, presionar
bólico o código que el botón de avance de cinta, presionar el control para el cambio
es capaz de ser en- de hora, mover el control de volumen. En el caso de VB el programa
tendido por un responde a los eventos por medio de procedimientos que se programan
compilador y éste a en forma tradicional. La principal dificultad consiste en seleccionar
su vez lo traduce las el evento correcto para la acción deseada (en ocasiones inadvertidamente
instrucciones a len- se puede provocar una cascada de eventos: dentro del proceso de
guaje de máquina. un evento se activa otro evento que a su vez activa al primer evento
que activa al segundo evento… etc.).
Y, por último, los métodos son los procesos internos que ocurren en
el aparato (procedimientos) en respuesta a un comando: al presionar
el botón de avance de la cinta, se activa un motor, se activa el
contador, se “lee” y transmite la imagen de la cinta a la televisión,
etc. El programador de VB no tiene acceso a la codificación de los
métodos, sólo los usa. En VB tenemos como ejemplo el método
FindFirst (parámetro) que al aplicarse a un objeto de base de datos
localiza la primera ocurrencia del dato especificado en el parámetro.
Modo de Programar
•Enfocar el problema en modo Lógico (Módulo)
Algoritmo Listado
(Lenguaje)
E
1. Estructura lineal
Cuando la ejecución del programa sigue una secuencia simple de
arriba hacia abajo, de la primera a la última línea de órdenes, sin STILOS DE
ninguna desviación.
PROGRAMACION
U
9If...Then...Else:
If...Then...Else: Salto a una instrucción cuando una condición es
True o False
na variable o 9Select
Select Case: Selección de la instrucción a ejecutar en función de
constante definida
un conjunto de condiciones.
desde dentro de un
procedimiento no es Bifurcación
visible fuera de ese IF.............THEN FOR.....TO.....
.............
procedimiento. Sólo
.........
............. .........
......... N Rutinas
............. Rutinas
el procedimiento que .............
.........
END CASE
Sub VariableLocal() LOOP
Dim strMensaje As MULTIPLE REPETITIVA
String
Visual Basic
strMensaje = "Esta
variable no se pue- Visual Basic. Gira alrededor
en lo que es objeto con
•Libro
•Hoja
elementos cambiantes •Celda (rango)
de usar fuera de este
•Enunciados (objeto)
procedimiento." Visual Basic. Se basa en
categorías
•Propiedades
•Métodos (acciones)
MsgBox strMensaje
•Valor
Sub FueraAlcance()
Secuencia
o Objeto •Propiedad=Valor (ancho de
Esquema celda)
MsgBox strMensaje •No tiene el mismo valor.
•Asigna
End Sub
•XL Medium
•XL Thick
L
¨ Funciones,
¨ Enunciados,
¨ Objetos, a
¨ Métodos, automatización (an-
¨ Propiedades, tes llamada
Se agrupan todas las palabras clave u órdenes que reconoce el automatización OLE)
lenguaje. Ver listado de comandos usuales. es una de las carac-
terísticas del
Component Object
El segundo punto.- La sintaxis del Visual Basic exige respetar un cierto
Model (COM), una
orden en la escritura de cada comando. Así por ejemplo, primero se
tecnología estándar
debe mencionar el objeto, el método y luego la propiedad que
en la industria usada
queremos cambiar de él, separándolos con puntos. Por ejemplo:
por las aplicaciones
para revelar sus ob-
CeldaActiva.Seleccionar
jetos a las herramien-
.AlineaciónHorizontal=xlCentrar
tas de desarrollo, len-
guajes de macros y
COMANDOS VISUAL BASIC MAS USADOS otras aplicaciones
que sean compatibles
Funciones: Abs, Ahora, Choole, Dir, Error, Esnulo, Espacio, Fecha, Val
con la
automatización. Por
ejemplo, una aplica-
Métodos:
ción de hojas de cál-
Abrir, Activar, Agregar, AjustarAutomáticamente, AnularSelección,
culo puede revelar
Autoformato, Autorellenar, Bordes, Copiar, CuadrosEdición,
una hoja de cálculo,
CuadroDiálogo, CuadrosTexto, Desviar, Hojas, HojasSeleccionadas,
un diagrama, celda o
Lenarhaciaabajo, Mostrar, Pegar, Rango, Ventanas
rango de celdas, cada
una como un tipo di-
Objetos: ferente de objeto. Un
Aplicación, Borde, Bordes, Botón, Botones, CuadroEdición, procesador de textos
CuadrosEdición, CuadrosTexto, Diálogo, Diálogos, Fuente, HojaCálculo, puede revelar objetos
Rango, Ventana como una aplicación,
un documento, un
Propiedades: párrafo, una frase, un
AlineaciónHorizontal, AnchoColumna, Selección, VentanaActiva marcador o una se-
lección.
Enunciados:
Con, Dim, Fin, Proced
L
formulario si éste está activo actualmente. Este comando se
convierte en el comando Continuar cuando está en modo
A l crear módu-
los se está creando
de una jerarquía de
módulos de progra-
mas e interfaces en-
tre ellos.
Módulo estándar.-
Un módulo que con-
tiene solamente de-
claraciones y defini-
ciones de procedi-
miento, tipo y datos.
Las declaraciones y
definiciones a nivel Al grabar una macro cada acción se realiza en un módulo que es
de módulo de un automáticamente creado, y éstos se encuentran después de la últi-
módulo estándar ma hoja de cálculo.
son Public de mane-
ra predeterminada.
Un módulo estándar
se denomina módu-
lo de código en ver-
siones anteriores de Este Módulo es
Ejemplo Nº1
Sub XXX( )
N o o lv id ar d e d ig it ar 10............... * S e p u ed e
d e c o lor A Z U L e n co lo c ar n úm er o s
caso de ser - ...................
(Ejem p lo, M e nsa je: Erro r)*
a d e ter mina d as
lín eas .
P O S IT I V O ( + ) , e n ...................
E x c e l.
...................
End Sub XXX
Ejemplo Nº2
Sub M1( )
..................
C rear un pro-
cedimiento escri-
................... biendo código
................... 1.Abra el módulo
...................
End Sub para el que desea es-
cribir el procedimien-
Sub M2( )
.................. to.
................... Puede crear un pro-
...................
................... cedimiento Sub,
End Sub Function o Property.
2.Escriba Sub,
Function o Property.
Presione F1 para ob-
tener Ayuda con sin-
Ejemplo Nº3 Hacer módulos taxis, si lo necesita.
3.Escriba el código
Sub letras( ) para el procedimien-
(*)Range (“a1:d6”).select to.
Visual Basic finaliza el
Whith selection.font
procedimiento con la
•name=“Times New Roman” instrucción End Sub,
•size=10 End Function o End
•color index=3 Property apropiada.
End With
End Sub
Recuerde:
Al ejecutar ’ (apóstrofe) automáticamente esa línea se convierte
en comentario y de color verde.
C rear un proce-
dimiento utilizando el
cuadro de diálogo In-
sertar procedimiento
1.Abra el módulo
para el que desea es-
cribir el procedimien-
to.
2.En el menú Insertar,
haga clic en Procedi-
miento.
3.Digitar el nombre
del procedimiento en
el cuadro Nombre del
cuadro de diálogo In-
sertar procedimiento.
4.Seleccione el tipo
de procedimiento que
desea crear: Sub,
Function o Property.
5.Establezca el alcan-
ce del procedimiento
a Public o Private.
6.Puede seleccionar
Todas las variables
locales como estáti-
cas para agregar la
palabra clave Static a MODULO DE VISUAL BASIC
la definición del pro-
cedimiento. Un módulo de Visual Basic se usa para escribir, mostrar y editar código.
7.Hacer un click en el Los módulos almacenan códigos a nivel de módulo y de procedimiento.
botón Aceptar. Pueden haber varios procedimientos en un módulo y varios módulos en
un libro de trabajo.
Barra de división
La barra de división divide un módulo en dos secciones. Es visible
si selecciona la opción Dividir del menú Ventana.
Barra de desplazamiento
Barras de desplazamiento horizontales y verticales le permiten
desplazarse dentro del código.
L
activo, seleccionar la ficha correspondiente.
O bien:
Para crear un módulo ubicarse en el editor de Visual Basic, luego os procedi-
en el menú Insertar seleccionar la opción Módulo
Módulo.
mientos tienen un es-
pacio limitado para
2.En el módulo, escriba Proced, Función o Propiedad seguido por
almacenar variables.
el nombre de la macro.
Cada vez que un pro-
3.Si hay argumentos, escríbalos entre paréntesis y separados por
cedimiento se llama a
un punto y coma.
si mismo, consume
4.Presionar la tecla Enter.
más de ese espacio.
5.Digitar el código.
Un procedimiento que
6.Escriba Fin Proced
Proced, Fin Función o Fin Propiedad y después presionar
se llama a si mismo es
Enter
Enter.
lo que se conoce
como un procedi-
ACTIVAR Y DESACTIVAR LA VERIFICACION DE miento recursivo. Un
procedimiento
SINTAXIS PARA LOS MODULOS recursivo que se lla-
ma continuamente a
1.Del menú Herramientas, seleccionar la opción Opciones. si mismo producirá fi-
2.Seleccionar la ficha General-Módulo. nalmente un error.
3.Seleccionar el cuadro de verificación “Interrumpir en todos los erro- Por ejemplo:
res”
res”, o eliminar la se-
lección. F u n c t i o n
4.Hacer un click en el Agotar(Máximo)
botón Aceptar. Agotar =
Agotar(Máximo)
End Function
A
presione ESC.
ntes de grabar
Ejecutar una macro desde un módulo de Visual Basic
o escribir una macro,
planifique los pasos y
1.Abra el libro que contiene la macro.
los comandos que
2.Seleccionar la opción Macro en el menú Herramientas y, a continuación,
desea que ejecute.
hacer un click en la sub opción Macros
Macros.
3.En el cuadro Nombre de la macro,
Si se comete algún
error mientras se gra- escriba el nombre de la macro que
·Nota Para dete- Para grabar una macro hacer los pasos siguientes:
ner una macro an-
tes de que finali- 1.Seleccionar la opción Macro del menú Herramientas y, a continuación,
ce las acciones, hacer un click en la opción Grabar nueva macro
macro.
presionar la tecla 2.En el cuadro Nombre de la macro
macro, digitar un nombre para la macro.
ESC. El primer caracter del nombre de la macro debe ser una letra. Los
demás caracteres pueden ser letras, números o caracteres de
subrayado. No se permiten espacios en un nombre de macro; puede
utilizarse un caracter de subrayado como separador de palabras.
U
en la carpeta INICIAR.
Para incluir una descripción de la macro, escriba la descripción en
el cuadro Descripción.
n procedi-
miento Function es
5.Hacer un click en el botón Aceptar
Aceptar.
una serie de instruc-
ciones de Visual Basic
Si se seleccionan celdas mientras se está ejecutando una macro, encerradas entre dos
ésta seleccionará las mismas celdas independientemente de la instrucciones
celda que se haya seleccionado en primer lugar, ya que graba Function y End
referencias absolutas de celda. Si desea tener una macro para Function. Un procedi-
seleccionar celdas independientemente de la posición que tenga miento Function es
la celda activa cuando se ejecute la macro, configure el grabador similar a un procedi-
de macros para que grabe referencias relativas de celda. En la miento Sub, aunque
barra de herramientas Detener grabación, hacer un click en Referencia. una función puede
Microsoft Excel continuará grabando macros con referencias relativas devolver además un
hasta que termine la sesión con Microsoft Excel o hasta hacer un valor. Un procedi-
click otra vez en Referencias relativas. miento Function
acepta argumentos,
6.Ejecute las acciones que desee grabar. como pueden ser
7.En la barra de herramientas Detener grabación, hacer un click en constantes, variables
o expresiones que le
Detener grabación.
pasa el procedimien-
to que efectúa la lla-
Sugerencia.- Si desea tener una macro para seleccionar una celda
mada. Si un procedi-
determinada, ejecute una acción y seleccionar otra celda relativa
miento Function no
a la celda activa; cuando se grabe una macro, pueden mezclarse
tiene argumentos, la
referencias relativas y absolutas. Para grabar una macro utilizando
instrucción Function
referencias, compruebe que está activada la opción Referencias
debe incluir un par de
relativas. Para grabar una macro utilizando referencias absolutas,
paréntesis vacíos. Una
compruebe que la opción Referencias relativas no está habilitada. función devuelve un
valor asignándolo a
su nombre en una o
Las macros eliminan tareas repetitivas y
más instrucciones del
crean informes automatizados. Visual Basic
procedimiento.
es el lenguaje usado para hacer estas
macros.
Si hay una macro que contenga comandos que desea utilizar en otra
macro, puede copiar toda la macro o parte de ella en otro módulo.
También puede hacerse una copia del módulo de la macro para
duplicar todas las macros que contenga.
C
G Copiar parte de una macro para crear otra
Recuerde al crear una macro los pasos de grabar una macro de la página 24,
luego ubíquese en la hoja que desea que vaya la macro.
Coloque o seleccione características de como van a ir las celdas filas. Por ejemplo
si desea que la fila 1 contenga un texto en negrita sólo tiene que seleccionar la fila
y hacer un click en el botón negrita, observe que en la parte inferior hay un
mensaje grabando todo lo que haga en esa hoja al presionar las teclas
correspondiente se ejecutará la macro.
Para dejar de grabar la macro hacer un click en el boton del editor de VB.
filtr o
U na caja de
diálogo es una ven-
Usuario
cr ea
Diálogo
Inte rfa se
Programa tana que se utiliza
Interactuar
para ejecutar cual-
quier operación.
Ejemplo: Caja de
diálogo de Excel Esta ventana, según
sea el caso, mues-
tra una serie de ele-
CREACION DE UNA CAJA DE DIALOGO mentos visuales que
hacen más sencilla
1. Hacer un click en el botón Modo Diseño, en la ventana de Excel. la operación.
Si no tiene activo seleccionar Ver >Barra de herramientas > activar
la subopción Visual Basic. Una caja de diálogo
2. Hacer un click en el botón cuadro de controles, puede contener:
·BOTONES.- Son ele-
Al activar el cuadro de controles se activa una ventana que mentos utilizados
contiene botones para Diseño la caja de Diálogo usted para poder iniciar la
creará la caja de diálogo deseada, que posteriormente cada ejecución de una ta-
objeto insertado tendrá un procedimiento la que llamará rea a partir de la caja
desde un módulo para poder ingresar o mostrar los datos
de diálogo. En la caja
de diálogo anterior se
deseados. El formato de la hoja de diálogo aparecerá de
tiene que, al utilizar el
la siguiente forma:
botón de grabar, se
registrará toda la in-
formación propor-
cionada por el
TITULO Barra de título
(+-Ventana)
usuario. Dos puntas
C A NA D A
P ER U Q hacia adentro del
IT AL IA
F RA N C IA Elem entos de la caja:
botón permiten al
B R AS IL
JA PO N
R O MA
S U IZA
A ceptar
A LE MA NI A
•Com binados (cuadros).
usuario diferenciar
H U N G R IA
USA
C A RI BE
R •Edición (cuadros).
C U BA
E SP A Ñ A
na caja de
diálogo puede conte-
ner
·OPCIONES SIMPLES. Confección de Cajas de Diálogo Propias
Este elemento visual
está conformado por
todos aquellos com- Insertar Macro Diálogo
ponentes de un menú
que tienen la forma
de texto y que nos VENTANA CUADRO DE
indican una opera-
ción a realizarse o un CONTROLES
objeto a utilizar.
Como ejemplo de Ventana cuadro de controles contiene botones que se
este elemento, tene- usan para crear formularios personalizados en hojas de
mos en la ventana cálculo, gráficos y hojas de diálogo.
superior la palabra
siguiente: Modo Diseño
Descripción
Cambia al modo Diseño de formulario, en el que se
Una opción de este
puede modificar o crear un formulario utilizando las
tipo siempre presen-
herramientas ActiveX del Cuadro de controles. Mien-
ta una de sus letras
tras se encuentra en el modo Diseño de formularios,
con más brillo en la
este botón cambiará a Salir del modo Diseño.
pantalla, lo que sig-
nifica que se puede
Propiedades del control
acceder a ésta. sim-
Cambia en el archivo las propiedades de los controles ActiveX
plemente presionan-
do dicha letra. Como o las opciones del campo de formulario seleccionado.
C
+ letra, donde letra es cualquier tecla del teclado. La tecla
de método abreviado suplantará a cualquier tecla de método
ómo evitar
abreviado predeterminada en Microsoft Excel mientras esté
problemas con las
abierto el libro que contiene la macro.
teclas de método
abreviado.
Para incluir una descripción de la macro, escriba la descripción en
el cuadro Descripción.
Si existen dos hojas
de macros que con-
tiene macros con las 5. Hacer un click en el botón Aceptar.
Puede ejecutarse una macro desde un botón, desde una barra de herramientas integrada
o desde una barra de herramientas personalizada.
Para grabar una nueva macro y asignarla al objeto gráfico seleccionado, hacer un click
en Grabar
Grabar. Cuando finalice de grabar la macro, hacer un click en Detener grabación que
se ubica en la barra de herramientas Grabar macro
macro.
ARCHIVO
U
·FileAttr
FileAttr - Devuelve información del sistema operativo acerca
dl archivo que esta abierto.
n procedi- ·FileDateTime
FileDateTime - Devuelve una cadena de caracteres que
miento Function es indican la fecha y la hora de la última modificación del archivo.
una serie de instruc-
FileLen - Devuelve un entero largo que indica la longuitud en
·FileLen
ciones de Visual Basic
bytes de un archivo .
encerradas entre dos
·FreeFile
FreeFile - Devuelve el siguiente numero de archivo valido que
instrucciones
no esta en uso.
Function y End
·GetAttr
GetAttr - Devuelve un entero qu indica los atributos de un
Function.
archivo, directorio, o etiqueta de volumen.
Loc - Devuelve la posición actual en un archivo abierto.
·Loc
Instrucción.-Una
·LOF
LOF - Devuelve el tamaño en bytes de un archivo abierto.
u n i d a d
sintácticamente ·Seek
Seek - Devuelve la posición del archivo actual.
completa que expre- NÚMERO
sa un tipo de acción,
declaración o defini- ·Abs
Abs - Devuelve el valor absoluto de un número.
ción. Normalmente ·Atn
Atn - Devuelve el arcotangente de un número.
una instrucción tiene ·Cos
Cos - Devuleve el coseno de un ángulo (ángulo en radianes).
una sola línea aunque ·Sin
Sin - Devuelve el seno de un ángulo (ángulo en radianes).
es posible utilizar dos
puntos (:) para poner
más de una instruc- CADENA
ción en una línea.
También se puede ·InStr
InStr - Devuelve la posición de la primera ocurrencia de una
utilizar un carácter de cadena dentro de otra cadena de caracteres
continuación de línea LCase, LCase$ - Devuelve una cadena de caracteres en la
·LCase,
(_) para continuar una cuál todas las letras han sido convertidas a minúsculas.
sola línea lógica en Left, Left$ - Devuelve los n cacarteres a la izquierda de un
·Left,
una segunda línea fí-
cierto argumento. (cadena).
sica.
·Len
Len - Devuelve el número de caracteres en una expresión de
cadena o el número de bytes necesarios para almacenar una
variable.
LTrim, LTrim$ - Devuelve una copia de una cadena eliminando
·LTrim,
todos los espacios en blanco.
Mid, Mid$ - Devuelve una cadena qu es parte de una cadena.
·Mid,
Right, Right$ - Devuelve los n caracteres más a la derecha
·Right,
HORA/FECHA
L as instruccio-
nes de declaración se PROGRAMANDO MACROS
usan para dar nom-
bre y definir procedi-
mientos, variables,
AÑADIR BORDES GRUESOS
matrices y constantes
El siguiente ejemplo
contiene tres decla- Para añadir bordes gruesos al contenido, hacer lo siguiente:
raciones.
Por ejemplo si se desea colocar el borde grueso de las celdas A8
a B14, entonces:
Sub DarFormato()
Const limite As Integer = 33 ‘bordes Macro
Dim miCelda As Range ‘Coloca un borde grueso de A8 a B14
‘
' Mas instrucciones
Sub bordes ()
End Sub
Range(“A8.B14”). Select
La instrucción Sub Selection.Borders(xlLeft).LineStyle=xkNone
(con la correspon- Selection.Borders(xlRight).LineStyle=xkNone
diente instrucción Selection.Borders(xlTop).LineStyle=xkNone
Selection.Borders(xlBottom).LineStyle=xkNone
End Sub) declara un
Selection.BordersAroundWeight:=xlMedium, ColorIndex:=xlAutomatic
procedimiento llama-
do DarFormato. To- End Sub
das las instrucciones
que aparecen entre
las instrucciones Sub
y End Sub se ejecu-
tan cuando el proce-
dimiento DarFormato
se ejecuta o se llama.
‘cen Macro
‘Centra el contenido de las celdas B1 a D1
Sub cen ()
Range(“B1:D1”). Select
With Selection
.HorizontalAlignement =xlCenter
.VerticalAlignement =xlBottom
.WrapText = False
.Orientation = xlHorizontal
Para dar nombre a
End With procedimientos,
constantes, variables
End Sub y argumentos en un
módulo de Visual
Basic han de seguir-
se las siguientes re-
glas:
·El primer carácter
debe ser una letra.
·En el nombre no se
pueden utilizar espa-
cios, puntos (.), sig-
nos de interjección
(!), ni @, &, $, #.
CAMBIAR A NEGRITAS ·El nombre no puede
tener más de 255 ca-
racteres de longitud.
Para Poner en negritas el contenido del rango de celdas B1:D1,
hacer lo siguiente: ·No se deben usar
nombres iguales a los
‘neg Macro de los procedimien-
‘Pone en negritas el rango B1:D1
‘ tos Function, instruc-
Sub neg () ciones y métodos de
Visual Basic.
Range(“B1:D1”). Select
·Los nombres no se
Selection(“B1:D1”).Select
pueden repetir den-
End Sub tro del mismo nivel
de alcance.
Nota.- Visual Basic
no diferencia entre
mayúsculas y minús-
culas, pero respeta la
forma en que se es-
criben las instruccio-
nes de declaración de
nombres.
Range(“A8”). Select
ActiveCell.FormulaRCC2 =”Lunes”
U
Selection.Autofill Destination: Range (“A8:A14), Type:)=xlFillDefault
Range(“A8:A14”).Select
End Sub
na instrucción
ejecutable inicia una
acción. Puede ejecu-
tar un método o fun-
ción y saltar a blo-
ques de código o no
ejecutar otros. Las
instrucciones
ejecutables incluyen a
menudo operadores
condicionales o ma-
ESTABLECER LA FUNCION SUMA
temáticos.
El siguiente ejemplo
utiliza la instrucción Para establecer la función SUMA en la celda B15, hacer el
For Each...Next para programa siguiente:
pasar por cada una de
las celdas de un ran- ‘sumatoria Macro
go llamado ‘Establece función SUMA en celda B15
Milntervalo en la ‘
Sub sumatoria ()
Hoja1 de un libro
Microsoft Excel ac- Range(“B15”). Select
tivo. La variable c ActiveCell.FormulaR1C1 =”TOT.SEMA=”
Range(“B15”).Select
es una celda en la
ActiveCell.FormulaR1C1 =”=SUM(R [-7]C:R[-1]C)”
colección de celdas
que componen el End Sub
Milntervalo.
Sub DarFormato()
Const limite As Integer = 33
For Each In Worksheets
(“Hoja1”).Ranger(“Milntervalo”).Cells
If c.Value>limite Then
With c.Font
.Bold=true
.Italic=true
End With
End If
Next c
MsgBox “¡Find!”
End Sub
End Sub
Un formulario inclu-
Para usar esta macro, colóquese en la celda o seleccione las ye los controles y el
código asociado a
celdas que quiere cambiar y ejecútela. Lo demás es automático.
dicho formulario.
Podemos compartir
CONTROLAR MAYUSCULAS/MINUSCULAS código en todo el
proyecto colocando
EN LAS CELDAS
el código en un mó-
dulo de formulario o
Aquí se encuentra un par de macros para cambiar las entradas en un módulo
de celdas entre mayúsculas y minúsculas. Para convertir el texto estándar y declaran-
en mayúsculas, para ello use la siguiente macro: do el procedimiento
como Public. Los
Sub MakeUpperCase() formularios se crean
For Each c In Selection.Cells como interfaz de la
c.Value= UCase$(c.Value) aplicación. Cada for-
Next c mulario es una ven-
End Sub tana que presenta
controles, gráficos u
otros formularios.
Para cambiar el texto a minúsculas utilizar esta macro similar: Los formularios se
pueden usar de dife-
Sub MakeLowerCase() rentes maneras:
For Each c In Selection.Cells
c.Value=LCase$(c.Value) Como una pantalla
Next c ilustrada como in-
End Sub troducción a una
aplicación.
Para utilizar cualquiera de estas macros, simplemente colóquese
Como un libro den-
tro de una aplicación.
en la celda o seleccione las celdas que quiera cambiar, y ejecute
Como un cuadro de
la macro.
diálogo.
Los epacios extra que están antes de alguna entrada de una celda
pueden crear problemas cuando intentan ordenar y filtrar tablas.
Para eliminar estos espacios, seleccione las celdas y ejecute esta
macro:
Sub CloseAllInactive()
Dim Wb As Workbook
Dim AWb As String
AWb = ActiveWorkbook.Name
SaveAll
For Each Wb In Workbooks
If Wb.Name <> AWb Then
Wb.Close savechanges:=True
End If
Next Wb
Application.StatusBar = “All Workbooks Closed.”
End Sub
EJEMPLO Nº1
L
son
os controles
herramientas
como cuadros, bo-
tones y etiquetas
que se disponen en
un formulario para
permitir la entrada
de datos o para pre-
sentar resultados.
También hacen más
Diseñar el formulario con las siguientes características : atractivos los for-
1. Ingresar el nombre del usuario mularios. Para dibu-
2. Digitar la contraseña jar controles en un
3. Hacer un click en el botón Aceptar para Ingresar al sistema, si es formulario se usa el
correcta debe salir un aviso “Bienvenido al sistema”. si no digita
Cuadro de herra-
mientas.
la clave correcta debe salir un aviso “No tiene autorización”
4. Hacer un click en el botón Salir si no tiene autorización.
Usando la ventana
Propiedades se de-
finen las propieda-
des de formularios y
controles. Las pro-
piedades especifi-
can los valores ini-
ciales de las carac-
terísticas, tales
como tamaño, nom-
bre y posición. La
ventana Propiedades
enumera todas las
A continuación propiedades y los
Propiedad
se muestra las valores del control o
Valor
fases en la módulo selecciona-
construcción de do actualmente.
una aplicación
FASE DE
CODIFICACION
FASE DE
EJECUCION
Insertar un
Algunas consideraciones:
1.Para colorear en el fondo, seleccionar las
celdas que desea que vaya sombreado.
2.Insertar un botón de comando, cuyo nombre
sea “Sombreado”.
El código en el Editor de Visual Basic, insertar Si desea agregar el evento click con el botón
'
libro donde se encuentra el boton creado
'sombreado
lluego hacer doble click sobre el botón y digitar
'
el siguiente código:
Private Sub CommandButton1_Click()
Sub sombra()
Range("B4:G9").Select
Range("B4:G9").Select
With Selection.Interior
With Selection.Interior
.ColorIndex = 15
.ColorIndex = 15
.Pattern = xlSolid
.Pattern = xlSolid
End With
End With
Range("C5:F8").Select
Range("C5:F8").Select
Selection.Interior.ColorIndex = xlNone
Selection.Interior.ColorIndex = xlNone
Range("D12").Select
Range("D12").Select
End Sub
End Sub
Esta aplicación permite mostrar los resultados del tipo de cambio en dólares o soles.
Por ejemplo el tipo de cambio es 3.45 con un monto de 100 soles equivale a 345 soles, del
mismo tipo de cambio con un monto de 100 dólares equivaldría a 28,9855072463768 centavos
de dólar. Si se desea saber otros montos entonces hacer un click en el botón Otro y si deseo
terminar la sesión hacer un click en el botón Salir.
End Sub
Private Sub resul_Click()
If (Option1.Value = True) Then Finalmente, sólo queda ejecutarlo; generalmente,
txtresul = Val(txtmonto) / Val(txttipo) Se pueden cometer tres tipos de errores:
Errores de compilación: Fallos provocados por la
Else incorrecta construcción del código.
txtresul = Val(txtmonto) * Val(txttipo) Errores en tiempo de ejecución: Fallos que Visual
End If puede detectar cuando nuestro programa se ejecuta.
Errores de lógica: Fallos que producen resultados
End Sub incorrectos o que provocan que el programa no
se ejecute de la manera esperada.
C
para buscar y quitar los virus de macro. Si desea este tipo de protección
deberá adquirir e instalar software antivirus. No obstante, Microsoft Excel
el libro afectado o se libro que contenga macros. A continuación, puede elegir entre abrir el
ejecuta una acción libro con las macros habilitadas o inhabilitar las macros, de modo que
que desencadena un pueda ser el único usuario que las vea y las modifique. Un virus de macro
virus de macro, éste únicamente puede ser perjudicial si se le permite ejecutarse; por tanto,
puede activarse, si se inhabilitan las macros, puede abrirse el libro con seguridad.
transmitirse al equipo
y almacenarse en un G Si se espera que el libro contenga macros útiles (por ejemplo, un
libro oculto u otra formulario de pedidos para la organización), puede hacerse click en
ubicación que no Habilitar macros para abrir el libro con las macros habilitadas.
pueda detectarse.
G Si no espera que el libro contenga macros o no está seguro acerca
de la fiabilidad de su origen, puede hacer click en Inhabilitar macros
para abrir el libro con las macros inhabilitadas. Por ejemplo, puede
obtener un libro a través de un mensaje del correo electrónico
procedente de un origen desconocido o de un sitio en la red local,
o en Internet, que no sea fiable. En estos casos, es aconsejable ponerse
en contacto con el usuario que haya creado el libro para comprobar
que no contiene virus.
Notas
L o más conve-
niente trate de usar
Los macrovirus irremovibles, son una razón por la cual surgen macros
que no son exactamente virus, es la acción deficiente de ciertos
productos antivirus, o la concurrencia de macrovirus que se sobreescriben
siempre un programa
unos a otros. Pero no es éste el único caso.
antivirus, cuya sin-
taxis se documenta
Por más de un motivo, pueden llegar a nuestros documentos macros
en la sección de
no deseadas o no conocidas. Las causas pueden ir desde un macro
m a c r o v i r u s
malicioso, lo que se conoce como un «caballo de Troya» escrito por
irremovibles y podrá
librarse de todo un empleado travieso, o avieso, hasta una macro bien intencionada
macro, viral o no que simplemente no fué reportada por su autor, pero que hace cosas
viral, malicioso o ino- inesperadas como mostrar ventanas, abrir archivos, etc. Esas macros no
cuo. son virus, no contienen código infeccioso y, por mucho daño que
hagan, no pueden considerarse virus y ninguna compañía de antivirus
que se respete a sí misma, debe convertir su tarea en una cacería de
brujas.
Recuerde, sin embargo, que al remover todas las macros puede estar
eliminando no solo código útil, sino aplicaciones completas que puedan
inutilizar el manejo que se pretendía dar al documento. En términos
generales, como usuario usted podrá decir en la mayoría de los casos
si las macros en su documento sirven a algún propósito o no. Sólo en
el caso de documentos generados por terceros podría darse el caso
de código inaceptable. Pero de cualquier forma el usuario debe
conocer la procedencia del documento e indagar acerca de las
posibles macros.
MACROVIRUS IRREMOVIBLES
ESPAÑOL INGLES
A To
Abajo Down
Abrir Texto OpenText
Abrir Vínculos OpenLinks
Acción Action
Activar Activate
Activar Anterior ActivatePrevius
Activar Siguiente ActivateNext
Actualizar Update
Actualizar Pantalla ScreenUpDating
Actualizar Vínculos UpdateLinks
Agregar Add
Agregar A Tabla AddToTable
Agregar Campos AddFields
Agregar Elemento AddItem
Agregar Menú AddMenú
Agrupar Group
Ajustar Alto A Páginas FitToPagesTall
Ajustar Ancho A Páginas FitToPagesWide
Ajustar Automáticamente AutoFit
Al Activar Hoja OnSheetActivate
Al Deshacer OnUndo
Alineación Alignment
Alineación Horizontal HorizontalAlignment
Alineación Vertical VerticalAlignment
Al Introducir OnEntry
Al Introducir Datos OnData
Al Repetir OnRepeat
Alto Height
Alto Fila RowHeight
Ancho Width
Ancho Columna ColumnWidth
Anterior Previus
Antes Before
Anular Selección Deselect
Apariencia Appearance
Archivo File
Area Gráfico ChartArea
Area Impresión PrintArea
Arrastrar Colocar Celdas CellDragAndDrop
Autoformato AutoFormat
Autollenar AutoFill
Barra Desplazamiento ScrollBar
Barra Estado StatusBar
Barra Herramientas TollBar
Barras Menús MenuBar
Bloqueado Locked
Borde Border
Borrar Clear
Borrar Contenido ClearContents
Borrar Formatos ClearFormats
Botón Button
Botón Opción OptionButton
Buscar Find
Buscar Como LookAt
Cadena String
Calcular Calculate
Cambiar Forma Reshape
Cambiar Tamaño Resize
Campo Field
Campos tabla Dinámica PivotFields
Canal Channels
Categoría Category
Celda Activa ActiveCell
Centrar Horizontalmente CenterHorizontally
Cerrar Close
Colocar Placement
Combinar Merge
Compilar Build
Contenido Contents
Contraseña Password
Convertir Convert
Copiar Copy
Cruza Crosses
Cuadro Diálogo DialogBox
Cuenta Count
Datos Data
Desplazar Shift
Destino Destination
Desviar Offset
Dibujo Drawing
Dirección Address
Diseño Pattern
Dividir Split
Doble Clic DoubleClick
Duplicado Duplicate
Edición Edition
Eje Axis
Elemento Item
Elevación Elevation
Eliminar Delete
Elipse Oval
Encabezado Header
Entradas Listas ListCount
Escala Automática AutoScaling
Espacio Space
Espera Wait
Esquema Outline
Esquinas Corners
Estado Status
Estilo Línea LineStyle
Estructura Structure
Evaluar Evaluate
Fecha Date
Fila Row
Fin End
Fondo Background
Formato Format
Fórmula Formula
Fuente Font
Función Funtion
Galería Gallery
Giro Rotation
Grabar Record
Grabar Macro RecordMacro
Gráfico Chart
Grosor Weitgth
Grupos Groups
Guardar Save
Habilitado Enabled
Hoja Sheet
Hoja Activa ActiveSheet
Hoja Cálculo WorkSheet
Hora Time
Identificador Id
Imagen Picture
Importar Import
Importar Datos ImportData
Imprimir Print
Incluir Include
Incremento Step
Indice Index
Reproducir Play
Restablecer Reset
Restaurar Restore
Resumen Summary
Rótulo Caption
Ruta Acceso Path
Salir Quit
Sección Pane
Selección Selection
Separación IsGap
Separador Delimiter
Serie Series
Siguiente Next
Sombra Shadow
Subtotal Subtotal
Superior Top
Tabla Table
Tabla Dinámica PivotTable
Tabulación Tab
Tamaño Size
Tecla Key
Tema Topic
Texto Text
Tiene Fórmula HasFormula
Tipo Type
Título Title
Título Eje AxisTitle
Título Gráfico ChartTitle
Total Fila RowGrand
Transponer Transpose
Unicos Unique
Unión Union
Valor Value
Ventana Window
Ventana Activa ActiveWidow
Verbo Verb
Verificado Checked
Versión Version
Vértice Vertex
Vínculos Link
Visible Visible
Volátil Volatile
Windows Para PenComputing WindowsForPens
7
elemento de la pantalla y, a continuación, se hace click con el botón
del mouse para efectuar una acción sobre el elemento.
n mouse, u
otro dispositivo Nota
Nota.- La documentación de Excel es parte del supuesto de que el
señalador, funciona usuario dispone de un mouse y de que es diestro.
siguiendo el principio Al desplazar el mouse sobre una superficie plana, el puntero del mismo
por el que primero se se moverá en la pantalla. Si le falta espacio, levante el mouse y sitúelo
sitúa el puntero del en un lugar en que le sea más cómodo desplazarlo.
mouse (se señala) en
Para señalar, mover el mouse hasta que la punta del puntero se
algún elemento de la
encuentre sobre el elemento o área que se desea señalar. A conti-
pantalla.
nuación, se podrá realizar lo siguiente:
Señalar
Colocar el puntero sobre un elemento.
Reducir (minimizar
minimizar) la ventana al tamaño de un botón de la barra
minimizar
de tareas.
Ampliar (maximizar
maximizar) la ventana para que ocupe todo el escritorio.
maximizar
Pc World
Pc Magazine
Manuales de Microsoft
Internet
BIUFORM