Tutorial n°3 excel 2010

10
Tutorial N°3 Excel 2010 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. Prof. Cristian Salazar C. [email protected]

description

En este tutorial aprenderemos :Qué es una macroInsertar botones de Formularios y asociarlos a una macroInsertar botones de imprimir y algunos códigos VBARegistro de Datos en una hoja nuevaUtilizar una Función de Pesos a letrasValidación de datos y Validación de datos con fórmulas.

Transcript of Tutorial n°3 excel 2010

Page 1: Tutorial n°3 excel 2010

Tutorial N°3 Excel 2010

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.

Prof. Cristian Salazar [email protected]

Page 2: Tutorial n°3 excel 2010

Puedes ver el video de este tutorial en:

• http://youtu.be/cxJf28Ky2Lk

• Además de:Insertar controles o diálogos en Excel 2010http://youtu.be/4TH7Uu8UqqcFunción digito verificador, listas dependientes, validación fecha Excel 2010http://youtu.be/GrMq-eEd1o0

Page 3: Tutorial n°3 excel 2010

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

Page 4: Tutorial n°3 excel 2010

Función Dígito VerificadorFunction 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 IfEnd Function

otro ejemplo en:http://v3.juque.cl/weblog/2006/06/14/validar-rut-en-excel.html

Page 5: Tutorial n°3 excel 2010

Function PesosMN(tyCantidad As Currency) As StringDim lyCantidad As Currency, lyCentavos As Currency, lnDigito As Byte, lnPrimerDigito As Byte, lnSegundoDigito As Byte, lnTercerDigito As Byte, lcBloque As String, lnNumeroBloques As Byte, lnBloqueCeroDim laUnidades As Variant, laDecenas As Variant, laCentenas As Variant, I As Variant 'Si esta como Option ExplicittyCantidad = Round(tyCantidad, 2)lyCantidad = Int(tyCantidad)lyCentavos = (tyCantidad - lyCantidad) * 100laUnidades = 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 = 1DolnPrimerDigito = 0lnSegundoDigito = 0lnTercerDigito = 0lcBloque = ""lnBloqueCero = 0For I = 1 To 3lnDigito = lyCantidad Mod 10If lnDigito <> 0 ThenSelect Case ICase 1lcBloque = " " & laUnidades(lnDigito - 1)lnPrimerDigito = lnDigitoCase 2If lnDigito <= 2 ThenlcBloque = " " & laUnidades((lnDigito * 10) + lnPrimerDigito - 1)ElselcBloque = " " & laDecenas(lnDigito - 1) & IIf(lnPrimerDigito <> 0, " Y", Null) & lcBloqueEnd IflnSegundoDigito = lnDigitoCase 3lcBloque = " " & IIf(lnDigito = 1 And lnPrimerDigito = 0 And lnSegundoDigito = 0, "CIEN", laCentenas(lnDigito - 1)) & lcBloquelnTercerDigito = lnDigitoEnd SelectElselnBloqueCero = lnBloqueCero + 1End IflyCantidad = Int(lyCantidad / 10)If lyCantidad = 0 ThenExit ForEnd IfNext ISelect Case lnNumeroBloquesCase 1PesosMN = lcBloqueCase 2PesosMN = lcBloque & IIf(lnBloqueCero = 3, Null, " MIL") & PesosMNCase 3PesosMN = lcBloque & IIf(lnPrimerDigito = 1 And lnSegundoDigito = 0 And lnTercerDigito = 0, " MILLON", " MILLONES") & PesosMNEnd SelectlnNumeroBloques = lnNumeroBloques + 1Loop Until lyCantidad = 0PesosMN = "SON: " & PesosMN & IIf(tyCantidad > 1, " PESOS ", " PESO ")

End Function

Fuente: http://gchable.wordpress.com/2007/10/14/4/

Page 6: Tutorial n°3 excel 2010

Validación datos con fórmula

=SUMAPRODUCTO(((ESERR(ENCONTRAR((EXTRAE(MAYUSC(E15);FILA(INDIRECTO("1:"&LARGO(E15)));1));"AÁBCDEÉFGHIÍJKLMNÑOÓPQRSTUÚVWXYZ "))))*1)=0

Fuente: http://dataage.blogspot.com/2009/01/validar-caracteres-contenidos-en-un.html

Page 7: Tutorial n°3 excel 2010

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.

Page 8: Tutorial n°3 excel 2010

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

Page 9: Tutorial n°3 excel 2010

Códigos Botones

Sub Botón3_Haga_clic_en()Hoja1.PrintPreviewEnd Sub

Sub REGRESAR()Hoja1.ActivateEnd Sub

Page 10: Tutorial n°3 excel 2010

Tutorial N°3 Excel 2010

Prof. Cristian Salazar [email protected]

www.facebook.com/economicasuach