Está en la página 1de 24

EXCEL AVANZADO

Profesor: Manuel

Correo: manolitoquieresaberlotodo@gmail.com

VISUAL BASIC for Application

Lenguaje de programación orientada a objetos (cada objeto tiene atributos y tiene funciones).

Una celda es un objeto, mientras que ,lo que contiene son atributos. Y una funcion es que cambie
de color.

COMO HABILITAR LA OPCION DE DESARROLLADOR

FORMA 1:
FORMA 2:
PARA INGRESAR AL ENTORNO:

Hacer clic en el icono:

O tambien, presiono :

ALT + F11

SUBRRUTINA:

Conjunton de pasos que se ocnvertiran en una funcion, actividad dentro del excel:

1
2
3
4
5
End subrutina
MODELO Y OBJETOS

Aplicación
Libro
Hojas
Celdas o rangos
Gráficos

PROGRAMACIÓN

Algoritmo: “Es una rutina”

Lavar mi ropa
Prendo la lavadora
Coloco ropa
Lleno agua
Hay agua
Lavo
No hay agua
No lavo
Fin lavar ropa
PROPIEDADES

Ancho

Alto

Fondo

FUNCIONES

Escribir

Borrar

Application

Range WorkSheet Workbook


COMO INSERTAR UN MODULO

BOTON EJECUTAR O COMPILAR

Sirve para revisar si mis formulas estan bien, este la revisara, si encuentra error colocara un X
CREAR UNA MACRO SIMPLE

Probar macro:
Y lo ejecuta:

FORMA DE GUARDAR MI MACRO


SEGUNDA CLASE

ActiveSheet: Significa que la macro funcionara en la hoja activa donde este el cursor del mouse

INSERTAR COMENTARIO

Hacer clic derecho en la barra


CONFIGURACION DE MACROS
DEPURACION

TECLA F8
Permite revisar la macro paso a paso.
ACTIVAR LA MACRO EN LA HOJA 2 ESTANDO EN LA HOJA 1

REFERENCIA PARA PROGRAMACION DE MACROS


VISUALIZACION DE LA MACRO
TERCERA CLASE

VARIABLES

REGLAS DE LAS VARIABLES:

 Siempre empiezan con una letra o un subguion.


Letra o _

 Pueden ingresar hasta 250 caracteres.

 No se coloca espacios.

edad X mascota

 No se puede utilizar los ya establecidos.


WorkBook
Range
TIPOS DE DATOS VBA

Dim edad as Interger : Para numero enteros

Dim pi as Double : Para numero decimales

Dim nom as String : Para texto

Dim log as Boolean : Para respuestas logicas Verdadero o Falso

EJEMPLO:
FUNCIONES DE TEXTO

Left (String, IZQUIERDA

Right (String, DERECHA

Len (Sting) LARGO

Instr (inicio, donde, qué ) HALLAR

Hallar (qué, donde, inicio)

Mid (donde,inicio, cuánto) EXTRAE

Extrae(donde, inicio, cuanto)

ejemplo, en excel:

A1= Manuel Arrospide Chirinos = nomPropio


=extrae(A1, hallar(“ “,A1,1)+1,hallar(“ “,A1,hallar(“ “,A1,1)+1)-hallar(“ “,A1,1))

Sub funciTexto()
Dim nomPropio As String

nomPropio = "Wendy Rodríguez Cáceres"

MsgBox (Left(nomPropio, InStr(1, nomPropio, " ")))


MsgBox (Mid(nomPropio, InStr(1, nomPropio, " ") + 1, InStr(InStr(1, nomPropio, " ") + 1, nomPropio, " ") –
InStr(1, nomPropio, " ")))
MsgBox (Right(nomPropio, Len(nomPropio) - InStr(InStr(1, nomPropio, " ") + 1, nomPropio, " ")))

End Sub

SENTENCIAS DE CONTROL DE FLUJOS


CUARTA CLASE
IF ANIDADOS

OPERADORES And Or
And: y
Or: o
El mismo ejemplo utilizando el operador “And”:

Sub EdadesHumano()

Dim edad As Integer


Dim tipoEdad As String

edad = Application.ActiveWorkbook.ActiveSheet.Range("A2").Value
MsgBox (edad)

tipoEdad = Application.ActiveWorkbook.ActiveSheet.Range("A2").Value

If edad > 0 And edad <= 6 Then


tipoEdad = "Infancia"
Application.ActiveWorkbook.ActiveSheet.Range("A3").Value = tipoEdad
MsgBox (tipoEdad)
Else
If edad > 6 And edad <= 12 Then
tipoEdad = "Niñez"
Application.ActiveWorkbook.ActiveSheet.Range("A3").Value = tipoEdad
MsgBox (tipoEdad)
Else
If edad > 12 And edad <= 18 Then
tipoEdad = "Adolescencia"
Application.ActiveWorkbook.ActiveSheet.Range("A3").Value = tipoEdad
MsgBox (tipoEdad)
Else
If edad > 18 And edad <= 25 Then
tipoEdad = "Juventud"
Application.ActiveWorkbook.ActiveSheet.Range("A3").Value = tipoEdad
MsgBox (tipoEdad)
Else
If edad > 25 And edad <= 60 Then
tipoEdad = "Adultez"
Application.ActiveWorkbook.ActiveSheet.Range("A3").Value = tipoEdad
MsgBox (tipoEdad)
Else
If edad > 60 Then
tipoEdad = "Vejez"
Application.ActiveWorkbook.ActiveSheet.Range("A3").Value = tipoEdad
MsgBox (tipoEdad)
Else
End If
End If
End If
End If
End If
End If
End Sub
VARIABLE

FOR TO

SEXTA CLASE

Luego ejecutar:
WHILE-WEND

Se usa cuando no sabemos hasta donde vamos avanzar


INDICAR EN QUE HOJA DESEO TRABAJAR

FUNCIONES