En este tutorial aprenderemos :
Qué es una macro
Insertar botones de Formularios y asociarlos a una macro
Insertar botones de imprimir y algunos códigos VBA
Registro de Datos en una hoja nueva
Utilizar una Función de Pesos a letras
Validación de datos y Validación de datos con fórmulas.
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tutorial n°3 excel 2010
1. Tutorial N°3
Excel 2010
Prof. Cristian Salazar C.
cristiansalazar@uach.cl
En este tutorial aprenderemos :
• Qué es una macro
• Insertar botones de Formularios y asociarlos a una macro
• Insertar botones de imprimir y algunos códigos VBA
• Registro de Datos en una hoja nueva
• Utilizar una Función de Pesos a letras
• Validación de datos y Validación de datos con fórmulas.
2. Puedes ver el video de este tutorial
en:
• http://youtu.be/cxJf28Ky2Lk
• Además de:
Insertar controles o diálogos en Excel 2010
http://youtu.be/4TH7Uu8Uqqc
Función digito verificador, listas dependientes,
validación fecha Excel 2010
http://youtu.be/GrMq-eEd1o0
3. ¿Qué es una macro?
Una macro es un comando, conjunto de
instrucciones, que podemos programar para que
Excel haga cosas que se supone que no realiza.
Una macro es un supercomando: un
procedimiento que realiza, en un solo paso, una
tarea que normalmente requeriría varias
instrucciones y mucho tiempo.
4. Función Dígito Verificador
Function dv(a)
j=2
For I = 0 To Len(a) - 1
aux = aux + Val(Mid$(a, Len(a) - I, 1)) * j
If j > 6 Then
j=2
Else
j=j+1
End If
Next I
aux1 = 11 - (aux Mod 11)
If aux1 < 10 Then
dv = aux1
Else
dv = "K"
End If
End Function
otro ejemplo en:
http://v3.juque.cl/weblog/2006/06/14/validar-rut-en-excel.html
5. Function PesosMN(tyCantidad As Currency) As String
Dim lyCantidad As Currency, lyCentavos As Currency, lnDigito As Byte, lnPrimerDigito As Byte, lnSegundoDigito As Byte, lnTercerDigito As Byte, lcBloque As String, lnNumeroBloques As Byte, lnBloqueCero
Dim laUnidades As Variant, laDecenas As Variant, laCentenas As Variant, I As Variant 'Si esta como Option Explicit
tyCantidad = Round(tyCantidad, 2)
lyCantidad = Int(tyCantidad)
lyCentavos = (tyCantidad - lyCantidad) * 100
laUnidades = Array("UN", "DOS", "TRES", "CUATRO", "CINCO", "SEIS", "SIETE", "OCHO", "NUEVE", "DIEZ", "ONCE", "DOCE", "TRECE", "CATORCE", "QUINCE", "DIECISEIS", "DIECISIETE", "DIECIOCHO", "DIECINUEVE",
"VEINTE", "VEINTIUN", "VEINTIDOS", "VEINTITRES", "VEINTICUATRO", "VEINTICINCO", "VEINTISEIS", "VEINTISIETE", "VEINTIOCHO", "VEINTINUEVE")
laDecenas = Array("DIEZ", "VEINTE", "TREINTA", "CUARENTA", "CINCUENTA", "SESENTA", "SETENTA", "OCHENTA", "NOVENTA")
laCentenas = Array("CIENTO", "DOSCIENTOS", "TRESCIENTOS", "CUATROCIENTOS", "QUINIENTOS", "SEISCIENTOS", "SETECIENTOS", "OCHOCIENTOS", "NOVECIENTOS")
lnNumeroBloques = 1
Do
lnPrimerDigito = 0
lnSegundoDigito = 0
lnTercerDigito = 0
lcBloque = ""
lnBloqueCero = 0
For I = 1 To 3
lnDigito = lyCantidad Mod 10
If lnDigito <> 0 Then
Select Case I
Case 1
lcBloque = " " & laUnidades(lnDigito - 1)
lnPrimerDigito = lnDigito
Case 2
If lnDigito <= 2 Then
lcBloque = " " & laUnidades((lnDigito * 10) + lnPrimerDigito - 1)
Else
lcBloque = " " & laDecenas(lnDigito - 1) & IIf(lnPrimerDigito <> 0, " Y", Null) & lcBloque
End If
lnSegundoDigito = lnDigito
Case 3
lcBloque = " " & IIf(lnDigito = 1 And lnPrimerDigito = 0 And lnSegundoDigito = 0, "CIEN", laCentenas(lnDigito - 1)) & lcBloque
lnTercerDigito = lnDigito
End Select
Else
lnBloqueCero = lnBloqueCero + 1
End If
lyCantidad = Int(lyCantidad / 10)
If lyCantidad = 0 Then
Exit For
End If
Next I
Select Case lnNumeroBloques
Case 1
PesosMN = lcBloque
Case 2
PesosMN = lcBloque & IIf(lnBloqueCero = 3, Null, " MIL") & PesosMN
Case 3
PesosMN = lcBloque & IIf(lnPrimerDigito = 1 And lnSegundoDigito = 0 And lnTercerDigito = 0, " MILLON", " MILLONES") & PesosMN
End Select
lnNumeroBloques = lnNumeroBloques + 1
Loop Until lyCantidad = 0
PesosMN = "SON: " & PesosMN & IIf(tyCantidad > 1, " PESOS ", " PESO ")
Fuente: http://gchable.wordpress.com/2007/10/14/4/
End Function
6. Validación datos con fórmula
=SUMAPRODUCTO(((ESERR(ENC
ONTRAR((EXTRAE(MAYUSC(E15)
;FILA(INDIRECTO("1:"&LARGO(E
15)));1));"AÁBCDEÉFGHIÍJKLMN
ÑOÓPQRSTUÚVWXYZ "))))*1)=0
Fuente: http://dataage.blogspot.com/2009/01/validar-caracteres-contenidos-en-un.html
7. Agrega datos de registro a otra hoja
Sub REGISTRO()
'agrega la fecha en la hoja Registro
Range("E4").Select
Selection.Copy
Sheets("REGISTRO ").Select
Range("A6").Select
Selection.Insert Shift:=xlDown
'agrega nombre en la hoja Registro
Sheets("INGRESO DE DATOS").Select
Range("E15").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("REGISTRO ").Select
Range("B6").Select
Selection.Insert Shift:=xlDown
…………………………………………. Lo mismo para todos los datos que se deseen agregar en otra hoja.
8. Limpia los datos de ingreso
Sheets("INGRESO DE DATOS").Range("E4").ClearContents
Sheets("INGRESO DE DATOS").Range("E15").ClearContents
Sheets("INGRESO DE DATOS").Range("E16").ClearContents
Sheets("INGRESO DE DATOS").Range("E17").ClearContents
Sheets("INGRESO DE DATOS").Range("E18").ClearContents
Sheets("INGRESO DE DATOS").Range("E19").ClearContents
Sheets("INGRESO DE DATOS").Range("E20").ClearContents
Sheets("INGRESO DE DATOS").Range("E21").ClearContents
Sheets("INGRESO DE DATOS").Range("E7").ClearContents
Sheets("INGRESO DE DATOS").Range("F14").ClearContents
End Sub
Fuente: http://dataage.blogspot.com/2009/01/validar-caracteres-contenidos-en-un.html