Sie sind auf Seite 1von 29

INFORMATICAI

INFORMATICAI

MicrosoftExcel

Historia
ExcelfueoriginalmentedesarrolladoparaelAppleMacintoshen1984yporelreconocidoBill
Gates,comocontinuacindeMultipln.MicrosoftExcelfueunadelasprimerasaplicacionesde
hojadeclculoenutilizarunainterfasegrficaconmens"pulldown"ymanejoconpunterode
ratn. Cuando Microsoft lanz el sistema operativo Windows en 1985, Excel fue una de las
primerasaplicacionesparaestaplataforma.DurantecercadetresaosExcelfuelanicaaplicacin
dehojadeclculoenentornoWindows,hastaelveranode1988.

PlanilladeClculo
UnarchivodeMicrosoftExcelconstadelibroquecontieneunaomshojas.Unahojaestaformada
porfilasycolumnasquesecruzanparaformarceldasqueguardandatos.Losdatospuedenser
nmerosotextosquepuedenintroducirfrmulasquecalculanvaloresbasadosenreferenciasa
otrosnmerosdellibro.

CaractersticasPrincipales
Esunprogramadefcilmanejoymuypotente.
Losclculosenesteprogramanosoncomparablesporquemientrasnoseespecifiquelo
contrariosonexactosenExcelsonmuyprecisos.
UnadelasposibilidadesdeExcelesladepresentarlosdatosestticamente,esdecircon
variostiposdebordes,usarvariostiposdeletra.
Puedeutilizarhojasparaalmacenardatosnumricos
UtilizarlasrdenesyherramientasdeMicrosoftExcelparaejecutarclculosconsusdatos.
Puedeordenar,reorganizar,analizarypresentardatos fcilmente,comosonlacopia,el
INFORMATICAI

desplazamiento, la ordenacin, la consolidacin, la representacin grfica y las tablas


dinmicas.
PuedeenExcelsumarfilasycolumnas.
Puedecrearfrmulaspararealizarclculossimplesocomplejos.
LautilizacindelascasillasdelExcelpararealizarevaluacionesdeunamismafuncincon
diferentesvalores,esunadelascaractersticasprincipalesdeesteherramienta
EnExcelpermiteinsertary/oeliminarceldas,filasycolumnas,sinafectarelrestodela
informacin,siestanoestuvierarelacionada.
Podemoscreargrficos.Ungrficoeslarepresentacingrficadelosdatosdeunahojade
clculofacilitandodeestamanerasuinterpretacin.Alahoradecrearungrfico,Excel
disponedeunasistentequenosguiarenlacreacindeste.Puedecreargrficosdedos
formas:enlamismahojaquesusdatosoenunahojadegrficoaparteenelmismolibrode
trabajo.

ExcelesunahojadeclculointegradaenMicrosoftOffice.Estoquieredecirqueseintegraaotro
programasdeOffice,comoWord,Access,Outlook,PowerPoint,...Resultamuyfamiliarutilizar
Excel,yaquemuchosiconosycomandosfuncionandeformasimilarentodoslosprogramasde
Office.
INFORMATICAI

Esteesunprogramacapazdetrabajarconnmerosdeformasencillaeintuitiva.Paraelloseutiliza
unacuadrculadondeencadaceldadelacuadrculasepuedenintroducirnmeros,letrasygrficos.

TiposdeDatos
*VALORESCONSTANTES,esdecir,undatoqueseintroducedirectamenteenunacelda.
Puedeserunnmero,unafechauhora,ountexto.
*FRMULAS,esdecir,unasecuenciaformadapor:valoresconstantes,referenciasaotras
celdas,nombres,funciones,uoperadores.Esunatcnicabsicaparaelanlisisdedatos.Sepueden
realizardiversasoperacionesconlosdatosdelashojasdeclculocomo+,,x,/,Sen,Cos,etc...En
una frmula se pueden mezclar constantes, nombres, referencias a otras celdas, operadores y
funciones.Lafrmulaseescribeenlabarradefrmulasydebeempezarsiempreporelsigno=.
Ejemplo=a3*5,=a3*b6,etc

ErrorenlosDatos
Cuando introducimos una frmula en una celda puede ocurrir que se produzca un error.
DependiendodeltipodeerrorpuedequeExcelnosaviseono.Cuandonosavisadelerror,el
cuadrodedilogoqueaparecetendrelaspectoquevesaladerecha:
apareceacontinuacin:

TiposdeOperadores
Losdistintostiposdeoperadoresquesepuedenutilizarenunafrmulason:
OPERADORESARITMTICOS:seempleanparaproducirresultadosnumricos.Ejemplo:+*/
%^
OPERADORTIPOTEXTO:seempleaparaconcatenarceldasquecontengantexto.Ejemplo:AA
OPERADORES RELACIONALES:seempleanparacompararvalores yproporcionarunvalor
lgico(verdaderoofalso)comoresultadodelacomparacin.Ejemplo:<>=<=>=<>
INFORMATICAI

OPERADORESDEREFERENCIA:indicanqueelvalorproducidoenlaceldareferenciadadebe
serutilizadoenlafrmula.EnExcelpuedenser:
OPERADORDERANGO:indicadopordospuntos(:),seempleaparaindicarunrangodeceldas.
Ejemplo:A1:G5
OPERADORDEUNION:indicadoporunacoma(,),unelosvaloresdedosomsceldas.Ejemplo:
A1,G5
LosoperadoresdeCOMPARACIONtienentodoslamismaprioridad,esdecirquesonresueltosde
izquierdaaderecha,enelordenenqueaparecen.

Losoperadoreslgicosyaritmticossonresueltosenelsiguienteordendeprioridad(demayora
menor):

Funciones
Unafuncinesunafrmulaespecialescritaconanticipacinyqueaceptaunvalorovalores,
realizaunosclculosconesosvaloresydevuelveunresultado.
TodaslasfuncionestienenqueseguirunasintaxisysistanoserespetaExcelnosmostrarun
mensajedeerror.
1)Losargumentosovaloresdeentradavansiempreentreparntesis.Nodejarespacios
antesodespusdecadaparntesis.
2)Losargumentospuedenservaloresconstantes(nmerootexto),frmulasofunciones.
3)Losargumentosdebendesepararseporunpuntoycoma";".
Ejemplo:=SUMA(A1:B3)estafuncinequivalea=A1+A2+A3+B1+B2+B3
INFORMATICAI

Funcionestiles.

InformesdeTablasDinmicas
Uninformedetabladinmica,esunatablainteractivaquecombinaycompararpidamentegrandes
volmenesdedatos.Podrgirarlasfilasylascolumnasparaverdiferentesresmenesdelosdatos
deorigen,ymostrarlosdetallesdedeterminadasreasdeinters.
Esmuytilcuandosedeseacomparartotalesrelacionados,sobretodositieneunalistalargade
nmerospararesumirydesearealizarcomparacionesdistintasconcadanmero.
Enlosinformesdetabladinmica,cadacolumnaocampodelosdatosdeorigenseconvierteenun
campodetabladinmicaqueresumevariasfilasdeinformacin.
Uncampodedatos,comoSumadeventas,proporcionalosvaloresquevanaresumirse.
INFORMATICAI

Paracrearuninformedetabladinmica,ejecuteelAsistenteparatablasygrficosdinmicos.Enel
asistente,seleccionelosdatosdeorigenquedeseeenlalistadehojasdeclculoolabasededatos
externa.
Acontinuacin,elasistenteproporcionaunreadehojadeclculoparaelinformeyunalistadelos
camposdisponibles.Amedidaquevaarrastrandoloscamposdesdelaventanadelistahastalas
reasdecolocacin,MicrosoftExcelresumeycalculaelinformeautomticamente.
SiutilizaunaconexindedatosdeOfficepararecuperardatosexternosparaelinforme,puede
devolverlosdatosdirectamenteauninformedetabladinmicasinejecutarelAsistenteparatablas
ygrficosdinmicos.
LasconexionesdedatosdeOfficesonelmtodorecomendadopararecuperardatosexternospara
losinformessinotienequecombinardatosdemsdeunatabladelabasededatosexternanifiltrar
losdatosparaseleccionarregistrosespecficosantesdecrearelinforme,ypararecuperardatosde
lasbasesdedatosOLAP.
Despusdecrearuninformedetabladinmica,puedepersonalizarloparadestacarlainformacin
quedesee,cambiandoeldiseooformatoomostrandodatosmsdetallados.
NotaDespusderealizarestecambioenungrficodinmicooensuinformedetabladinmica
asociado,puedequesehayaperdidopartedelformatodelgrfico.

Glosario:
Tabla:conjuntodedatosacercadeuntemadeterminadoquesealmacenaenregistros(filas)y
campos(columnas).
BasedeDatos:coleccindedatosrelacionadosconunfinotemaconcreto.Dentrodeunabasede
datos,lainformacinsobreunaentidadenparticular,comounempleadoounpedido,secategoriza
entablas,registrosycampos.
OLAP: tecnologa de base de datos que se ha optimizado para la elaboracin de consultas e
informes,enlugardedeprocesartransacciones.LosdatosOLAPseorganizanjerrquicamenteyse
almacenanencubosenlugardetablas.
InformedeTablaDinmica:informedeExcelinteractivodetablascruzadasqueresumeyanaliza
datos,comoregistrosdeunabasededatos,devariosorgenes,incluidoslosquesonexternosa
Excel.
Cubo:estructuradedatosOLAP.uncubocontienedimensiones,comoPas,Regin,Ciudad,y
camposdedatos,comondicedeventas.Lasdimensionesorganizanlostiposdedatosenjerarquas
connivelesdedetalleycantidadesdemedidadecamposdedatos.

Teclastiles
INFORMATICAI

Macros
Las macros son grupos de instrucciones que tienen un seguimiento cronolgico usadas para
economizartareas;unamacronoesmsqueunconjuntodeexpresiones(instrucciones)talescomo
"borrararchivo","aadirregistro",etc.,yquesealmacenanenunaubicacinespecial.
Conelfindeevitaralprogramadorlatediosarepeticindepartesidnticasdeunprograma,los
ensambladores y compiladores cuentan con macroprocesadores que permiten definir una
abreviaturapararepresentarunapartedeunprogramayutilizaresaabreviaturacuantasvecessea
necesario.
Elprogramadorescribirelnombredelamacroencadaunodeloslugaresdondeserequierala
aplicacindelasinstruccionesporellarepresentadas.Ladeclaracinserealizaunasolavez,perola
utilizacinoinvocacinalamacro(macrollamada)puedehacersecuantasvecesseanecesario.
Lautilizacindemacrosposibilitalareduccindeltamaodelcdigofuente,aunqueelcdigo
objetotiendeasermayorquecuandoseutilizanfunciones.
Estancomnelempleodemacroinstruccionesqueselesconsideracomounaextensindelos
lenguajes.Demanerasimilarseconsideraalprocesadordemacroinstruccionesomacroprocesador
comounaextensindelensambladorocompiladorutilizado.Elmacroprocesadorseencarga,en
unaprimerapasada,deregistrartodaslasdeclaracionesdemacrosyderastrearelprogramafuente
paradetectartodaslasmacrollamadas.
Encadalugardondeencuentreunamacrollamada,elmacroprocesadorharlasustitucinporlas
instrucciones correspondientes. A este proceso de sustitucin se le denomina expansin de la
INFORMATICAI

macro.Elmacroprocesadorelaboradostablasparaelmanejodelasmacros.

GrabadordeMacros
Esunprogramaquepermiteregistrarcomandosestndar.Elgrabadordemacroscompruebaqu
comandossellaman,ylostraduceautomticamenteenlneasdeprograma.

PasosParaGrabarunaMacro

EstablezcaelniveldeseguridadenMediooBajo
EnelmenHerramientas,elijaMacroyhagaclicenGrabarnuevamacro
INFORMATICAI

EnelcuadroNombredelamacro,escribaunnombreparalaMacro.

Sideseaincluirunadescripcindelamacro,escrbalaenelcuadroDescripcin.

HagaclicenAceptar.

EnlabarradeherramientasDetenergrabacin,hagaclicenlaopcinReferenciasrelativas
paraseleccionarla.Excelcontinuargrabandomacrosconreferenciasrelativashastaque
terminelasesinconExcelohastaquehagaclicotravezenlaopcinReferenciasrelativas
paraquenoestseleccionada.

Ejecutelasaccionesquedeseegrabar.
EnlaBarradeherramientasDetenerGrabacin.

CreacindeMacrosenVisualBasic
*EnelmenHerramientasdeMicrosoftExcel,seleccioneMacroydespushagaclicenEditor
deVisualBasic.
*EnelmenInsertar,hagaclicenMdulo.
*Escribaocopieelcdigoenlaventanadecdigodelmdulo.
*SideseaejecutarlaMacrodesdelaventanadelmdulo,presioneF5.
*Unavezescritalamacro,hagaclicenCerraryvolveraMicrosoftExcelenelmenArchivo

Programacindemacros
El lenguaje Visual Basic para Aplicaciones (VBA), en el contexto de Excel, constituye una
herramientadeprogramacinquenospermiteusarcdigoVisualBasicadaptadoparainteractuar
con las mltiples facetas de Excel y personalizar las aplicaciones que hagamos en esta hoja
electrnica.
LasunidadesdecdigoVBAsellamanmacros.Lasmacrospuedenserprocedimientosdedos
tipos:
Funciones(Function)
Subrutinas(Sub)
Las funciones pueden aceptar argumentos, como constantes, variables o expresiones. Estn
restringidas a entregar un valor en una celda de la hoja. Las funciones pueden llamar a otras
funcionesyhastasubrutinas(enelcasodequenoafectenlaentregadeunvalorenunasolacelda)
Una subrutina realiza acciones especficas pero no devuelven ningn valor. Puede aceptar
argumentos,comoconstantes,variablesoexpresionesypuedellamarfunciones.
Con las subrutinas podemos entregar valores en distintas celdas de la hoja. Es ideal para leer
parmetrosenalgunasceldasyescribirenotrasparacompletaruncuadrodeinformacinapartirde
losdatosledos.
INFORMATICAI

Editaryejecutarmacros.
LasfuncionesylassubrutinassepuedenimplementareneleditordeVisualBasic(AltF11).
ParausarunafuncinenunahojadeExcelsedebe,eneleditordeVB,insertarunmduloyeditar
lafuncinenestemdulo.Delamismamanerasepuedeneditarsubrutinasenunmdulo.Una
funcinseinvocaenunahoja,comoseinvocaunafuncindeExcelounafrmula.Unasubrutina
sepuedeinvocarporejemplodesdelaventanadeejecucindemacros(AltF8)odesdeunbotn
quehaceunallamadaalasubrutina(comorespuestaaleventodehacerclicsobrel,porejemplo).
Elcdigoqueejecutaunbotnpuedellamarasubrutinasyalasfuncionesdelahoja.Elcdigodel
botnnoestenunmdulo.Enlahojadeedicindondeseencuentraelcdigodelbotn,se
puedenimplementarfuncionesparausodeestecdigoperoqueserndesconocidasparalahoja
(mensajedeerror#NOMBRE?).
Nota:unerrorfrecuenteeseditarunafuncinenunmduloquecorrespondeaunahojayllamarlo
desdeotrahoja.Enestecasosedespliegaelerror(mensajedeerror#NOMBRE?).

Funciones
Unafuncintienelasiguientesintaxis:
FunctionNombreFun(arg1,arg2,...,argn)
DeclaracindeVariablesyconstantes
Instrucccin1
Instrucccin2
Instrucccink
NombreFun=Valorderetornocomentario
EndFunction
Unafuncinpuedeteneronotenerargumentos,peroesconvenientequeretorneunvalor.Observe
quesedebeusarelnombredelafuncinparaespecificarlasalida:

NombreFun=Valorderetorno
Nota1:Alinteriordelasfunciones,sepuedenhacercomentariosutilizando(antesdeestos)la
comilla().
Nota2:ParaelusodenombresdevariablesodecualquierotrapalabrareservadadeVBA,nose
discriminaentreelusodeletrasmaysculasyminsculas.
Ejemplo1:implementarunafuncin.
Vamosaimplementarcomounamacrolafuncinconlaquesetrabajopreviamente:
INFORMATICAI

Parasudefinicinyutilizacin,sesiguenlospasos:
1. IngresamosalmenyenlaopcinHerramientasseleccionamosMacros.Luegoseelige
EditordeVisualBasic:

2.Nuevamente,enelmendelaventanaqueseabre,seeligeInsertar,paraluegoseleccionar
Mdulo:
3.Ahoraenlapantalladeedicindelmdulo,escribimoselsiguientecdigo:
Functionf(x)
f=2*x^3+Log(x)Cos(x)/Exp(x)+Sin(x)
EndFunction
4. Una vez que ha sido editado el cdigo del macro, se salva y salimos del ambiente de
programacinenVisualBasicparavolveralahojaelectrnicadedondepartimos.Estosehaceen
elmenArchivo,seleccionandoCerraryVolveraExcel.

5. Paraevaluarlafuncinf(x)enalgunosvaloresqueselocalicen,porejemplo,desdelala3
hastalala6delacolumnaB,nossituamosenunaceldaenlaquenosinteresedejarel
INFORMATICAI

resultadodedichaevaluacinysedigita+f(B3).LuegosearrastrahastaC6paracopiarla
frmula,quedando:

ProgramacinenVisualBasicScript

Introduccin

Visual Basic Script es un lenguaje de programacin, esto es, una forma de decirle al Sistema que
debe hacer. Los lenguajes de programacin son utilizados por los "informticos" creando
programas. De hecho, incluso el propio Windows est hecho con uno. Por decirlo de alguna manera,
es la forma de comunicarnos con la Computadora para crear programas.
Por otro lado, existen muchsimos lenguajes de programacin hoy en da. clasificacin para poder
elegir el ms apropiado para cada ocasin. Porque no todos los lenguajes son iguales y sirven para
lo mismo. De esta forma, inicialmente se hizo una clasificacin, que divida a los lenguajes en dos
categoras:

De bajo nivel:Son aquellos que utilizan expresiones y recursos que controlan directamente todo lo
que pasa en la computadora a nivel lgico. Por ejemplo, para escribir en un archivo, se debe enviar
una interrupcin al procesador y enviarle los datos de acceso a registros del procesador concretos,
esperando a la vez una respuesta. Son lenguajes difciles de aprender, costosos de programar (los
programas mas sencillos ocupan mas de mil lneas...) pero mas rpidos y eficaces, pues tienes el
control absoluto sobre el programa.

De alto nivel: Son aquellos que utilizan expresiones y recursos familiares a la lengua diaria
(inglesa, por supuesto). Dan por supuestas muchas cosas para facilitar el trabajo a los
programadores y son mucho ms fciles de aprender y programar. Hoy en da, casi todos los
lenguajes son de alto nivel, ya que con ellos, por ejemplo, escribir en un archivo es tan sencillo
como indicar el nombre del mismo, y lo que quieres escribir. Existen muchsimos (C, Delphi, Ruby,
VB, Pascal...), y entre ellos se encuentra el VBScript.

ControldelFlujo
INFORMATICAI

El control del flujo en un script es esencial, y para ello veremos diversas funciones que lo permiten.
La primera es la sentencia If. La sentencia If, recibe el nombre de sentencia porque no va en una
sola lnea, y adems, altera el flujo de ejecucin del script: es un condicional. Me explico, la
sentencia If se encarga de evaluar una expresin y ejecutar un trozo de script si se cumple.
Pongamos un ejemplo:
Ifvar1=0Then
'Funcionesqueseejecutaransilacondicinsecumple(variableesiguala0)
Else
'Funcionesqueseejecutaransilacondicinnosecumple(variablediferentea0)
EndIf

Esta sentencia no se coloca en una sola lnea, sino en varias.


Se encarga de que, si la variable var1 es 0, se ejecuten unas acciones, mientras que si no lo es, se
ejecuten otras. La palabra If indica el inicio de la condicional, luego le sigue una expresin que
indica la condicin, luego la palabra Then, que indica la ejecucin de unas funciones si la expresin
es verdadera. Mas abajo se encuentra el Else, que se podra traducir como 'si no', y finalmente, el
End If que indica el final de la condicional.
Veamos otro ejemplo:
var1=3
Ifvar1=0Then
var2="Elvalorintroducidoes0"
Else
var2="Elvalorintroducidonoes
0"
EndIf
Esta claro que en este caso var2 obtendr el valor "El valor introducido no es 0", porque si damos a
var1 el valor 3, y luego decimos que si es 0 reciba un valor, y si no otro, claro est, que el valor que
recibir es el de debajo del Else.
Bien, ahora fijmonos en la expresin que impone una condicin: var1 = 0. El signo igual no es el
nico que se puede utilizar en una condicional, tambin existen el mayor que ( > ), menor que ( < ),
menor o igual que ( <= ), mayor o igual que ( >= ) y diferente de ( <> ). De esa forma, en el
siguiente ejemplo, se impone una condicin diferente a la igualdad:
var1=3
Ifvar1<0Then
var2="Elvalorintroducidoesmenorque
0"
Else
var2="Elvalorintroducidoesmayorque
0"
EndIf
Supongo que no tiene mas dificultad, ya que, obviamente, var2 obtendr el valor "El valor
introducido es menor que 0". Es necesario saber que tambin se pueden introducir condicionales
dentro de condicionales. Pongamos un ejemplo, que puede resultar ya un poco ms complejo:
INFORMATICAI

If variable = 0 Then
'Funciones que se ejecutaran si variable es igual a 0. (Funcin 1)
Else
If variable > 0 Then
'Funciones que se ejecutaran si variable es mayor que 0. (Funcin 2)
Else
'Funciones que se ejecutaran si variable es menor que 0. (Funcin 3)
End If
End If

Esto dara como resultado algo as:

Deestaformapodemosdecirque:
Ifvar1=0Then
'Funcionesqueseejecutaransilacondicinsecumple(variableesiguala0)
Else
'Funcionesqueseejecutaransilacondicinnosecumple(variablediferentea0)
EndIf
Ejemplos:
IfHoja1.Cells(1,1).Value="AAA"Then

Hoja1.Cells(1,2).Value="FUNCIONA"

EndIf

SubPRUEBA()
INFORMATICAI

Fori=1To10

IfHoja1.Cells(i,1)="AAA"Then

Hoja1.Cells(i,2)="Funciona"

EndIf

Next

EndSub

Flujosecuencial

Elflujosecuencialconsisteenseguirunasecuenciadepasosquesiguenunordenpredeterminado.

Porejemplo,unprogramaqueapartirdeunnmeroNdedas,calculalacantidaddesegundosque
hayenestacantidaddedas.Esteprogramasepuedevercomounasecuenciadevariospasos:

Inicio:IngresaelnmeroNdedas
Paso1:H=24*N,paradeterminarlacantidaddehoras
Paso2:M=60*H,paradeterminarlacantidaddeminutos.
Paso3:S=60*M,paradeterminarlacantidaddesegundos.
Paso4:RetorneS.
Fin.
INFORMATICAI

Figura 14. Flujo secuencial

Lamacrocorrespondienteaestasecuenciadeclculospuedeescribirsecomosigue:

Function CalculeSegundos(Dias)
CantHoras = 24 * Dias
CantMinutos = 60 * CantHoras
CalculeSegundos = 60 * CantMinutos
End Function

Flujo condicional (If - Else)


Unflujocondicionalsepresentaenunprogramaoprocedimientoquedebeescogerunaaccino
procesoaejecutar,dependiendodecondicionesquepuedancumplirse.
Elcasomssencilloocurrecuandoelprogramaverificasiunacondicinsecumpleyencasodeser
verdaderaejecutaunproceso,entantoquesiesfalsaejecutaotroproceso.
EnVBAtenemoslainstruccin
If...Then...Else

Ejecutacondicionalmenteungrupodeinstrucciones,dependiendodelvalordeunaexpresin.

Sintaxis

IfcondicinTheninstruccionesElseinstruccioneselse

Puedeutilizarlasiguientesintaxisenformatodebloque:

IfcondicinTheninstruccionesElseIfcondicinTheninstruccioneselseif...Else
INFORMATICAI

instruccioneselseEnd If

Ejemplo2

EnesteejemploveremoscmousarlainstruccinIf...Then...Else

Obtenerunprogramaquecalculeaproximacionesde ,sabiendoquelasucesin

convergea ,definidaenformarecurrentemediantelarelacin:

Elprogramadeberestimarelerrorabsolutodelasaproximacionesysercapazdeescribirun
mensajedexitoodefracaso,dependiendodesielerrorabsolutoesonomenorqueunatolerancia
dada.

Paralosresultadosqueaparecenenlagrficaanteriorpuedenprogramarselassiguientemacrosparaser
evaluadasencadacolumna:
INFORMATICAI

Function AproxDeRaiz(x)
AproxDeRaiz = (1 / 2) * (x + 2 / x)
End Function
Function CalculoElError(Aproximacion, ValorExacto)
CalculoElError = Abs(Aproximacion - ValorExacto)
End Function
Function verificaTol(Error, Tol)
If (Error < Tol) Then
verificaTol = "EXITO"
Else
verificaTol = "FRACASO"
End If
End Function

Eldiagramasiguienteilustralaformaenqueestaltimafuncindeverificacinactaconbase
enelvalordesusdosparmetrosdeentrada:

Flujo repetitivo (For-Next, While-Wend)


Elflujorepetitivosepresentaenunalgoritmocuandoserequierelaejecucindeunproceso
opartedeunprocesosucesivamente,hastaqueocurraunacondicinquepermitaterminar.
Estetipodeflujosrepetitivossepresentanentresformasqueobedecenamanerasdiferentesde
razonarlosperoqueenelfondohacenlomismo:
Utilizaruncontadorqueempieceenunnmeroytermineenotro,ejecutandoelproceso
cadavezqueelcontadortomeunvalordistinto.
Mientrasunacondicinseaverdadera,ejecutarunprocesoyregresaralacondicin.
Ejecutarunproceso,hastaqueunacondicindejedecumplirse.
EnVBAtenemoslassiguientesinstruccionespararealizarprocesositerativos:
1. For ... Next
Repiteungrupodeinstruccionesunnmeroespecificadodeveces.
Sintaxis(lasinstruccionesentre`[]'soninstruccionesadicionales)

Forcontador=inicioTofin[Stepincremento]instrucciones[Exit For]
INFORMATICAI

instrucciones
Nextcontador
2. While...Wend
EjecutaunaseriedeinstruccionesmientrasunacondicindadaseaTrue.
Sintaxis
Whilecondicin
instrucciones
Wend
Nota:NohayunExit While.Enunasubrutina,sifueranecesario,sepodrusaExit Sub
3. UnainstruccinmuyparecidaaWhileperomseficientedeDo
Sintaxis

Do whilecondicin

instrucciones

[Exit Do]

Loop

EjemplosdeFuncionesySubprogramas

FunctionFactorial(IntlAsVariant)

DimxAsInteger

Factorial=1

If(Not(IsNumeric(Intl))OrInt(Intl)<>IntlOrIntl<0)Then

MsgBox"SolosePermitenNmerosPositivos"

Factorial="#NUM!"

Else

Forx=1ToIntl

Factorial=Factorial*x

Next
INFORMATICAI

EndIf

EndFunction

ProcedimientoparaRedondeoCreadoenMacros
SubRedondeo()

ForEachrInWorksheets("Hoja1").Range("A1:B10").Cells

If(r.Value)<0.5Thenr.Value=0

Next

EndSub

SubVERIFICA()

I=1

WhileI<1000

IfHoja1.Cells(I,1).Value="AAA"Then

Hoja1.Cells(I,2).Value="FUNCIONA"

EndIf

I=I+1

Wend

EndSub

SubRECORRE2()

I=InputBox(PROMPT,"INGRESEVALOR:",1,6000,6000)

WhileI<100

IfHoja1.Cells(I,1).Value="AAA"Then

Hoja1.Cells(I,3).Value="FUNCIONA"

H=DateValue(Date$)+1

HH=I*0.25
INFORMATICAI

Hoja1.Cells(I,4).Value=H

Hoja1.Cells(I,5).Value=FormatNumber(HH,1)

Hoja1.Cells(I,6).Value=Date$

EndIf

I=I+1

Wend

MsgBox("PROCESOTERMINADOEXITOSAMENTE")

EndSub

Subprueba()

ForI=1To100

IfHoja1.Cells(I,1).Value="AAA"Then

Hoja1.Cells(I,2).Value=123

Else:Hoja1.Cells(I,2).Value=456

EndIf

Next

EndSub

SubLLENA()

ForI=1To100

Hoja1.Cells(I,1).Value="AAA"

Hoja1.Cells(I,2).Value=123

Next

EndSub
INFORMATICAI

SubMIRA()

ForI=1To10

IfHoja1.Cells(I,2).Value="FUNCIONA"Then

Hoja1.Cells(I,3).Value="SI"

Else:Hoja1.Cells(I,2).Value=456

EndIf

Next

EndSub

FunctionCalculo(IntlAsVariant)

Calculo=1

If(Intl=12)Then

Calculo=Calculo*Intl

Else

Calculo=Calculo*Intl/2

EndIf

EndFunction
INFORMATICAI

TablasDinmicasExcel
UnatabladinmicacomprendeunaseriedeDatosagrupadosenformaderesumenqueagrupan
aspectosconcretosdeunainformacinglobal.
EsdecirconunaTablaDinmicasepuedenhacerresmenesdeunaBasedeDatos,utilizndose
para,promediar,ototalizardatos.
Debesermuyimportantelacantidaddeinformacinamanejarparaqueelusodelatabladinmica
sejustifique.

Parasuutilizacin,sedeberecurriraMenDatosInformedeTablasygrficosdinmicos

PartiendodeunaPlanillaconfeccionada,tomandocomoejemplolacirculacindevehculos a
travsdeunaestacindepeaje,setratadeaplicarsobrelamismaunprincipiodeordenamientoa
travsdeunaherramientadeExcel,TablasDinmicas

A B C D
1 Mes Semana Vehculo Cantidad
2 Enero 1 Auto 105.000
3 Enero 1 Camin 1.050
4 Enero 1 mnibus 1.575
5 Enero 1 Camioneta2.100
6 Enero 1 Moto 583
7 Enero 2 Auto 120.750
8 Enero 2 Camin 1.208
9 Enero 2 mnibus 1.411
10 Enero 2 Camioneta2.015
11 Enero 2 Moto 485
12 Enero 3 Auto 122.350
13 Enero 3 Camin 1.124
14 Enero 3 mnibus 1.685
15 Enero 3 Camioneta2.247
16 Enero 3 Moto 630
17 Enero 4 Auto 99.000
18 Enero 4 Camin 990
19 Enero 4 mnibus 1.485
20 Enero 4 Camioneta1.980
21 Enero 4 Moto 544

CrearunaTablaDinmica
Lacreacindeunatabladinmicaserealizaatravsdelasistenteyenvariospasos.
1. PonerelcursorencualquierceldadelaTabla.
2. TomarlaopcinMenDatosInformedetablasygrficosdinmicos
INFORMATICAI

1Paso
Dndeestnlosdatosquedeseaanalizar?
Marcaropcin:ListaobasededatosdeMicrosoftExcel
Quetipodeinformedeseacrear?
Marcarlaopcin:Tabladinmica
clicenSiguiente

2PasoRangodeDatos
a) Seleccionarelrangodelatabla,incluyendolafiladetitulo
b) Siguiente.
INFORMATICAI
INFORMATICAI

3PasoUbicacindelaTabla

a)Seadoptoubicarlatablaenlamismahojadecalculo,determinandolaceldade
comienzodeejecucindelamisma.
b)Seindica,clicenDiseo,comienzaelmomentodedisearlatabla.
INFORMATICAI

*ArrastrarelcuadritodeSemanaaColumna.
*ArrastrarelcuadritodeVehculoaFila
*ArrastrarelcuadritodeCantidadaDatos
*Aceptar.
Aparecelatabladinmicadiseada,acompaadaporunabarradeherramientasespecialque
permitefiltrardatospordesplieguedelasmismas.
Suma de Cantidad Semana
Vehculo 1 2 3 4 Total general
Auto 105.000 120.750 122.350 99.000 447.100
Camin 1.050 1.208 1.124 990 4.371
Camioneta 2.100 2.015 2.247 1.980 8.342
Moto 583 485 630 544 2.242
mnibus 1.575 1.411 1.685 1.485 6.157
Total general 110.308 125.869 128.036 103.999 468.212
INFORMATICAI
INFORMATICAI

Suma de Cantidad Semana


Vehculo 3 4 Total general
Auto 122.350 99.000 221.350
mnibus 1.685 1.485 3.170
Total general 124.035 100.485 224.520

Resultadodelatablaalaplicarlelosfiltroscorrespondientes:
Enprimerlugarsedespliegalalistaensemanaysedesactivala1y2
EnsegundolugarsedespliegalalistaenvehculoysedesactivanlasopcionesCamin
CamionetaMoto
Cambiareldiseodelatabla
Siguiendoelmismoprocedimientosepuedecambiareldiseodelatabla,porejemplo
1.ArrastrarelcuadritodeVehculoaColumna
2. ArrastrarelcuadritodeSemanaaFila
3. ArrastrarelcuadritodeCantidadaDatos
4. Aceptar.
Obtenindoseelsiguienteelsiguienteresultado.

Suma de Cantidad Vehculo


Semana Auto Camin Camioneta Moto mnibus Total general
1 105000 1050 2100 583 1575 110308
2 120750 1207,5 2015 485 1411,25 125868,75
3 122350 1123,5 2247 630 1685,25 128035,75
4 99000 990 1980 544 1485 103999
Total general 447100 4371 8342 2242 6156,5 468211,5

AplicarFiltrosalaTabla
Siguiendoconelmismocriterio,aplicandoenVehculossedejanactivadosAutoCamin
EnSemanasedejaactivadasolamentela1y3Semana.Deloejecutadosurgeelsiguiente
resultado.
Suma de Cantidad Vehculo
Semana Auto Camin Total general
1 105000 1050 106050
3 122350 1123,5 123473,5
Total general 227350 2173,5 229523,5

Das könnte Ihnen auch gefallen