You are on page 1of 198

MANUAL

EXCEL

AVANZADO

BIOS
ManualExcelAvanzado

BIOS

MduloFuncionesAvanzadas

PrimerEjemploFuncionessimples

Dadalasiguienteplanilla:

Supongamosquelanotafinalsecalcularbasndonosenelpromediodenotasqueobtuvocada
estudianteensusparciales.
Porlotantoaplicaremoslafuncinpromedio:

=PROMEDIO(B2:D2)

Recordemosquecualquierfuncinquevayamosaaplicardebemosposicionarnossobrelacelda,y
comenzarconelsigno=oensudefectoelsigno+.

Porotroladosihubiramosqueridotomarencuentasolodosdelosparcialesdentrodel
promediotendramosque:

=PROMEDIO(B2;D2)

Enelcasodequequeramostomarrangosdiscontinuosestoseaplicaradelasiguienteforma:

=PROMEDIO(B2:D2;H2:J2)

Laplanillahastaahoraquedaraas:

Ademsenelcasodecopiarestafrmula,podramosrealizarlomediantelaopcinclsicadedar
sobreelbotnderechosobrelacelda,seleccionarlaopcincopiar,yluegomarcarelrango(en
estecasodeE3:E8)ydarlepegar.

MasalldeestaclsicaopcintambinsepodracopiarlaformuladeformasimpledandoDOBLE
CLICenelbordeinferiorderechodelaceldaquecontienelaformulaacopiar.

Enlasiguientecolumna,seharunbreverepasodelaformulacondicionalSI.
Deacuerdoaestaformuladeberaplicarse:

=SI(prueba_lgica;valorverdadero;valorfalso)

Enelcasodelaplanillaquemanejamosanteriormente,estaquedaradeestamanera:

=SI(E2<5;Reprobado;Aprobado)

SituviramosmsdeunafuncinSIparaestablecer,recordarquesiemprevamosatenerque
evaluarelconjuntodeopcionesdenuestroproblema(convienecomenzardesdeelnivelmasbajo)
yharemosunafuncinmenosqueopcionesdenuestrocaso.

=SI(E2<5;Reprobado;SI(E2<=7;Parcial;Aprobado)

NodebemosperderdevistaquelafuncinSIpuedeserutilizadaenestetipodecasos,y
concatenarhasta7funcionesSI(tenemosestelmite).

Delamismamaneraqueanteriormentelohicimos,podemoscopiarlafrmulasinproblemas.No
olvidemosquehastaahorahemosdejadodeladoeltemadeReferenciasRelativasyAbsolutasya
quenohizofaltafijarningunadelasceldasacopiar.

Vamosaarmaruncuadroadicionalanexoalaplanillaparaimplementarotrasfunciones:

Enestecuadrocalcularemoscuantosfueronlosalumnosqueobtuvieroncomocalificacin
Aprobado,ParcialyReprobado.Asuvezcalcularemosconrespectoaltotaldealumnos,el
porcentajequeobtuvocadacalificacin.

LoharemosaplicandolafuncinCONTAR.SI,delasiguientemanera:

=CONTAR.SI(F2:F8;Aprobado)

Tambinpodramoshaberescrito:

=CONTAR.SI(F2:F8;A12)

Veamosasuvezquesipensramosencopiarestafrmuladeberaquedar:

=CONTAR.SI($F$2:$F$8;A12)

Larazndelsigno$eselhechodefijarelrangoF2:F8yaquelascalificacionessonfijas,mientras
quelaceldaA12esrelativayaquecambiardefilaalcopiar.

EnlafuncinCONTAR.SItenemosencuentaelrangoaevaluar,ycomosegundoargumento
tenemoselcriterioatomarencuentaparacopiar.

SiaplicamoslafuncionCONTAR,otambinCONTARA,podremossabercuantosalumnos
tendremos.

=CONTAR(E2:E8)

EnestecasolafuncinCONTARaplicaperfectamenteparaestecasopuestoquelasceldasquese
evaluantienencontenidonumrico.

Enelcasodequererhacerunrecuentoporapellidos:

=CONTARA(A2:A8)

Aquaplicaperfectamenteyaqueestafuncinnospermiteevaluarceldasnovacas.

PasandoaotrotemaveremosacontinuacinalgunaaplicacinadicionaldelafuncinSI.

Enlasiguienteplanillaseevaluarlacalidaddelosproductossegnsudimetro.Sieldimetro
estcomprendidoentre10y20sucalidadserA,ydelocontrarioserB.

VemosqueenestecasonosoloseapliclafuncinSI,sinoquesecombinconlaopcinY
(tambinpodriamoshaberaplicadolaopcinO),delasiguientemanera:

=SI(Y(opcion1;opcion2;..);valorverdadero;valorfalso)

=SI(O(opcion1;opcion2;..);valorverdadero;valorfalso)

EnelcasodecombinarconlaopcinY,recordemosqueestaramoshablandodequesise
cumplenUNAYCADAUNADELASOPCIONESENFORMASIMULTANEAseaplicaralaopcin
verdadera,yenelcasoquenofueraasseaplicalaopcinfalsa.

MientrasqueenelcasodelasopcionesquedamosmedianteelO,conqueunadelasopciones
fuereverdadera,yaseaplicaralaopcindelvalorverdaderoenlacondicin,ysolosinose
cumpleningunadelasopcionesseaplicaraelvalorfalso.

Pasemosahoraaunnuevoejemploycontinuamosenlaaplicacindefunciones:

Enestecasoaplicamosunafuncindebsqueda,quesedenominaBUSCARV.
Recordemosquelaformadeutilizarestafuncindebsquedaeslaquesedemuestraa
continuacin:

=BUSCARV(valorbuscado;matriz;nmerodecolumna;[ordenamiento])

Enelcasoparticulardelaplanilla

=BUSCARV(A13;A2:C8;3;FALSO)

Vemosaququeelvalorbuscadohacereferenciaalaceldadondeelusuariocargareldatoenel
quesebasarlabsqueda.Estedatonodebeserpartedelamatrizdebsqueda(A2:C8)sino,
estonotendrasentidoenlabsqueda.Luegosecargalamatriz,alhacerreferenciaalamatrizno
cargamoslosttulosdelamisma,soloelcontenido(registrosdelamisma),luegocargamosla
referenciaalnmerodecolumnaquesevaaextraer,enestecasolacolumna3yaqueesladel
stock(columnacondatoaextraer)yporltimocomoargumentoOPCIONALelordendentrodela
matriz,enestecasofalsoyaquelaprimeracolumnadelamatriznoestordenadaenforma
ascendente.

AdemsenelcasodelargumentoopcionaldeORDENestotambienesrealmentesignificativoal
momentodeaplicarlacoincidenciaenlabsqueda.SiesteargumentoesFALSOylabusquedano
encuentraeldatoprecisoretornaunerror.Porejemplo:

EnestecasoalnoencontrarelArtculoA5565devuelveunerrordeltipo#N/A,odatoNO
DISPONIBLE(NotAvailable).

EncambioveamosquepasacuandoelargumentodeordenlocambiamosaVERDADERO.

Enestecaso,masallqueelproductoA5565noseencontrdetodasformasretornelvalorde
stockdelartculocuyacoincidencianoeraexacta,sinoaproximada.
Enmuchoscasoscuandolabsquedanotieneporqueserexacta,esteargumentoVERDADERO
puedeayudarnosaencontrareldatomscercanoquecoincidaconnuestrabsqueda.

EncambioanteriormentecuandoelargumentofuecambiadoporFALSO,labsquedanonos
retornabaningnvaloryaqueeldatonoloencontraba(concoincidenciaexacta)enlamatrizde
registros.

Enotroambitotambinserabuenoenunaplanillacontrolarlosingresosdeinformacin,yespor
estoquevamosaintroducireltemaVALIDACINDEREGISTROS.

VALIDACINDEDATOS

Enelcasodelaplanillaquepresentamosanteriormente,vamosacomenzarestetemade
validacintratandodequeelusuarioselimiteaagregarartculosconSTOCKentre0y300,yno
puedaintroducirunnmeromenoracero,nimayora300.

Veamoscomooperar:

1. Pintamoslasceldasdestock(celdasenlasquevamosadarlaregladevalidacin)
2. Luegovamosalmendedatosvalidacin
3. Establecemoslaregladevalidacinaoperar
4. Opcionalmentedefinimosmensajeentrante
5. Opcionalmentedefinimosmensajedeerror

Veamoselpasoencadapantalla:
EnesteprimerpasomarcamoslasceldasdeStockyluegonosdirigimosalmendeDatos
Validacin

Enelsegundopasodefinimoslaregladevalidacin:
Enestecaso,definimosqueloquevamosapermitiresunnmeroenteroendichasceldasyeste
nmerodeberestarcomprendidoentre0y300.

TenemosotrasopcionesaldesplegarelcuadroPermitir,quelasusaremosenalgunosejemplos
posteriores.

Poniendootroejemplo:

Enestecasonosposicionamosenlaceldadondelapersonavaarealizarlabsquedadelstockde
determinadoartculo(A13),ydamosunaregladevalidacinparaquesolopuedaingresarcdigos
deartculosexistentesenlamatrizdedatos:

VeamosquesucedecuandoaplicamostambinelusodelasolapadeMensajeEntrante

EstoresultarcuandolapersonaseposicionesobrelaceldaA13(enlacualsedeterminlaregla
devalidacin).

Veamoscomoenlapantallaquesemuestraacontinuacin,semuestraelmensajeentrante:

Aquvemoselmensajeentrantealposicionarnossobrelacelda

Uncomentarioconrespectoaesto,eselhechodepodertrabajarenlasreglasdevalidacin,tanto
conrangosdinmicoscomotambinconrangosconunnombredeterminado.

Veamoscomofunciona:

Enestecaso,aldarcomoorigendelalistalaseleccin:=$A:$A(referenciaalacolumnaA)

Laventajaqueselograeselhechodepoderincorporarmasartculosconsurespectivostockala
matrizdeesamaneraintegrarlosalaregladevalidacindeformaautomtica.

Aplicandoloquecomentabamos:

Enestecasoagregamosunartculoalalista,yluegovemoscomoelartculoseintegraenforma
automticaalcuadrocombinadoenlaceldaquetienelavalidacin.

DEFINIRNOMBRESARANGOS

Enelsiguienteejemploveremoscomoaplicamosenlugardeunareferenciaaunalistaformada
pordeterminadasceldas,aunrangoconunnombrepreasignado

Enprimertrminoasignaremosalrango,unnombrecomoporejemploARTICULOS

Enelreasealadaasignamoselnombrealrangodeartculos.Oseaprimero,sealamoselrango
deartculos(A2:A9)yluegoledesignamosunnombreaesterango.Deahoraenmascuandoyo
quierahacerreferenciaalasceldasA2:A9yapodremosescribirsimplementeARTICULOSqueExcel
entenderlasdireccionesalasquesehacerreferencia.

Otramaneradeplantearlasreferenciasderangosalosqueseleaplicaunnombresera:

MedianteelmenInsertarNombreDefinir,tambinpodremostantocrearrangoscon
nombre,eliminarrangosconnombre,ytambinmodificarlos.

Veamosqueendichapantallapodemosasignarelnombre,yendondedefineSerefierea:
podremosdeterminarladireccindelasceldasquevamosatenerdentrodelrango.

Enestesentidoestapantallanosdamejormanipulacinsobrelosrangos,yaquenosolo
podremosasignarlesnombresadeterminadasceldasorangos,sinomodificarladireccinalaque
hacenreferencias,comotambineliminardeterminadosnombresqueyanoseandeaplicacin
paranuestraplanilla.

Enelcasodequererasignarunrangoconnombre,enunareglavalidacin,estoquedara:

Vemosqueaqucomoorigendelalistadeterminamoselrangoconnombrequedenominamos
ARTICULOS.(Nota:Recordarelsigno=puestoquenoqueremoshacerreferenciaauntextosinoa
unrango).

FORMATOCONDICIONAL

Estetemaatratarserinteresanteparaaplicardinamismoencuantoalformatodeceldas.
Tambinnosservircomoavisoendeterminadasplanillasenlasquebusquemosquelamisma
cambiecuandounfactorsecumpla.

EstosetratadeunacombinacinentrelafuncincondicionalSIylaaplicacindeformatos
(bordes,sombreados,subrayado)enceldasyrangos.

Tenemosbsicamentedosmanerasdeaplicarestetema:

1. Aplicacindelformatocondicionaldeacuerdoalvalordeunacelda
2. Aplicacindelformatocondicionalvinculadoaunaformula.

Aplicaremosenprimerlugarunformatocondicionaldeacuerdoalvalordeunacelda.
PorejemplosiqueremosquelaplanillanossealetodoartculocuyoStockestepordebajodelas
70unidades.

Sealamosenprimerlugarelrangoalquelevamosaaplicarelformatocondicional,enestecaso
elrangoformadoporlasceldasquedeterminanelstock.
Ensegundolugarvamosalmendeformatoformatocondicional.

Enelmendeformatocondicional,enestecasolacondicindependedelValordelaCelda,ya
estevalorlopodemoscondicionarconoperadoreslgicos(<,>,<=,>=,=)porlotantopodremos
compararlosvaloresdelasceldascondichosoperadores.

Enelcasoqueveamosanteriormentedeterminamosqueevalesielvalordelaceldaesmenora
70,yencasodeserverdaderaestapruebalgica,aplicamoselformato,dndoleunatramacon
colorrojo,loquesealarlaceldadeestecolorcuandosecumplaestacondicin.

Enelcasoquequeramosaplicarmsdeunacondicinpodremosagregarhasta3condicionesen
elformatocondicional,comosemuestraenelejemploacontinuacin:

Laopcindeagregarnospermitiriragregandocondiciones,condicholmitede3condicionesen
estaherramienta.

NOTA:Laposibilidaddeagregarmscondicionesenformatocondicionalsepodrmanejardesde
MacrosenVBA.

Enelejemplovistoanteriormenteestamosaplicandocolorrojoalosartculoscuyostockestepor
debajodelas70unidades,aplicaremoscolorazulalosartculosentre70y99unidadesypor
ltimosielartculotiene100omasunidadesensustocklaceldasepintardecolordefondo
verde.

Encasodequequeramosaplicardichoformatocondicionalconestasmismascondicionespero
deseamosmarcartodalafilacuandosedelascondicionespropuestas,estoloharemos
seleccionandoenprimerlugartodalamatrizdedatos(desdeA2:C9).

Veamosqueaqucomenzamossealandoelrea(A2:C9),luegofuimosalmenformato
formatocondicional,ydentrodelreadedefinicindeformato,aplicamoscomocondicinla
dependenciadeunaFrmula,ydentrodelrangodondeseevalalafrmula,establecimosuna
referenciaalaceldaC2.

NtesequelaceldaC2lareverenciamosaplicandoenformafijalacolumnayvariableparalafila
($C2)yaqueelformatocondicionalloaplicarparacadaunadelasfilasmarcadas(desdefila2a
fila9)peroloaplicarsiemprebasndoseenelvalordelacolumnaC.

Asuvezesimportantenotarquelaceldaalaquerefieretodaformuladelformatocondicional
DEBERSERSEALADACONELMOUSEPARAQUENOLOTOMEENFORMATOTEXTOY
AGREGUEAUTOMATICAMENTECOMILLASALASINTAXIS.

Delamismamaneraquelavistaanteriormentepodramosaplicarvariascondicionaleseneste
formato,perosiempreconlalimitacindehasta3condicionesaplicadas.Comovemosa
continuacin:

Uncomentarioadicionaleselhechodequeparaeliminaralgunadelascondicionespropuestasen
elformatocondicional,simplementevolvemosaseleccionarelreaalaquelequeremosquitaren
estecasoelformato(A2:C9)yluegonosdirigimosnuevamentealmendeformatoformato
condicional,yseleccionamossobreelbotneliminar:

Comovemostenemoslaopcindeeliminarunadelascondicionespropuestas,solo2,otodaslas
condicionesquehayamosdeterminado.

Esimportantesealarelrangodeantemanoyaquesino,Excelnoencontraraenqueceldasse
aplicelformatocondicional.

EnelsiguienteejemplosemostrarestaherramientaaplicadaconfrmulasdeExcel,ylaideaser
queautomticamentequedenmarcadosloschequesvencidosalafechaactual(lafechaactualse
calcularmediantelafuncinHOY()).

Enestecasoseleccionamosenprimerlugarlamatriz(A2:D5)yluegoloquehicimosfueaplicarel
formatocondicional,dondelacondicindependedeunafrmulayenlamismadefinimoslacelda
C2enlacualfijamoslacolumnaydejamoscomovariablelafila($C2)ycomparamosconel
operadormenoroigualalresultadodelafuncinHOY(),lacualnosobtendrenforma
automticalafechaactualdelsistema.

BSQUEDASDEINFORMACIN

MencionamosenunejemploanteriorquemediantelafuncinBUSCARVpodiamosrealizar
bsquedasenmatrices,yextraerdelasmismasundatodedeterminadacolumnaenparticular.
EnesteejemploveremosnosolamentelaaplicacindeBUSCARV,sinotambinlafuncin
BUSCARHylaslimitacionesquetenemosenelusodedichasfunciones.

EnestecasovemoslafuncinBUSCARV,aplicadaparabuscarenbasealcdigodelartculoel
stockdelmismo.

Medianteelpegadoespecialrealizaremosuntrasportededichamatriz,delasiguientemanera:
1. SeleccionaremosmedianteelMousetodalamatrizdedatos(A1:C9)
2. BotnDerechoCopiar
3. SeleccionaremoslaceldaE1
4. BotnDerechoPegadoEspecial
5. EnlasopcionesseleccionaremosTrasponer(comolovemosenlapantallaa
continuacin)

Veamoscomoquedatranspuestalamatrizoriginal:

EltemadetransponerlamatriztambinnosservirparaverlaaplicacindelafuncinBUSCARH
quenospermitirextraerelcontenidodeunaFILAenparticulardelamatriz.

EnestecasoenlaceldaE6,utilizaremoslafuncinBUSCARH,paraquealdigitaruncdigode
artculo,nosobtengaladescripcindelmismo(fila2delamatriz).

Porotrolado,unadelasrestriccionesimportantesquehayquedestacartantoenelBUSCARV
comoenelBUSCARHeselhechodenocontarconlaposibilidaddebasarmeenundatobuscadoy
quererobtenerunacolumnaalaizquierdaenelordendelamatriz,ounafilahaciaarribadeldato
buscadoenelcasodeBUSCARH.

Porejemplosienelejemploanterioryomebasoenladescripcin(comodatobuscado)yenbase
aladescripcinpretendoobtenerelcdigodedichoartculo.

Veamosporlotantolaaplicacindedosfuncionesquenospermitirnsolucionarestetema.Las
funcionessonINDICEyCOINCIDIR.Laaplicacineslasiguiente:

Elresultadoser5(Nrodendice)

EnestecasoaplicamoslafuncinCOINCIDIR,ydentrodesusargumentoscolocamos,elvalor
buscado,endichoejemplolaceldaA13,dondeelusuarioingresladescripcindelartculo,como
segundoargumentoindicamoslacolumnaB(rangoB2:B9)queesdonderealizaremoslabsqueda
dedichadescripcin,yporltimocomotercerargumentoelnmero0queestindicandoquela
coincidenciadebeserexactaconeldatobuscado.

ElresultadodelafuncinCOINCIDIRser5,queeslaposicindeldatobuscadoenlalistade
valores.Osealadevolucinsiempremeladaenelnmerodendicedeldatobuscadoenla
nominadevalores.

PorotroladosiyoaplicolafuncinINDICEdelasiguienteforma:

EncuantoalafuncinINDICElosargumentosson,lamatrizdebsqueda,dondeaqusealela
nominadecdigosdeartculos,ycomosegundoargumentoelnmerodefiladelndicequedebe
buscar,enestecaso5.Estenmero5loobtuveviendoelresultadoobtenidoporlafuncin
COINCIDIReneldatoanterior.

Porlotanto,yresumiendo,estopodrasersimplificadoenunasolacelda,delasiguienteforma:

LafuncinINDICE,meextraeeldatodeunamatrizde
acuerdoalaubicacindeestedatoendichamatriz.
MientrastantolafuncinCOINCIDIRloqueest
haciendoesbuscandoeldatoenunamatrizde
informacin,ybuscandolaposicindeestedato,con
unacoincidenciaexacta.

FUNCIONESDEFECHAYHORA

AplicaremosenesteejemplolasfuncionesdefechayhoraquenosproveeExcel.
Paracomenzar,siyoquisieraobtenerlosdascorridosenqueseimplementcadaunadelas
tareas,tenemosqueentenderqueTODAfechaqueingresemosenExcel,estafechalalecturaque
tendrserennmerodedas,comenzandoconelnmero1correspondienteal01/01/1900.

Porlotantosienunaceldayocolocolafuncin=HOY()yestamedevuelvelafechaactual,
supongamos17/10/2007,enrealidadelcontenidoREALdelaceldaserelnmero39372.

Bastaconcambiarelformatodelacelda,aunformatonumricoyvemoselresultado.

Entonces,siyonecesitosaberlosdasquetomcadatareasimplementepuedorestarlasceldas
decolumnaCycolumnaB,ytengoelresultadoesperado.(NOOLVIDARASIGNARFORMATO
NUMRICOALACOLUMNAD,paraobtenerencantidaddedas).

Hastaaqunohemosaplicadoningunafuncinenparticular.Eltemasedacuandotengoque
calculardashabilesentrelafechadeinicioyfechadefin.Parautilizarestetipodefunciones,
ExcelnosproveedeCOMPLEMENTOS.EnestecasodebemoshabilitarelCOMPLEMENTOde
HERRAMIENTASPARAANLISIS,delasiguientemanera:

EnelmendeHerramientasComplementos
tendremoslaposibilidaddeverloscomplementos
quetenemosypodremosmarcarlosque
necesitemos.
Recordarquetodosloscomplementosque
marquemosquedarnhabilitadosdeahoraenms
enTODASlassesionesqueiniciemosconExcel,
dentrodedichaPC.

EnestecasohabilitamoselCOMPLEMENTOdeHERRAMIENTASPARAANLISIS,queeselquenos
proveerdelasfuncionesnecesariasaaplicar.

ParaelclculodedashbilesutilizaremoslafuncinDIAS.LAB
Endichafuncinlosargumentossern=DIAS.LAB(FECHAINICIO;FECHAFIN;[FERIADOS])

ElargumentodeFERIADOSesopcional,yaquepodramosomitirloylafuncindetodasmaneras
merealizaraelclculo.LaideaesquealtenerelargumentodeFERIADOS,nosoloexcluyadelos
dashbilessbadosydomingossinotambinlosferiadosqueaparecenenlanmina.

Podramoscomprenderdentrodeestanminaferiadosnolaborables,ylaborables,esolo
seleccionarquienestacargodeldesarrollodelaplanilla.

NoolvidemosfijarelrangodondedispusimoslosFERIADOSyaquealcopiarlafrmulasedebe
contemplaresterangocomoFIJO.

Enelsiguienteejemplovamoscontemplarlosdasparalaentregadedeterminadospedidos.

Silosdasfuerancorridossimplementedigitamos:=B2+C2

PeroenelcasodequeapartirdelafechadepedidoyoquieraagregarciertacantidaddeDIAS
HBILES,aqueltemacambia,yaplicaremosparaestolafuncin:DIA.LAB(FECHAINICIO;DIAS
LABORALES;[FERIADOS])

Loquenosimplementadichafuncineslaposibilidaddequeaciertafechaseleagreguenosele
descuentenciertacantidaddedashbiles,agregandocomoargumentoopcionallosferiados.

Recordarque,paraestoscasos,tambinpuederesultarcomnquerervisualizarapartirde
determinadafecha,eldadelasemanaalaquecorresponde.Paraellotenemoslafuncin
DIASEM,que,apartirdeunafechanosdicequdadelasemanacorresponde.

VeamosquelafuncinDIASEM,nosdevuelveunnmerocorrespondientealdadelasemanaque
noscaeesafecha,desdeel1paradomingo,hastael7parasbado.

Siquisiramosqueestonosdeexactamenteenletraseldadelasemana,bastaconcambiarel
formatodelaceldaparapersonalizarlocomovemosacontinuacin:

Aldarbotnderecho,formatosobredichasceldasenlasqueaplicamoslafuncinDIASEM,vamos
aPersonalizada,yenelTipo,podremosoptarporDDDDparaquenosdeenletraselda
correspondientedelasemana.

Nota:sihubiramosescritoDDD,nosdaralaabreviacindeldadelasemana.

TrabajandoconHORAS

Veamosenlasiguienteplanillaenlaque
ingresamosloshorariosdeentradaysalidadeun
empleadoalaempresa.
Nosepresentanproblemas,alrestarencadadade
lasemanalashorasdesalidaylasdeentrada.
Ahoraalmomentodecalculareltotaldehorasque
esteempleadorealizentodalasemana,veamoslo
quesucede:

EnestecasoaplicamoslafuncinSUMAparatomar
encuentaelrangodehoras,ypoderobtenereltotal
dehoras.PeroExcelmuestraunresultadoquenoes
deltodocorrecto.
Enrealidadelclculointernamentelorealiza
correctamenteperoelresultadoloexpresaendas,y
porlotantoestosera1da,19horas,y14minutos.

Lonicoquehacemosescambiarelformatodela
celda,paraquereflejeelresultadoenTOTALde
horas.Veamoscomorealizarestepaso:

Almomentodecalcularelpagoarealizar,tomolaceldadeltotaldehoras,multiplicopor24para
pasarelresultadoahoras,yluegoporelpreciohora.Recordarquemasalldelcambiode
formatoquehicimos,internamenteExcelsiguereconociendodichaceldaenterminodedasyno
enterminodehoras.

BUSCAROBJETIVOYSOLVER

Estasdosherramientasnosservirnendeterminadasocasionesenlasquequeramosrealizar
previsionesoestimacionesenExcel.
Pasemosalsiguienteejemplo:

Enestecasomanejamosunejemplodondeunrestauranteque
vendecaf,tienesupreciounitarioen30pesos,yatravsdela
cantidaddetazasvendidasgeneraeltotaldelarecaudacin.

Debemostomarencuentaqueestaestructurasedebecontemplar
paralaaplicacindeBUSCAROBJETIVO,dondeunafrmuladebe
generarladependenciadeunconjuntodefactores(celdasdependientes)queresuelvenel
esquema(enestecasolarecaudacindependedelacantidaddetazasvendidasydelprecio
unitario).

Parautilizarlaherramienta,vamosaMenHerramientasBuscarObjetivo:

Enlapantalladeconfiguracin:Definirlacelda:enestecasoB3,celdaquecontienefrmula
dentrodelaplanilla.

Conelvalor:vamosadefinircomovalor6000pesos(totalderecaudacinestimada,oprevisinde
recaudacin).

Paracambiarlacelda:B2(celdaqueactacomovariabledelsistema,yquecalcular
automticamentelaherramienta)

Enestecaso,yopodrahaberresueltoelsistemaperfectamentemedianteunaregladetres
simple,peroencasosmscomplejoscomoelquevemosacontinuacinelclculodela
estimacinseraposibleconmayoresfuerzo:

Enestecasoplanteamosunejemplodondeseotorgaun
prstamosde20000aunatasaanualdel8%ydondese
pagarn12cuotas.Lafuncinpagocomovemosnoscalcular
deformaautomticalacuotaapagar,queendichocasoser
de1739(Nota:elvalorresultantesernegativoyaquelas
funcionesfinancierastomanlosegresosconestesigno).

Ahora,veamosquesucedesienestecasoquisiramos
estimarcualseraelmontodelprstamoquepodramos
obtenersisemantienenlascondiciones,perosabemosque
podemospagarunacuotamximade1500.Paraesto
aplicamoslaHerramientaBuscarObjetivodelasiguientemanera:

Elsistemanosresuelveydirquemedianteelpagodeunacuotade1500ymanteniendolas
condiciones,llegaremosaobtenerunprstamode17243.

Laherramientasiempretrabajaconunavariableacalcularyunafrmulacuyoresultadofinalser
estimadoporeloperador.

Veamosqueenesteltimoejemplonuestrosupuestoesestimarunvalordecuotade1500(lase
quedebesernegativo,portomarsecomounegresofinanciero),ymanteniendolascondiciones,
secalcularelmontdelprstamoalquelapersonapodracceder.

EnelcasodelaherramientaSOLVER,actacomoCOMPLEMENTOdeExcelporlotantohayque
habilitarlo,dentrodelmenHerramientasComplementos,ytildarlacasilladeverificacinen
casodequedichaherramientanoestuvierepreviamenteinstaladaenlaPCqueestemos
manejando.

SOLVER

EstaherramientaessimilaraBuscarObjetivoconlasalvedaddecontarconlaventajaderesolver
sistemascondeterminadacantidaddevariables,yconlaposibilidaddeestablecerrestricciones,
queacerquenelsistemaaunarealidadplanteada.

Veamoselsiguientecaso:

Enestecasoestablecimosunaplanillasimilaralaplanillaquetrabajamosanteriormente.Setrata
deunrestaurantequevendevariostiposdeCaf,entreellosCafcomn,CafCortado,Caf
Capuchino.AplicamosenelmenHerramientasSolverlaconfiguracindedichosistema.

Entonces:enCeldaObjetivoestablecemoslaceldaquevamosaestimar,enestecasolaceldadel
totalrecaudadoporelrestaurante,luegoestablecemoselimportedelvalorestimadoparadicha
celda.

Enlareferenciadecambiandolasceldasestablecemoslasceldasquesevanacalcular
automticamenteporlaresolucindelsistema,enelcasonuestromarcaremosmediantelatecla
CTRLcadaunadelasceldasquetienelacantidaddetazasdecadatipodecaf.

Porltimo,enelreainferiorizquierdadeestapantallaestablecemosmedianteelbotnagregar,
la/lasrestriccionesdelsistema,enestecasonuestranicarestriccinfueagregaralaceldaB10
quecontieneeltotaldetazasvendidasdecafcapuccino,queellimiteesquedichacelda
contengaunvalormenora50.Podemosagregarmltiplesrestriccionesyaquecadavezque
queramosagregarunarestriccinmas,solopresionaremosenelbotnagregarloquenos
permitiriragregandonuevasrestricciones.Tambintenemoslaposibilidaddecambiar,y
eliminarrestriccionesmediantelosbotonesasociados.

UnavezqueterminamosladefinicindedichapantallamedianteelbotnRESOLVER,elsistema
nosgeneraunasolucinparaelesquemapropuestoynosmuestralasiguientepantalla:

Elesquemaquedaresueltoyvemoslasolucinfinalenlaplanilla.Podemosenestapantalla
marcarlaopcindeUtilizarlasolucinencontradaporSOLVER,otambinpodemosRestaurar
valoresoriginalespararegresaralestadoinicialdelaplanillaantesderesolverelesquema.

Lasaplicacionesdedichaherramientassonmuchsimas,tantoenmbitosdeestadstica,
probabilidad,comotambinenmateriadeMatemticas,IngenierayEconoma.

PodemosvervariosejemplosaplicadossibuscamoselarchivoSOLVSAMP.xlsqueseencuentraen
C:\ArchivosdePrograma\MicrosoftOffice\Office10\SAMPLES\
MDULO

ANLISIS

DE

INFORMACIN

Mdulo:AnlisisdeInformacin

Enestemduloseverlaaplicacindeherramientasvolcadasalanlisisdeinformacindentrode
Excel.
Enprimerlugar,conunejemploseaplicarelusodelosdiferentestiposdefiltrosquenosprovee
laherramienta.
Veamoselsiguienteejemplo:

Enestaplanillaaplicaremoselprimertipode
filtro,queserelAutofiltroyquenospermitir
aplicarfiltrosautomticosenlaplanilladeuna
formamuysencilla.

Paraaplicarlobastarconposicionarnosen
cualquierceldadenuestrabasededatosy
luegomedianteelmendeDaotsFiltro
Autofiltrocomenzaremoslaaplicacindel
mismo.

Laplanillanosquedardelasiguientemanera:

Veamosenprimerlugar,quecuando
nosotrosmarcamosenelmendedatos
filtrosautofiltro,esteactacomoun
subrayado,dondepodemostildarydestildar
estaopcin,encasoquequeramosdejade
utilizarelAutofiltroenalgnmomento.

Elautofiltronosdaestaopcindelcuadro
desplegableenelttulodecadacampodela
basededatos.

Bastarconpincharenelcuadrodesplegable
parapoderseleccionarelcriterioaaplicar
parafiltrarlainformacinsobredichocampo.
Porejemplo,sienestaplanillayoquisiera
soloverlasventasdelvendedorDaz,solo
seleccionarDazenlasopcionesdelcampo
Vendedores,yestomeaplicarautomticamenteelfiltrocondichocriterio.

Acontinuacinsedaelejemplodecmoaparecelaplanillaconelfiltroaplicado:

Enelcasoanteriorelsistemaenformaautomticaocultalasfilasdelrestodevendedoresydeja
solovisibleslasventasdelvendedorseleccionado.

Podemosasuvezaplicarotrofiltroenformasimultaneasobreotrodeloscamposcomopor
ejemploelcampodeRegin,solobastarconseleccionardedichocampolaopcindelaregin
quenecesitaremosvisualizarylaherramientaaplicarestefiltroenformatotalmentedinmica.

QUITARAUTOFILTROSRESTABLECERBASEDEDATOS

Encasodequeenalgnmomento,apliquemosvariosfiltrosdeacuerdoavarioscamposyen
algnmomentoqueramosquitardichofiltro,existendosopciones:podemosquitarelautofiltro
directamenteyendoalmendedatosfiltrosautofiltro,otambinmedianteelmendedatos
filtrosmostrartodos(estomuestranuevamentetodoslosdatosoriginalesdelabasededatos
peromantieneelautofiltro.

CRITERIOSPERSONALIZADOS

Tambinmuchasvecessepuededarelcasodequeelcriterioparafiltrarlainformacinnoeste
disponibleenformadirectasobreelcampoquequeramosfiltrar,yporlotanto,delcuadro
desplegablerecurrimosalaopcindePersonalizar,paraestecampo:

CuandoseleccionamoslaopcinPersonalizar,podremosaplicarcriteriosunpocomasavanzados
parafiltrardichocampo:

Enestecaso,comonosposicionamossobreelcampoVentas2005,yseleccionamoslaopcinde
Personalizar,allpodemosverqueennuestrocasoaplicamosdoscriteriosquesealanqueel
filtrosertomarnicamenteVentas2005convaloresmayoresoigualesa80000ymenoreso
igualesa100000.Podemosverasuvezqueexistenmltiplescriteriosquepodemosaplicarsobre
dichocampo.

Laplanillaluegodeaplicardichofiltroserverdelasiguientemanera:

Undetallesumamenteimportanteatomarencuentaeselhechodequesiendichaplanilla
quisiramosenalgnmomentoobtenerlasumadeventasdel2005peronicamentedelosdatos
visiblesnopodemosaplicarlafuncin=SUMA(C2:C15),puestoquetomaratodaslasfilas(tanto
visiblescomonovisibles).

Paraestetipodecasosaplicamoslafuncin=SUBTOTALES(9;C2:C15)

SUBTOTALES(nm_funcin;ref1,ref2,...)
Nm_funcin Funcin
1 PROMEDIO
2 CONTAR
3 CONTARA
4 MAX
5 MIN
6 PRODUCTO
7 DESVEST
8 DESVESTP
9 SUMA
10 VAR
11 VARP

Veamosenelejemplodado,losresultadosdelafuncinSUMAySUBTOTALESaplicadospara
dichorangodeceldas(C2:C15).

NOTA:Tambinpodramoshaberutilizadoelbotn
Dichobotnaplicaautomticamentelafuncincorrectasegnencuentreceldasocultasonoen
eserango(aplicafuncinSUMAencasodequenoexistanfilasocultas,yaplicaenforma
predeterminadaSUBTOTALEScuandoencuentrafilasocultasenelrango).

Elautofiltrotambinnospermitefiltrospersonalizadosenelcasodecolumnascondatostipo
TEXTO,porejemplosiyoquisieraobtenerlosdatosdeventasdeaquellosvendedorescuyo
apellidotermineconletraS.

EndichoejemploseaplicasobreelcampoVendedores,elcriteriodepersonalizacinyluegoel
filtroquedeterminaquedichocampomuestrenicamenteregistrosqueterminaconletras.

Hayunalimitacinenlaaplicacindelautofiltroyes,justamentelaconsignaparapasaral
siguientetema.Nopodemosmedianteelautofiltroaplicarcriteriosquecomparencampospor
ejemplo,enelsiguientecaso,vamosaaplicarunfiltroquenosexponganicamentelasventasdel
2005superioresalasdel2006.

EsololograremosconelFiltroAvanzado:

Recordemosqueparapoderaplicarelfiltroavanzadodebemoshacerlosintenerlaopcinde
autofiltroencendido.Porlotantositenemoselautofiltro,debemosapagarloyendoaDatos
FiltroAutofiltro.

ParaaplicarelfiltroavanzadovamosaDatosFiltroFiltroAvanzado,yluego:

VeamosquecomocriteriosaplicamoslacomparacinentrelaceldaC2yD2,dondesolo
colocamoslafrmula=C2>D2

Enelcuadroquenosaparececuandoaplicamoselfiltro:

ComoRangodelalista:A1:D19(marcamoslabasededatoscompleta)

RangodeCriterios:F7:F7(marcamoslasdosceldas,elttulodelcriterio,ylaceldaquecontieneel
criteriopropiamentedicho)

Veamosqueendichocuadroenestecasoaplicamoslaopcinqueaparecepordefectoquees:
Filtrarlalistasinmoverlaaotrolugar,yaqueloquequeramoseraaplicarelfiltrodirectamente
enlabasededatos.

Enlasiguientepantallaseexponecomoelfiltroaplicadichocriteriodirectosobrelabasede
datos:

Aquvolvemosacomentarelhechodequesiqueremosobtenerlasumatoriadeventasde2005o
2006,nodebemosusarlafuncinSUMA,puestoquedeberamosutilizarlafuncinSUBTOTALES.

PararestaurarlabasededatosvolvemosalmenDatosFiltroMostrarTodo,comosepresenta
enlasiguientepantalla:

Enelcasodequereraplicarfiltrosenformasimultnea,tendremosquearmardichoscriteriosen
lamismalnea.Enelsiguienteejemploveremoslaaplicacindeunfiltrodondevemoslasventas
2005superioresalasdel2006,perosolodelaReginSur,veamosnosololaaplicacindelfiltro,
sinoelarmadodedichoscriterios:

AquveamosquecomoRangodeCriteriosmarcamosF6:G7,yaqueloscriteriosenestecasoson
2,unoqueaplicasobreelcampoRegin,dondeseextraesolodatosquecoincidanconRegin
SUR,yporotrolado,elsiguientecriterio(ledimosunttuloarbitrario,enestecasoCriterio),
dondehicimoslacomparacindeunodelosregistrosdeventas2005contraundatodeventas
2006.

Asnosquedaranlosdatosfiltrados,deventasdeReginSUR,dondelasVentas2005superana
lasdel2006:

Veamosquesucedesiloscriteriossonlosmismosperonorespetamoseltemadequeseanenla
mismalnea:

AqusepuedeverqueaplicamosunfiltrodondelaReginesSUR,peronohacealmismotiempo
comparativodeventasentreelao2005y2006,mientrasqueparaelrestodeventasdeotras
RegionesSaplicaelcriteriodecompararlasventas2005,yquedichasventasseansuperioresa
lasdelao2006.

Podemosseguiraplicandocriterios,perosiemprequeapliquemosvarioscriterios,tienenqueestar
armadosdiferenciandoloscamposdelabasededatos,perotambinenelmismoordenque
aparecendichoscamposenlabasededatos.

Veamosahoraenunejemplodondeapliquemosestemismofiltroperoconunaextraccindeuna
subbasededatosparanomodificarlabaseoriginal:

EnlapantallaquenosapareceenestecasomarcamoslaopcindeCopiaraotrolugar,y
nuevamenteen:

Rangodelalista:A1:D19(nuevamentemarcamostodalabasededatos)

Rangodecriterios:F6:G8(aqumarcamostodosloscriterios,enestecasolosdoscriterios)

Copiara:Aqumarcamosunaceldacualquieravacayaqueapartirdeahsevaagenerarlasub
basededatosconlosdatosquecumplanconloscriteriospautados.

SiendichoejemploplanteamosquelasubbasededatossoloobtengaloscamposdeVendedores,
Ventas2005yVentas2006excluyendolaRegin,deberamosarmarapriorilosttulosdelos
camposquevanaformardichasubbasededatos:

Aqumarcamosenelcuadro,enelrenglnCopiara:F11:H11(celdasdondeseencuentranlos
ttulosdelasubbasededatosquesevaaarmarconlosdatosfiltrados)

Acontinuacinvemoselresultadofinaldedichofiltro:

TablasDinmicas

Utilizandolabasededatosdelejemploanteriorgeneraremosnuestraprimeratabladinmica.
Estaherramientanospermitircruzardediversasformasinformacindeunabasededatos,tanto
seaunabasearmadaenExcel,comotambinenfuentesdedatosexternas(comoarchivosde
texto,basesdeAccess,SQL,DBase,etc.)

ParacomenzarnosguiaremosmedianteelAsistente,queencontramosenDatosInformede
TablasyGrficosDinmicos,comovemosenlasiguientepantalla:

Enlaprimerapantalladelasistentetendremoslasopcionesparaelegirelorigendelosdatosque
sevanatomarenlatabladinmica,yendichapantallaenlaparteinferiorelegimoseltipode
informeaobtener,yquepuedeserTablaDinmicaoGrficoDinmico:

Enestaprimerapantallanosotroselegimoslasopcionesquevienencomopredeterminadasyaque
labasededatosnuestraprovienedeunalistaquearmamospreviamenteenExcelyelinformede
salidaesefectivamenteunatabladinmica.

Presionamosenelbotnsiguienteparapasaralasegundapantalla:

ElRangoeselqueseformaportodanuestrabasededatos,recordarqueenelcasodequerer
tomarsolodeterminadoscampos,mediantelateclacontrolpresionadapodemosmarcarsolo
dichoscamposparaqueformenpartedenuestratabladinmica.

Pasemosconelbotnsiguientealatercerapantalladenuestroasistente

Enestatercerapantalladelasistente,podremoselegirlaubicacindenuestratabladinmica,la
cualpodemosestablecerenunahojadeclculonueva,otambinenunahojadeclculo
existente.Tomemosencuentaqueenelcasodequemarquemoshojadeclculoexistente,
debemosmarcarunaceldaqueformarelngulosuperiorizquierdodenuestratabladinmica
porlotantotenerpresentequedesdeestaceldahaciaabajoyhacialaderechaexistalugarvacoy
disponibleendichaplanilladeclculo.

Veamoselresultadoqueobtenemosaldarfinalizar(enestecasoseleccionamoslaopcinde
volcarlatabladinmicaenunahojanueva):

Todatabladinmicaseformarpor4cuadrantesquesern:

CamposdeFila
CamposdeColumna
CamposdeDatos
CampodePgina

Podremosarrastrarcualquieradenuestroscamposdelabasededatosquetenemosenlalista
queaparecealaderechahaciaelreadenuestratabladinmicadondequeramosdisponerdicho
campo.

Essumamenteimportantetenerpresenteenunprincipiocualeselresultadoquesedesea
obtener,paranoperdernosentretantasopcionesquetenemosenloscamposquetenemosenla
basededatos.

Enesteprimerejemplovamosapedireltotaldeventasdel2005paracadaunodelos
vendedores:

Aquloquehicimosfuearrastrar(conelbotnizquierdopresionado)elcampodevendedoresal
readeFila(vemosquecadavendedorapareceenunafiladiferente),yllevamoselcampode
Ventas2005alreadeDatos(vemosquelasventasde2005aparecencadaunaendicharea).

HayquetenerpresentequeExcelesrealmentesensiblerespectoacadaunadeestasreasporlo
tantotratemossiempredetrasladarcadacampohaciaelreacorrespondienteenlaformamas
exactaposible.

Encasodequecambiemosdeopininynosparezcamejorobtenereltotaldeventas2005pero
decadareginynodecadavendedorpuedotrasladarelcampodevendedoresderegresoala
Listadecamposdetabladinmica,ytrasladaracontinuacin,elcampodeReginnuevamenteal
readefila:

Aquvemosquequitamoselcampodevendedores,yahoravamosacolocarelcampodeRegin,
solovolvemosaarrastrardichocampoalreadefilasynosquedacomovemosacontinuacin:

Endichoejemplovemosqueloquelogramosenesteltimocasoestotalizarlasventasdel2005
paracadaunadelasregiones.

Perovolviendoalcasoanteriorpodramosquererobtenerambosresultados,osealasventasde
2005decadavendedorytambinporregin,comopresentamosenlasiguientepantalla:

EnestecasotrasladamoselcampodeVendedoresalreadeFILAyelcampodeRegionesalrea
deCOLUMNAS.Elcampodeventas2005queddispuestocomoantesenelreadeDATOS.

FILTROSENTABLASDINMICAS

Tambintenemoslaopcindeaplicarfiltrosenlatabladinmica,medianteelcuadrodesplegable
delosttulosdelcampofila(enestecasovendedores)ytambinenelttulodelcampode
columna(enestecasoRegin).

Enestecasoaligualquecomohacamosenelautofiltro,elegimosloscriteriosdefiltradoque
vamosaaplicarsobredichocampo.Enelcasoanteriorfiltramosparaquesolodesplieguelas
ventasdelosvendedoresMoralesyVega,quesonlosquedejamostildadosenelcuadro
desplegable.

Siquisiramosobtenerademsdelasventasdel2005,tambinlasdel2006,simplemente
agregamosesteltimocampoenelreadedatos:

Vemosqueaquobtenemosdoscamposenelreadedatos,ytenemoslostotalestantopor
vendedorcomotambinporregindelosaos2005y2006.

Podemosaplicartambinunfiltroquenosmuestreporejemplodeterminadaregin(SURpor
ejemplo):

Cadafiltroaplicadosereflejainmediatamenteenelresultadodenuestratabladinmica.

ACTUALIZACIONESENTABLASDINMICAS

Apliquemosenprincipioelprimertipodeactualizacinquesepuededar:
Cambiandodatosenlabasededatooriginal.Tomemosalgndatodelabasededatos
originalymodifiquemosestedatosustancialmenteparaqueveamosreflejadoeste
cambioenlatabladinmica.

Veamosqueenestecasosemodificelprimerregistrodelabasededatos,sinembargocuando
regresamosalatabladinmica,estapermaneceexactamenteigualquecomoestabaantesde
realizarelcambio.

Paraqueelcambioserealiceyseveareflejadoenlatabladinmicadeberemosdarclicenel
botndeactualizar(botnconelsignode!)enlabarradeherramientasdetabladinmica.

EncasodenotenerdichobotndisponiblepodremosrecurriralmenVERBARRADE
HERRAMIENTASTABLASDINMICAS,yluegodarclicsobreestebotnpareverelcambio
realizado:

Alpresionarsobreelbotnvemosquelatabladinmicarecalculalosvaloresynosmuestrael
detallequevemosacontinuacin:

Hayuntemamuyimportanteadestacar,yeselhechodequelatabladinmicanoessensibleala
incorporacindenuevosregistros(nuevaslneas)enlabasededatosoriginal,ascomoala
insercindecolumnasenlabasededatosoriginal.

Acontinuacinharemosreferenciaalconceptoymetodologaamanejarcuandoagregamos
nuevosregistrosenlabasededatosoriginal.

ACTUALIZACINDETABLASDINMICAS(CONINSERCINDEDATOSENLABASEDEDATOS
ORIGINAL)

Enesteejemplovamosaagregarunalneaadicionalenlabasededatos,haremosreferenciaauna
ventaenunareginquehastaahoranohabamoscargado:

Elltimoregistrofueagregadoenlabasededatos,sinembargocuandoregresamosalatabla
dinmica,stanoreflejaelcambioquerealizamosenlabasededatos.Peronosencontramosque
presionandoelbotndeactualizarenlabarradeherramientasdetabladinmicatampoconos
reflejaelcambio.

Paraqueelcambiosereflejeennuestratabladinmicarealizaremoselsiguienteprocedimiento:

1. Vamosalabarradeherramientastabladinmica,medianteelmenVERBARRADE
HERRAMIENTASTABLADINMICA
2. Unavezquetenemoslabarradeherramientasdisponible,vamosalbotnTablaDinmica,
yallelegimosAsistente:

Cuandopresionamosenlaopcindeasistente,estenosdespliegalaltimapantalladelasistente
detablasdinmicas,alpresionarelbotndeatrsvemosquenospermiteredimensionarlabase
dedatosoriginal:

EnestecasomarcaremoselrangoA1:D20,agregandodeestamaneraelnuevoregistroalabase
dedatos,luegopresionamosenelbotnsiguiente,pasandoalaltimapantalladelasistenteypor
ltimofinalizar.

Vemosacontinuacinlaimagendenuestratabladinmicaactualizadamedianteelasistentede
tablasdinmicas:

Agreguemosacontinuacinennuestrabasededatosoriginalunanuevacolumnaquenosrefleje
elpasadondeserealizcadaunadelastransaccionesconloquelabasededatosquedardela
siguientemanera:

Alpresionarelbotndeactualizarenlabarradeherramientasdetabladinmica,nosapareceen
lalistadecampos,elnuevocampoPASquepodremosutilizarparaagregarenlatabladinmica:

AgreguemosdichocampoenelreadePginayveamoselefectoqueresultadeesto:

Alagregardichocampoenelreadepginapodremosresumirlatabladinmicadeacuerdoa
dichocampo.Enelsiguientecaso,alseleccionarunpas(porejemploArgentina)veamoselefecto
queproducesobrelosdatosdenuestratabladinmica:

Latabladinmicapasaahoraamostrarlasventasdecadavendedordelosaos2005y2006,
tambinconlaposibilidaddeverladivisinporreginperoUNICAMENTEDELPASARGENTINA
(queactacomofiltrodenuestratabladinmica).

CAMBIOSSOBRELASOPERACIONESDECAMPOSDEDATOS

Enestecasoseguiremostrabajandoconlabasededatosdeejemploperovamosaaplicarotra
operacinsobreelcampodeventas2005,enlugardepedireltotaldeventas2005(sumade
ventas2005)solicitaremoselpromediodeventas2005.

Parasimplificarsolotrabajaremosconloscamposdevendedoresyventas2005:

Aquporahorasolovemoslaoperacinsimpledondenosmuestralasumadeventas2005,
veamoscomohacemosparacambiarlaoperacinpredeterminadadelcampodedatos:

1. Nosposicionamossobrecualquieradelosdatos,deimportesdenuestratabladinmicay
presionamoselbotnderechodelMouse,yallseleccionamoslaopcinde
CONFIGURACINDECAMPO

2. Enlapantallaquenosaparecepodremosseleccionareltipodeoperacinqueaplicaremos
sobredichocampo:

VemosquepodemosaplicarcomooperacinlaSUMA,CUENTA,PROMEDIO,MXIMO,MNIMO,
PRODUCTO

EnnuestrocasovamosaseleccionarcomoopcinPROMEDIO,paraquenosapliquedicha
operacinsobreelcampodeVentas2005.

Tambinpodremosendichocuadro,sobrelalneadeNombre,ajustarelnombreareflejarde
dichocampo.

Tenemoslaopcintambindeagregarelmismocampounsinnumerodevecesparaqueeste
reflejeoperacionesdiferentes.

Porejemplo,sinecesitoquelatabladinmicareflejelasumadeventas2005peroadems,nos
proveadelpromediodeventas2005paracadavendedor.Arrastramosdosveceselcampode
ventas2005haciaelreadedatos,ysimplementeaunodeloscamposlecambiamosla
configuracindecampo:

Tambincuandorealizamoslaconfiguracindecampopodremostenermasopciones,comopor
ejemplodesplegarel%deponderacindecadaventa,conrespectoaltotaldeventasdelao
comopodemosveracontinuacin:

Enlapantalladeconfiguracindecampo:

Latabladinmicanosmostrarelsiguienteresultado:

Noolvidemosquepodramospresentarlosimportesdeventas2005,yluegoarrastrar
nuevamenteelcampopararealizarestaconfiguracinparaqueademsdelosimportesrefleje
tambinlosporcentajesdeventas.

TABLASDINMICASCONIMPORTACIONDEDATOSDESDEACCESS

Veamosenunejemplolospasosquedebemoscumplirsiqueremosarmarunatabladinmica
paraanalizarinformacindeunabasededatosquelaempresatieneenMicrosoftAccess.

Comenzamoselasistentedelamismamaneraquelohicimosantes,medianteelmendeDatos
InformedeTablasyGrficosdinmicos

Enlaprimerapantalladelasistente,elegimoscomoopcinFUENTEDEDATOSEXTERNA:

Alpresionarelbotnsiguiente,vemosqueelasistentecambiaconrespectoalqueveamosenel
captuloanterior:

PresionandoelbotndeObtenerDatos,seleccionamoselOrigendeDatos(eselsoftwaredonde
estalojadalabasededatos).Muchasvecesseconfundeestapantallaconlaeleccindirectade
labasededatos.
SeleccionamosenestecasoMSAccessDatabase,queeselsoftwaredondetenemoslabasede
datos,yaldaraceptar,podremosrecorrerlascarpetashastaencontrarlabasededatos,eneste
casorecorremosC:\ArchivosdePrograma\MicrosoftOffice\Office11\Samples

Cuandoseleccionamoslabasededatos,enestecasoNEPTUNO,nosaparecelasiguientepantalla:

Aqunosreflejalasdiferentestablasdelasqueestcompuestalabasededatos,ydelaque
podremostomardeterminadastablas,completas,porejemploladeCLIENTES,otambin
podremospresionarenelsigno+paradesplegarloscamposdelosqueestcompuestalatabla.
EnelsiguienteejemplotomaremosdeterminadoscamposdelastablasdeClientes,Productos,
Categoras,yProductos.

Cadaunodeloscamposquequeramosincorporarenlatabladinmicalopasaremosalrea
derechadelapantalla,enelreadecolumnasenlaconsulta.

Cuandopresionamoselbotnsiguiente:

Enestapantallatendremoslaposibilidaddefiltrarlainformacindeloscamposdeacuerdoauno
ovarioscriteriosqueseleccionemos.

Enlasiguientepantallapodremosseleccionarunordendeterminadoaestablecer,deacuerdoa
uncampoqueseleccionemos,enformaascendenteodescendente.

Enlaltimapantallaseleccionamoslaopcinqueapareceenformapredeterminada,y
devolvemoslosdatosdirectamenteaMicrosoftExcel,yledamossiguienteenlapantalladel
asistente:

Llegamosenestaetapafinal,alamismapantalla,queenelcaptuloanteriordondetendremosel
esqueletodelatabladinmica:

Aqupodremosarmarlatabladinmicasimplementeajustandoloscamposyllevndolosalrea
defila,readecolumnas,yalreadedatos.

Recordemosquedesdeaqupodemoslograrlomismoqueyarealizamosenelcaptuloanterior
condatosdeunabasededatosdeExcel:

GRAFICOSDINMICOS

Paragenerarunatabladinmica,yapartirdelamisma,reflejarungrficodinmico,simplemente
nosposicionamosencualquieradeloscamposdelatabladinmicaymedianteelbotnderecho
delMousetendremoslaopcindegenerarelgrfico.

Veamosenelsiguienteejemplo:

MediantelaopcindeGrficodinmico,estenosgenerarenunanuevahojaelgrficodinmico
quesedesprendedelatabladinmicageneradaanteriormente.

DentrodelGrficodinmicopodremosajustarycambiardeposicincualquieradeloscampos,
perosiempretomandoencuentaquealcambiarelgrficodinmico,tambincambiarenforma
simultanealatabladinmicadelacualdepende.

ElGrficodinmicotieneasuvez4reasdiferenciadas,yson:

1. Camposdecategoras(enestecasovendedores)
2. Camposdeserie(enestecasonotenemos)
3. Camposdepgina(enestecasonoincluimosningunoan)
4. Camposdedatos(enestecasoelcampoVentas2005)

Enelsiguienteejemplovemoselcasodeteneruncampoencadaposicin:

MDULO

GRFICOS

PERSONALIZADOS

FORMULARIOS
MdulodeGrficosPersonalizadosyFormularios

DentrodeestemduloseverndiferentesopcionesalmomentodegraficarenExcelascomo
opcionesdegrficospocoutilizadas,ycasosprcticosdondeapliquemosusosdegrficospara
diferentesactividades.

Comencemosconungrficosencilloenelquesepretendagrficasexportacionesdeunproducto
adiversospasesatravsde4aos.

Nosbasaremosenlasiguienteplanilla:

Paracomenzarnosposicionamosencualquieradelosdatosdenuestraplanillayvamosal
asistenteparagrficosmedianteelmenInsertarGrfico

Enlaprimerapantallaquenosdespliegaelasistenteparagrficostendremoslaposibilidadde
seleccionarlacategoradelgrficoquegeneraremosydentrodecadacategoratambin
podremosseleccionarlasubcategoradedichogrfico,comovemosenlapantallaacontinuacin:

VeamosquetenemosunbotndePresionarparavermuestra,que,dependiendoenque
categoranosposicionamosnosvaadarunaimagenpreliminardelgrficoquegeneraremosa
travsdelalistaobasededatosquetenemosseleccionada.

Alpresionarsiguiente,ypasandoalsegundopasodelasistente:

Aqusedestacandospuntos,enprimerlugar,elhechodequeExceltomenformaautomtica
comoRangodedatosdesdeA1:E6,incluyendoaqulosttulosdeamboscampos,perotomandola
fila1comosifueraunaserieagraficar,yestonosgeneraunerror,yaqueaparecerunaserieque
nocontieneinformacin(veamosenlamuestra).

Enestecasocorrigiendoelreaagraficarytomandodesdelafila2,oseamarcandocomoRango
dedatosdeorigendesdeA2:E6,nosquedarlamuestracorrespondientealreaque
efectivamentedebemosgraficar.

Sivemoslasopcionesdegraficarlasseriesen:FILAS,COLUMNAS,enformapredeterminadaExcel
marcalasseriencomocolumnas,yporlotantocadaaoformarunaseriedenuestrogrfico,en
cambiosiintercambiamosypasamosalaopcindeSeriesenFILAS,severdelasiguiente
manera:

Enestecasoloqueestamosrepresentandosonlasventasdecadaunodelosaos(1,2,3,4)y
dentrodecadaaolasseriesestnrepresentadasporlasexportacionesacadapas.

AsuvezsidamosclicenlasolapadeSERIEenestamismapantallaveremoslosiguiente:

Enestapantallapodremosdefinir:

Nombre:Elrango(ocelda)dondeencontramoselnombredecadaserie(enestecasode
cadapas)
Valores:Elrangodeceldasdondeencontramoslosvalorescorrespondientesadichaserie
(valoresdeexportacionesatravsdelosaosdedichopas)
Rtulosdelejedecategoras(X):AquvamosasealarelrangoB1:E1queeselrango
dondeencontramoslosttulosdelascategoras(enestecasolosaos)

Presionamosensiguienteypasamosal3erpasodelasistente:

AqucompletamosenlasolapadeTtuloslosttulosdecadasectordelgrfico,enprimerlugarel
TtuloGeneraldelgrfico,luegocompletamoselTtulodeEjeX,yporltimoeltitulodeEjeY.

PasamosalasolapadeEJE:

Aqupodemosmarcarodesmarcarlasopcionesquenospermitirnvisualizarlosejesdevaloresy
categoras,otambinpodremosdejarlodesmarcadoencasodequequererocultardichosejesen
elgrfico.
AlpasaralasolapadeLneasdeDivisin:

Elefectoqueproducelascasillasdeverificacinenestasolapadecategoraseseldeagregar
referenciasparaidentificarlosvaloresenelgrfico,enungrficodelneas,yanivelestadstico
estoesfundamentalparatenerunareferenciamasprecisadelosvaloresquevemosenelgrfico.

PasandoalasolapadeLeyenda:

Aquseleccionamoslaubicacindelaleyendadereferenciadeseriesdentrodelgrficoascomo
tambinpodemosdestildarlacasilladeverificacinencasodequererocultarlaleyendadel
grfico.

EnlasolapadeRtulodeDatos,tendremoslaposibilidaddereflejarenelgrficolosNombresde
laseries(enestecasolospases),Nombresdelascategora(aosenestecaso),yValores(valores
correspondientesacadadatograficado).

Debemostenerpresentequemarcartodaslasopcionesmuchasvecespuederesultarcomplejo
parapoderentendercorrectamentetantasintaxisdentrodelgrfico,ymuchasveceshacequeel
graficoquederealmentecomplejoparaunanlisisposterior.

Enestaltimasolapa,sinosotrospretendemos,dentrodelapantalladelgrficoagregarla
informacindelosdatosgraficados,yaseaporquelosmismosseencuentranenotraubicacin,o
porquequeremostenerlosdisponiblesdentrodelgrfico,marcamoslaopcindeMostrarTabla
deDatos,ydeesamaneranosquedanlosdatosincrustadosdentrodelgrfico.

Alpresionarsiguiente,pasamosalpaso4delasistentedondeseleccionamosentonces,la
ubicacinqueledaremosalgrfico:

Podemosubicarelgrficotantoenunahojanueva,comotambinpodemosubicarlocomoun
objetodentrodelahojaactiva,olahojaqueseleccionemos.

Finalmente,vemoselgrficodentrodenuestrahoja,elcualpodremosseleccionar,ydesdelos
bordes,talcualcomosifueraunaimagencambiarsusdimensiones:

AREASDELGRFICO

Elgrficoestformadobsicamentepordiversasreas:

readelgrfico(elfondoblancoquevemosdentrodelgrfico)
readetrazado(elfondogrisenelqueposicionamoslasseries)
Ttulodelgrfico(ennuestrocasoexportaciones)
Series(ennuestrocasolascolumnas,queformanlasexportacionesacadapas)
Ejedecategoras(ejex)
Ejedevalores(ejey)
Leyenda(cuadroquetienelarepresentacindelaseries)
Ttulodelejedecategoras(Aosennuestrocaso)
Ttulodelejedevalores(Importesennuestrocaso)

Enelcasodequerercambiarcualquieradelasreasdelgraficorecordarquesimplementenos
posicionamossobredichareayconelbotnderechonosdesplegarlasopcionespropiasdel
reamarcada.

Parapoderrecurriralamodificacindecualquieradelospasosquerecorrimosmedianteel
asistente,nosposicionamossobreelreadelGrfico(reablanca)yconelbotnderecho:

Tipodegrfico(paso1delasistentedondeseleccionamoslacategoradelgrfico)
Datosdeorigen(paso2delasistentedondeindicamoselrangodedatos)
Opcionesdelgrfico(paso3delasistentedondeindicamosttulos,leyendas,ejes)
Ubicacin(paso4delasistentedondeseleccionamoslaubicacindeseadaparael
grfico).

ModificacionesdeGrficos

Paramodificarelreadegrficosimplementedamosdobleclicsobredichareaynosaparecer
lasiguientepantalla:

Aqupodremosindicarnosololosbordesdelrea,permitiendoseleccionarelcolordelborde,el
estilodelmismo,ascomotambinelgrosor,sinoquetambinpodremoscambiarlafuente(junto
consuspropiedades),ascomotambinelfondodelgrfico(rea).

Tambinpodemospresionarsobreelbotndeefectoderellenoparamodificarlosefectosque
apliquemossobreelfondodelgrfico,entrelosquepodemos:

Aplicardegradado,condiferentesefectosdelmismo,conuncolor,odos,conefectosde
transparencias,yademscondiversosestilosdesombreado.

Podemosaplicartambintexturas:

AscomotambinindicarleconelbotndeOtraTextura,ybuscarelarchivodondeseencuentre
latexturaquequeramosdarlealreadegrfico.

Podremosademsdeseleccionaruncolor,yefectodedegradadoaplicarunatramaenparticular:

Porltimosinosparececonveniente,tambinpodremosubicarcomofondodelgrficouna
imagen,seleccionandolamismadesdesuubicacineneldisco:

Estemismotipodeefectossepuedeaplicarsobrecualquierreadelgrfico,porejemplotambin
sobrelasseries,obteniendoentoncesungrficocomoelquesereflejaacontinuacin:

Sibiennosonlosmismosdatosqueenelejemplovistoanteriormentelaideaesreflejarnosolo
loscambiosdelreadegrficosinotambindelreadetrazado,yasuvezdelreadeseries,
modificandocadaserieyviendocomoagregarlabanderadelpascomoidentificacindedicha
serie.

GrficosPersonalizados

GeneraremosenelsiguienteejemplounGrficoquedenominaremospirmidepoblacionala
partirdelasiguienteplanilla:

Enlamismaencontramosuntotaldelamuestra,enestecasodelbarrioMALVINyseparadopor
sexo(hombres,ymujeres)yasuvezeltotaldivididoporgrupoetario.Laideaesgraficarestoy
quepodamosrepresentarlascantidadesdepersonasdecadasexoycadabarrarepresenteaun
grupoetariodiferente.

Elresultadofinalsemuestraacontinuacinyluegoveremoselpasoapasoaseguirparaobtener
dichogrfico:

Parallegaraesteresultadofinal,comenzaremosporgenerarconlosdatosungrficodebarras
seleccionandoelrangoagraficar(enestecasodesdeA1:K5).AllvamosaInsertarGrfico:

SeleccionamoselgrficodetipoBARRASprimersubtipoqueeseldeBARRAAGRUPADA,luego
ledamosclicenelbotnsiguiente:

NotemosqueaqucorregimosenprimerlugarelRangodedatos(A4:K5)paratomarnicamente
lossexosylosgruposdeedades,quecomprendennicamenteloquevamosagraficar,pero
ademsvamosadarclicsobrelasolapaseries:

AquloquehicimosfueagregarenelRtulodelejedecategorasXelrangoquevadesdeB2:K2
dondeindicamoslosttulosdegruposdeedadesqueformarnpartedenuestrogrfico.

Ennuestrosiguientepaso:

Aqudefinimoslosnombrestantodelgrficogeneralcomotambindelosejes.

Estefueelresultadofinalqueobtuvimos,ahoraveamosloscriteriosquetenemosqueutilizarpara
perfeccionarlapirmidepoblacional.

Enprimerlugar,paraqueunsexotomevaloresaladerechadelcortedeejeXyelotrosexotome
valoresalaizquierdadelcortedeejeXdebemostomarencuentaquelologramosfcilmente
cambiandoelsignoenlaplanillaoriginalcomovemosacontinuacin:

Veamosqueagregamosunalneadondesimplementelecambiamoselsignoalosvalores
correspondientesalsexofemenino,eincluimosestaseriedentrodelgrficodelasiguiente
manera:


Aquincluimosdentrodelacategoramujeres,elrangoB6:K6enlugardelrangoB5:K5quetena
anteriormentevaloresnegativos.

Recordarparareasignarlasdireccionesdedichorangoaccedemosclickeandoconelbotn
derechosobreelreadegrfico(fondoblancodelgrfico)yseleccionandocomoopcinDatosde
Origen,yallpresionamossobrelapestaadeSerie.

Ahoracambiaremoslaposicindecadaunadelasbarrasparaquesedisponganalineadasysin
espaciosinseparacinentrelasmismas.Estolologramospresionandoenunadelasbarrasdel
grfico(cualquieradelasseries),yluegoconelbotnderechodelMouse,seleccionamoslaopcin
deFormatodeSeriedeDatos,yenlasolapaOpcionesveremosjustamentedosopciones:

EndichasopcionescambiaremoseldatodeSuperposicin,elcualpasaremosaunvalorde100,
paraquelasbarrasquedenalineadas,yelanchoderangoavalor0,paraquecadabarraocupeel
totaldereadetrazado,ynoexistanespaciosintermediosentreunabarrayotra.

Veamoselefectodelmismo:

Enestesiguientepasovamosaquitarelrtulodelasleyendasencadagrupodeedad:
EstolologramospresionandoconelbotnderechodelMousesobreelreadegrficoyluego
vamosaOpcionesdeGrficoyluegoenlasolapadeEjedesmarcamoslacasilladeverificacin
correspondientealEjedeCategorasX,comovemosacontinuacin:


VemosqueelefectoinmediatodeestaaccinesquitarlareferenciaalejeX.
EnestesiguientepasovamosacambiarelformatodeEjecategorasconlaposibilidaddeque
podamosversiempredgitospositivos,peroaambosladosdelcrucedeleje.

EstolologramosseleccionandoenprimerlugarelejedecategorasX,yluegoconelbotn
derechodelMousedamosclicenlaopcindeFormatodeEjes,yallenlapestaaNmero,
aplicamoscomoTipo(0;0)paraque,tantolosvalorespositivoscomonegativosaparezcansin
signo(ni+ni).

AplicandolosretoquesdeFormatoderea,degradados,vistosenelcaptuloanterior,llegamosa
unaimagensimilardelgrficoquedebamosgenerar:

GrficosconDobleEje

Dadalasiguienteplanilla,generaremosungrficodelneasquelarepresente:

Generamosentonceselgrficodelneascorrespondiente,obteniendoelsiguienteresultado:

Veamosquemasalldequegraficamosambasseries,VentasyPorcentajes,altenerambas
valorestotalmentedismiles,estonosgeneraunimpactovisualyaquelaseriedeporcentaje
contienevaloresentre0y1yporlotantolalneaquedapegadaalejedecategoras.

ParaquelaseriedePorcentajetomecomoreferenciaunejesecundario,seleccionamoslaserie
dandoclicsobrecualquieradelosvaloresdelalneaquerepresentaadichaserieenelgrficoy
conelbotnderechoaccedemosalaopcinFormatoSeriedeDatos.Enestepuntodamosclic
sobrelapestaaEjes,yallagregamosomarcamoslaopcindeEjeSecundario.

Elimpactodelmismoserelsiguiente:

Parasepararambasseriesyquelosvaloresquedendistanciados,yasuvezquecadaunadelas
serieshagareferenciaaunejediferente,presionamossobreelejesecundarioagregado,yconel
botnderechoseleccionamoslaopcinFormatodeEjesenlapestaadeEscalaCambiaremos
laescalaparaqueelvalormximoestedadoenel0,5(osea50%).

Pasamosentoncesaobtenerelsiguientegrfico:

Deestamanera,alapersonaquetengaquedarunalecturadelgrficoleresultarmasfacil
analizarambasseriessabiendoqueambastomanescalasdiferentesyhacenreferenciasaejes
diferentesdelgrfico(unaalejeprimario,yotraalsecundario).

GrficosdeGANTT

Dadalasiguienteplanilla,generaremosungrficodeGANTTquenosmuestreladuracindelas
tareas,ynosdelaopcindeadaptarseautomticamenteantecambiosenfechasdeinicio,o
duracindelasmismas.

Estegrficoesmuyusado,enproyectosparaencontrarpuntoscrticos,ascomotambin
determinaratrasosenlasentregasyevaluardecisionesatomarantedesvosenelcronograma
propuesto.

Enlasiguienteplanillavemosquetenemosfechainicialdecadatarea,fechadefindecadatarea,
ymedianteunaformulacalculamoslosdasquedemoramoseneldesarrollodecadatarea.

Apartirdeallgeneramosungrficodebarras,yllegaremosalsiguientegrfico:

Formularios

EsteconjuntodeherramientasnosaportarenExcel,unestilogrficoquenospermitirmanejar
laplanilladesdeunentornovisualmsameno.

Enelsiguienteejemploveremoscomoutilizarlabarradeherramientas,personalizandovarias
opcionesalrespecto.

Enlaplanillaaplicaremosvariasherramientasdeltemaformularios,paraesto,elprimerpasoser
dejarvisibledichabarradeherramientas,yparaesovamosalmenVerBarraHerramientas
Formularios,comovemosacontinuacin:

Estaopcinnosdesplegarlasiguientebarraconlaquetrabajaremosenlossiguientespasos:

LaprimeraherramientaqueaplicaremosserladeCuadroCombinadoparalaspropuestasde
diferentestiposdehabitacionesconlasquecuentaelhotel.Paraesto,vamosacolocaruna
planillaauxiliarquenosproveadelasiguienteinformacin:

Vamosatomarentoncesdelabarradeherramientas,elCuadroCombinado,yalseleccionarnos
permitirdibujardichocuadrosobrelaplanilla:

Paraquedichocuadrodesplieguelasopciones,detiposdehabitaciones,daremosclicderecho
sobreelcuadrocombinadoquedibujamos,yseleccionamoslaopcindeFormatodeControl.

Estonosdesplegarlasiguientepantalla:

AqucompletaremoselRangodeEntrada:ennuestrocasoformadoporelrangoE1:E3(los
distintostiposdehabitacionesquesedesplegarnalpresionarsobreelcuadrocombinado).

Lavinculacinconlaceldalaharemosconunaceldaarbitraria(H1),enellamasadelante
visualizaremoselnmerodendiceoposicinqueelusuarioseleccionedelcuadrocombinado.
Porltimoenestecuadrolaslneasdeuninverticalesrepresentanlacantidaddedatosquese
vanavisualizarporpantallaquesemuestreenelcuadrocombinado.

VeamosquealseleccionarenestecasolahabitacinSINGLE,aparecerelnmero1enlacelda
H1quefuelaceldaconlaquevinculamoselcuadrocombinado.Encasoqueelusuarioseleccione
lahabitacindoble,sereflejarelnmero2enH1,ynmero3encasodeseleccionarlaSUITE.

ParaqueautomticamentepodamosdeterminarelpreciodelahabitacinporDIA,utilizaremos
unafuncindeExcelqueserINDICE:

=INDICE(F1:F3;H1)

ConestoobtendremosdelrangoF1:F3,elnmerodeposicinquesedeterminaenlaceldaH1.

Enestesiguientepasovamosautilizarotrodeloscontrolesdelabarradeformularios,queserel
ControldeNmeros:

Enestapantallacontrolaremosnuestroformulario.Aplicaremosunvaloractual.Elvalormnimolo
estableceremosen1,yelvalormximoen30,yelincrementoen1.Estoquieredecirqueel
mnimodedasdeestadaser1,yelmximodedasdeestadaser30.Laceldaconlacual
vincularemosserlaceldaH2(celdaarbitraria).

EnlaceldaB5,aplicaremoscomofrmulaunareferenciaalaceldaH2yaqueestacontendrel
valorseleccionadoenelformulario.

ParaelcasodelaeleccindecocheraoptaremosporuncontroldenominadoCasillade
Verificacin(delamismabarradeformularios).Estonosdaruncheckboxconvaloresde
verdaderoofalso,segnlacasillaestemarcadaono.

EstableceremoselvalordelacocheraenbasealaceldaH3,porlotantoennuestraceldaB6
aplicaremoslasiguienteformula:

=SI(H3;5;0)*B5

Estaformulanospresentarelvalor5encasodequelacasilladeverificacinestemarcadaycero
encasodequenoestemarcada,basndoseenelvalordelaceldaH3queserverdaderoofalso,
yestolomultiplicamosporlaceldaB5quetienelacantidaddedasdeestadaenelhotel.

Laideaesquemedianteelejemploveamoselusodediferentesformularios,perotambincada
unolopuedeadaptaralasnecesidadesdelaplanillaqueesteimplementando.

Enelsiguientecasoparalasformasdepago,dibujaremosuncuadrodelista,yentoncesdaremos
comorangodeentradalasceldasquecontienenlasdiferentesopcionesencuantoaformasde
pago.

EnelcasodelporcentajedeintersnuevamenteutilizaremoslafuncinINDICEcomoaplicamos
anteriormente.

Veamoslaplanillafinalizada,eimplementandolosdiferentesformularios:

Existendiferentesbotonesdelabarradeformulariosque,sibiennofueronutilizadoseneste
ejemplosontilesendiferentescasoscomoson:

Etiqueta
Cuadrodegrupo
Botn
Botndeopcin
Barradesplazamiento

MDULO

MACROS

EN

EXCEL
MduloMacrosenExcel

ConceptoGeneral:

Macro:

UnprogramaescritoograbadoporelusuarioquealmacenaunaseriedecomandosdeMicrosoft
Excelquepuedenutilizarseposteriormentecomounnicocomando.Mediantelasmacros
puedenautomatizarselastareascomplejasypuedenreducirseelnmerodepasosnecesarios
pararealizarlastareasqueseejecutanconmsfrecuencia.Lasmacrossegrabanenellenguajede
programacindeVisualBasicparaAplicacionesdeMicrosoft.Tambinpuedenescribirselas
macrosdirectamenteenelEditordeVisualBasic.

LaideadegenerarmacrosenMicrosoftExcelradicaenlaautomatizacindetareasenlaplanilla
electrnica.DeestamaneraquedarimplementadaunasolucinenVisualBasicparaaplicaciones
(VBA)queesellenguajedeprogramacinqueseutilizaenlasuitedeOfficeparadesarrollar
Macros.

Existenbsicamentedosformasdedesarrollarmacros:

MedianteelusodelaGrabadoradeMacros
MedianteelEditordeVisualBasicparaaplicaciones

Comencemosconelusodelagrabadoraenunejemplodondeapliquemostrestareas,enprimer
lugarescribiremosHolaenlaceldaA1,luegopondremosNegritayporltimopintaremosde
fondoamarillodichacelda.

Paraesto,comenzaremosporencenderlagrabadora,paraquecaptecadaunadelastareasque
vamosrealizando:

LagrabadoralaencendemosmedianteelmendeHerramientasMacroGrabarnuevamacro,
comovemosacontinuacin:

Nosaparecerlasiguientepantallaparaconfigurarlagrabacindedichomacro:

Acadamacroquegrabemoslepodemosasignarunnombre,enformapredeterminadala
grabadoraasignarMacro1,Macro2.

LuegopodremostambinasignarunMtodoAbreviado,paraqueelusuarioquedeseeejecutar
rpidamenteunmacropuedaacudiraesteatajodeteclado(porejemploctrl.+T).

Podremosgrabarelmacroenelmismolibroenelcualestamostrabajando,podremosgrabarloen
unlibroindependiente,otambincomoopcinadicionalpodremosgrabarloenelLibroPersonal,
queesalgoascomounabibliotecademacrospersonalesquepodemosejecutarencualquier
archivodeExcelquedeseemoseldademaana.

Enladescripcinpodemosdarpautasprecisasdedeterminadosdetallesdelastareasque
ejecutarnuestromacro.

Cuandoconfiguramosdichapantalla,alpresionarAceptar,lagrabadoradeMacrosgenerarun
cdigoVBAporcadaunadelastareasquevayamosrealizandodeahoraenmas(nocaptalos
movimientosdelMouse,nidelcursorquerealicemos,perosielingresoacualquieradelas
opcionesdeExcel).

Realizamosacontinuacinlastrestareaspropuestas,yluegodetenemoslagrabacinmedianteel
mendeHerramientasMacroDetenerGrabacin.

Bueno,ahoraveamoscomorepetimoslastareasejecutandoelmacrograbadoenestaetapa
anterior.

UnadelasposibilidadesquetenemosesejecutarelmacromedianteelmendeHerramientas
MacroMacros

Seleccionamoselmacroaejecutaryluegopresionamossobreelbotnejecutartalcualaparece
enlapantallaacontinuacin:

Enestapantallanosolopodemoselegirelmacroaejecutar,yluegorealizarlaejecucinsinoque
tambinencasoquequeramosdarunmtodoabreviadobastarconseleccionarelmacroycon
elbotndeopcionesnosaparecerelsiguientecuadrodondeasignaremoselmtodoabreviado
quedeseemos:

EnestecasoelusuarioquepresionelacombinacinCTRL+tejecutarelmacroque
desarrollamosanteriormente.

Noolvidemosqueelmacronoeliminaelcontenidodelaceldaparaejecutar,sinoquelohace
sobrescribiendoelcontenidoanteriordedichacelda.

Podramosbiencrearunmacroquenospermitaborrarparaluegovolveraejecutar.

Enelcasoquedeseemoscambiarelmtodoabreviadovolveremosarepetirelprocedimientode
iralmenHerramientasMacroMacros(omedianteelaccesodirectodeALT+F8),
seleccionamoselMacroalquelequeramoscambiarelmtodoabreviadoyconelbotnopciones
accedemosalamismapantalladondereasignaremoselabreviado.
Ahora,sinosotrosquisiramosejecutarelmacrodeunaformamssimpleyrpidatambin
tenemoslaposibilidaddeinsertarunbotndesdelabarradeformularios,yasignarlealmismoun
macro.

EstoloharemosmedianteelmenVerBarraHerramientasFormularios,comovemosa
continuacin:

Enlabarradeherramientasdeformulariosseleccionaremoselbotndecomandoylo
dibujaremosenlaplanillaconlaqueestamostrabajando.

Elbotndecomandonospermitirdibujarlosobrecualquierlugardelaplanillacon
lacualestemostrabando.

Esimportanteacotarquedichobotnquedarsobrelaplanillaynoformandoparte
delamismaenunaceldaenparticular.

Unavezquedibujemosdichobotndecomando,alsoltarelMousenospermitir
asignarleunmacroalmismo.

EnelcasodequehayamossoltadoelMouseynosquedemossinasignarunmacroal
mismo,podemosmedianteelbotnderechosobreelbotndibujadoseleccionarla
opcindeAsignarMacro.

Adichobotnpodremoscambiarleelnombre,modificarleeltamaocambiareltextoqueaparece
dentrodelbotn.

RecordarqueparaseleccionarelbotnsimplementeconelCTRLpresionadodamosclicsobre
dichobotnyyapasamosalmodoedicindondeaparecenlospuntosdeagarresobredicho
botn.

Deahoraenmas,simplementeelusuariopresionardichobotnparaejecutarelmacroasignado.

NOTA:Siqueremosasignarunmacroaunaimagenoaunmacropodemoshacerelmismo
procedimiento,osea,insertarlaimagenoelgrficoyconelbotnderechoseleccionarlaopcin
deasignarmacroparaindicarquemacroasignaremosadichaimagen.

Porotroladootramaneraquetenemosdegenerarunaformarpidadeejecucindemacroses
generandouniconoenlabarradeherramientasdeExcel.

ParaestopresionaremossobrelabarradeherramientasestndarconelBOTNDERECHODEL
MOUSE,yseleccionamoslaopcinPERSONALIZAR.

Nosaparecerlasiguientepantalla:

EnlasolapaComandos,buscaremoslacategoraMacrosyaladerechaenlalistadecomandos
veremosdostiposquesern:PersonalizarelementodemenyPersonalizarbotn,estaltima
opcinserlaqueutilicemosparaarrastrarelicono(medianteelbotnizquierdodelMouse
presionado)haciaunlugardelabarradeherramientasestndardeExcel.

Elbotnnosquedenlabarradeherramientasysimplementecuandopresionemosporprimera
vezendichobotnnospermitirasignarleelmacrocorrespondiente.

Encasodequenosotrosqueramosmodificarelmacroydeahoraenmsdeseemoscambiarla
estructura,paraqueloapliqueaunconjuntodeceldas,oparaquenosescribadiferentespalabras
porcadacelda,nonosquedarotraqueacudiraleditordeVisualBasicparaAplicacionespara
cambiarlasintaxisdelagrabacin.

ConlacombinacinALT+F11pasaremosrpidamentealentornoVBA,tambinpodramospasara
dichapantallamedianteelmendeHerramientasMacrosEditorVisualBasic

Nosdesplegarlapantallaquevemosacontinuacin:

Enestapantallatrabajaremosescribiendonuestrospropiosmacros.

Comovemossobrelaparteizquierdadeestapantalla,tenemosunacarpetadeMdulosdonde
encontraremoslosdiferentesmacrosquesehayandesarrollado.Ennuestrocasosolocontamos
conelMdulo1queesdondeseencuentraelmacrograbadoanteriormente.

AldardobleclicsobreelMdulo1veremosaladerechadelapantallaelcdigoque
anteriormentelagrabadorafueescribiendoautomticamentemientrasnosotrosrealizbamoslas
tareas.

CDIGOVBA

ElcdigoVBAsemanejaenidiomaingls.Engeneralellenguajebsicamentesemanejaorientado
aeventos.
Cadaobjetoseseparamedianteel.(Punto)delasdiferentespropiedadesqueposee.

Conceptosesenciales.

Clase:Esunaagrupacindeobjetosconlasmismascaractersticasypropiedades.

Objeto:Sonelementosquesecaracterizanporposeerpropiedadesencomn.

Mtodo:Cualquieroperacinpasibledeserejecutadasobreunobjeto.

Ejemplo: Clase:MediosdeTransporte(generalizacin)
Subclase:Autos(especializacin)

Variable:

Unlugardealmacenamientoconnombrequepuedecontenerciertotipodedatos.Cadavariable
tiene un nombre nico que la identifica. Nombres de variable deben comenzar con un carcter
alfabtico,debensernicosdentrodelmismombito,nodebencontenermsde255caracteres
ynopuedencontenerunpunto.

CadamacroquevayamosescribiendoeneleditordevisualBasic,debecomenzarconlasentencia
Sub,yterminarconlasentenciaEndSub.

Veamosennuestroprimerejemplo.DentrodelacarpetaMdulostenemosnuestroModulo1y
dentrodelmismodesarrollamosdosmacros.

NuestroMacro1fuegrabadomedianteelusodelagrabadoraparamacrosyluegocomenzamos
mediantelaordenSubelmacrodenominadoPrimeroquesimplementeescribelapalabraHOLA
enlaceldaA1.

EnformapredeterminadacuandohacemosreferenciaalaceldaA1,MicrosoftExcellotomar
sobrelahojaactiva(hojaenlaqueestamosposicionadosalejecutarelmacro).

Formasdereferiralahoja:

ActiveSheet.Range(A1).value

AquhacemosreferenciaalaceldaA1delahojaactiva

Sheets(1).Range(A1).Value

Aquhacemosreferenciaalahojaconndice1,celdaA1dellibroactivo

Sheets(Hoja1).Range(A1).Value

AquhacemosreferenciaalahojadenominadaHoja1,celdaA1

RepetimosqueenformapredeterminadaExceltomaActivesheetcuandonosreferimosauna
celdadeterminada.

Mtodos.

Lamayoradeobjetostienencomportamientosorealizanacciones,porejemplo,unaaccin
evidentedeunobjetococheeseldemoverseoloqueeslomismo,trasladarsedeunpuntoinicial
aunpuntofinal.

Cualquierprocesoqueimplicaunaaccinopautadecomportamientoporpartedeunobjetose
defineensuclaseparaqueluegopuedamanifestarseencualquieradesusobjetos.As,enlaclase
cochesedefiniranenelmtodomovertodoslosprocesosnecesariosparallevarloacabo(los
procesosparadesplazardeunpuntoinicialaunpuntofinal),luegocadaobjetodelaclasecoche
simplementetendraqueinvocarestemtodoparatrasladarsedeunpuntoinicialaunpunto
final,cualesquieraquefueranesospuntos.

Repasemosacontinuacintodosestosconceptosperoahoradesdeelpuntodevistadealgunos
delosobjetosquenosencontraremosenExcelcomoWorkSheet(Objetohojadeclculo)oRange
(Objetocasillaorangodecasillas).

UnobjetoRangeestdefinidoporunaclasedondesedefinensuspropiedades,recordemosque
unapropiedadesunacaracterstica,modificableono,deunobjeto.Entrelaspropiedadesdeun
objetoRangeestnValue,quecontieneelvalordelacasilla,ColumnyRowquecontienen
respectivamentelafilaylacolumnadelacasilla,Fontquecontienelafuentedeloscaracteresque
muestralacasilla,etc.

Range,comoobjeto,tambintienemtodos,recordemosquelosmtodossirvenllevaracabo
unaaccinsobreunobjeto.PorejemploelmtodoActivate,haceactivaunaceldadeterminada,
Clear,borraelcontenidodeunaceldaorangodeceldas,Copy,copiaelcontenidodelaceldao
rangodeceldasenelportapapeles,...

Conjuntos.

Unaconjuntoesunacoleccindeobjetosdelmismotipo,paralosqueconozcanalgnlenguajede
programacinesunarraydeobjetos.Porejemplo,dentrodeunlibrodetrabajopuedeexistirms
deunahoja(WorkSheet),todaslashojasdeunlibrodetrabajoformanunconjunto,elconjunto
WorkSheets.

Cadaelementoindividualdeunconjuntosereferenciaporunndice,deestaforma,laprimera,
segundaytercerahojadeunlibrodetrabajo,sereferenciarnporWorkSheets(1),WorkSheets(2)
yWorkSheets(3).

ObjetosdeObjetos.

Esmuyhabitualqueunapropiedaddeunobjetoseaotroobjeto.Siguiendoconelcoche,unade
laspropiedadesdelcocheeselmotor,yelmotoresunobjetoconpropiedadescomocubicaje,
caballos,nmerodevlvulas,etc.ymtodos,comoaumentar_revoluciones,cargar_combustible,
mover_pistones,etc.

EnExcel,elobjetoWorkSheetstienelapropiedadRangequeesunobjeto,Rangetienela
propiedadFontqueestambinunobjetoyFonttienelapropiedadBold(negrita).Tengaestomuy
presenteyaqueutilizaremosfrecuentementePropiedadesdeunobjetoqueserntambin
Objetos.

Dichodeotraforma,haypropiedadesquedevuelvenobjetos,porejemplo,lapropiedadRangede
unobjetoWorkSheetdevuelveunobjetodetipoRange.

Insertarunnuevomdulo.

Unmdulosirveparaagruparprocedimientosyfunciones.Elprocedimientoylafuncinson
entidadesdeprogramacinquesirvenparaagruparinstruccionesdecdigoquerealizanuna
accinconcreta.
ParainsertarunmduloactiveopcindelmenInsertar/Mdulo.Seactivarunanuevaventana,
siaparecedemasiadopequea,maximcela.

Insertarunprocedimiento.

Yahemosdichoqueunprocedimientoesunbloquedeinstruccionesdecdigoquesirvenpara
llevaracaboalgunatareaespecfica.Unprocedimientoempiezasiempreconlainstruccin

SubNombre_Procedimiento

YterminaconlainstruccinEndSub.

Acontinuacincrearemosunprocedimientoparaponereltexto"Hola"enlacasillaA1.

Ejemplo1

SubPrimero

Range("A1").Value="Hola"

EndSub

Observeelcdigo.

Range("A1").Value="Hola"

EnestalneaestamosindicandoquetrabajamosconunobjetoRange.Paraindicarlequenos
referimosalacasillaA1,encerramosentreparntesisestareferencia(msadelanteverotra
formadereferirnosalascasillas).Deesteobjeto,indicamosquequeremosestablecerunnuevo
valorparalapropiedadValue,observequeparasepararelobjetodesupropiedadutilizamosla
notacinpunto.
RecuerdequeelconjuntoRangeesunobjetoquependedelobjetoWorkSheets,asporejemplo
elsiguientecdigoharalomismoqueelanterior.

WorkSheets(1).Range("A1").Value="Hola"

Bueno,dehechonohacelomismo,enlaprimeraopcin,eltexto"Hola"seponedentrodela
casillaA1delahojaactiva,mientrasqueenelsegundoesenlacasillaA1deprimerahoja(del
conjuntodehojas).

Lasegundanotacinesmslarga,perotambinmsrecomendableyaqueseespecificantodos
losobjetos.Enmuchasocasionessepuedenomitiralgunosobjetosprecedentes,nole
aconsejamoshacerlo,susprogramasperdernclaridadyconcisin.

SideseahacerreferenciaalahojaactivapuedeutilizarActiveSheet,as,elprimerejemplolo
dejaremosdelamanerasiguiente.

SubPrimero

ActiveSheet.Range("A1").Value="Hola"

EndSub

Sideseaponer"Hola"(ocualquiervalor)enlacasillaactiva,puedeutilizarlapropiedad(objeto)
ActivecelldeWorkSheets.Asparaponer"Hola"enlacasillaactivadelahojaactivaseria,

SubPrimero

ActiveSheet.ActiveCell.Value="Hola"

EndSub

Paraterminarconesteprimerejemplo.WorkSheetsestndentrodelObjetoWorkBooks(libros
detrabajo)yWorkBooksestndentrodeApplication.

Applicationeselobjetosuperior,eselquerepresentalaaplicacinExcel.As,elprimerejemplo,
siguiendotodalajerarquadeobjetosquedaradelaformasiguiente.

SubPrimero

Application.WorkBooks(1).WorkSheets(1).Range("A1").Value="Hola"

EndSub

Insistiendoconlanomenclatura,Applicationcasinuncaesnecesarioespecificarlo,pienseque
todoslosobjetospendendeeste,WorkBookssernecesarioimplementarlosienlasmacrosse
trabajacondiferenteslibrosdetrabajo(diferentesarchivos),apartirdeWorkSheets,es
aconsejableincluirloenelcdigo,sobretodosisequieretrabajarcondiferenteshojas,ver,sin
embargo,queenmuchasocasionesnoseaplica.

Ejecutarunprocedimientoofuncin.

Pruebeejecutarelprimerprocedimientodeejemplo.

1. Siteelcursordentrodelprocedimiento.
2.ActiveopcindelabarrademensEjecutar/EjecutarSubUserform.Tambinpuedehacer
clicsobreelbotnopulsarlateclaF5.

Paraejecutarelprocedimientodesdelahojadeclculo.

Debeestarenunahoja,noeneleditordeVisualBasic

1. ActiveopcindelabarrademensHerramientas/Macro/Macros.Sedespliegauna
ventanaquemuestraunalistadondeestntodaslasmacrosincluidasenellibrode
trabajo.
2. SeleccionelamacrodelalistaypulsesobreelbotnEjecutar.

Ejemplo2

Enestesegundoejemplosimplementeampliaremoslafuncionalidaddelamacrodelejemplo1.
Ademsdeescribir"Hola"enlacasillaA1delaceldaA1,lapondremosennegritayledaremos
coloraltexto.

ParaelloutilizaremoslaspropiedadesBoldyColordelobjetoFont.

SubSegundo

ActiveSheet.Range("A1").Value="Hola"
ActiveSheet.Range("A1").Font.Bold=True
ActiveSheet.Range("A1").Font.Color=RGB(255,0,0)

EndSub

True.

True,quetraducidoesverdadero,simplementeindicaquelapropiedadBoldestactivada.Sise
desearadesactivar,bastaraconigualarlaalvalorFalse.

LafuncinRGB.

ObservequeparaestablecerelcolordelapropiedadseutilizalafuncinRGB(Red,Green,Blue),
lostresargumentosparaestafuncinsonvaloresdel0a255quecorrespondenalaintensidadde
loscoloresRojo,VerdeyAzulrespectivamente.

Referenciarunrangodeceldas.

SlotienequecambiaralaformaCasilla_Inicial:Casilla_Final.Porejemploaplicarelltimo
ejemploalrangodecasillasquevadelaA1alaA8,ponga.

SubSegundo
ActiveSheet.Range("A1:A8").Value="Hola"
ActiveSheet.Range("A1:A8").Font.Bold=True
ActiveSheet.Range("A1:A8").Font.Color=RGB(255,0,0)
EndSub

Variables.

AcontinuacinvamosarepetirelprogramaEjemplo1,peroenlugardeponer"Hola"enlacasilla
A1delahojaactiva,dejaremosqueelusuarioentreuntextodesdetecladoyacontinuacin
guardaremosesevalorenesacasilla.

Observequeelvalorqueingreseelusuariodebeguardarseenalgnlugarparapoderponerlo
despusenlacasillaA1;puesbien,esevalorseguardarenunavariable.

Unavariableessimplementeuntrozodememoriaquelafuncinoprocedimientosereservapara
guardardatos,laformageneraldedeclararunavariablees

DIMvariableAStipo.

SiendovariableelnombrequeseasignaalamismayTipoeltipodedatosqueseguardarn
(nmeros,texto,fecha,booleanos,...).

Ennuestroejemplo,declararemoslavariabledetipoString(tipotexto),yloharemosdelaforma
siguiente.

DimTextoAsString

Conestoestamosindicandoquesereserveuntrozodememoria(elquesea),quesellamaTexto
yqueeltipodedatosqueseguardarnahserncaracteres.

LaFuncinInputBox.

Estafuncinmuestraunaventanaparaqueelusuariopuedatecleardatos.Cuandosepulsasobre
Aceptar,losdatosentradospasanalavariablealaquesehaigualadolafuncin.Vealalnea
siguiente.

Texto=InputBox("Introduzcaeltexto","Entradadedatos").

SienlaventanaquemuestraInputBoxpulsasobreelbotnAceptar,losdatostecleadosse
guardarnenlavariableTexto.

SintaxisdeInputBox.

InputBox(Mensaje,Ttulo,Valorpordefecto,Posicinhorizontal,PosicinVertical,Archivo
Ayuda,Nmerodecontextoparalaayuda).

Mensaje:Eselmensajequesemuestraenlaventana.Sideseaponermsdeunalneaponga
Chr(13)paracadanuevalnea,veaelejemplosiguiente.

Ttulo:EselttuloparalaventanaInputBox.Esunparmetroopcional.

Valorpordefecto:Eselvalorquemostrarpordefectoelcuadrodondeelusuarioentraelvalor.
Parmetroopcional.

PosicinHorizontal:LaposicinXdelapantalladondesemostrarelcuadro,concretamenteesla
posicinparalaparteizquierda.Siseomiteelcuadrosepresentahorizontalmentecentradoala
pantalla.

PosicinVertical:LaposicinYdelapantalladondesemostrarelcuadro,concretamenteesla
Posicinparalapartesuperior.Siseomiteelcuadrosepresentaverticalmentecentradoala
Pantalla.

ArchivoAyuda:Eselarchivoquecontienelaayudaparaelcuadro.Parmetroopcional.

Nmerodecontextoparalaayuda:Nmeroasignadoquecorrespondealidentificadordelarchivo
deayuda,sirveparalocalizareltextoquesedebemostrar.Siseespecificaesteparmetro,debe
especificarseobligatoriamenteelparmetroArchivoAyuda.

Ejemplo3

SubEntrar_Valor

DimTextoAsString
'Chr(13)sirveparaqueelmensajesemuestreendosLneas

Texto=InputBox("Introduciruntexto"&Chr(13)&"ParalacasillaA1","Entradadedatos")

ActiveSheet.Range("A1").Value=Texto

EndSub

Esteejemplotambinsepuedehacersinvariables.

SubEntrar_Valor

ActiveSheet.Range("A1").Value=InputBox("Introduciruntexto"&Chr(13)&"Paralacasilla
A1","Entradadedatos")

EndSub

Ejemplo4

Repetiremoselejemplo3,peroenlugardeentrarlosvaloressobrelacasillaA1,haremosqueel
usuariopuedaelegirenquecasillaquiereentrarlosdatos,esdecir,selepreguntaralusuario
medianteunsegundoInputboxsobrequecasillaquiereentrarelvalordelprimerInputbox.Sern
necesariasdosvariables,unaparaguardarlacasillaqueescojaelusuarioyotraparaguardarel
valor.

OptionExplicit

SubEntrar_Valor

DimCasillaAsString
DimTextoAsString

Casilla=InputBox("Enquecasillaquiereentrarelvalor","EntrarCasilla")

Texto=InputBox("Introduciruntexto"&Chr(13)&"Paralacasilla"&Casilla,"Entradadedatos")

ActiveSheet.Range(Casilla).Value=Texto

EndSub

LasentenciaOptionExplicit.

Envisualbasicnoesnecesariodeclararlasvariables,porejemplo,enelprogramaanteriorse
hubierapodidoprescindirdelaslneas

DimCasillaAsString
DimTextoAsString

A pesar de ello, le recomendamos que siempre declare las variables que va a utilizar, de esta
forma sabr cuales utiliza el procedimiento y qu tipo de datos guarda cada una, piense que a
medidaquevayaaprendiendo,crearprocedimientoscadavezmscomplicadosyquerequerirn
el uso de ms variables, si no declara las variables al principio del procedimiento ocurrirn dos
cosas. Primero, las variables no declaradas son asumidas como tipo Variant (este es un tipo de
datosquepuedealmacenarcualquiervalor,nmero,fechas,texto,etc.perotengaencuentaque
ocupa 20 Bytes y para guardar una referencia a una casilla, la edad de alguien, etc. no son
necesarios tantos bytes); segundo, reducir considerablemente la legibilidad de sus
procedimientos ya que las variables las ir colocando a medida que las necesite, esto, a la larga
complicarlacorreccinomodificacindelprocedimiento.

Bueno, pues toda la explicacin anterior es para que declare todas las variables que va a utilizar.
LasentenciaOptionExplicitalprincipiodelmdulofuerzaaquesedeclarentodaslasvariables.Si
al ejecutar el programa, se encuentra alguna variable sin declarar se producir un error y no se
podrejecutarelprogramahastaquesedeclare.

SitodavanosehaconvencidosobrelaconvenienciadedeclararlasvariablesyutilizarOption
Explicit,pruebeelprocedimientosiguiente,cpielotalcual(TextoyTestoestnpuestosadrede
simulandoquenoshemosequivocadoalteclear).

SubEntrar_Valor

Texto=InputBox("Introduciruntexto"&Chr(13)&"ParalacasillaA1","Entradadedatos")

ActiveSheet.Range("A1").Value=Testo

EndSub

Observequeelprogramanohaceloquesepretendaquehiciera.Efectivamente,TextoyTesto
sondosvariablesdiferentes,comonosehadeclaradoningunanisehautilizadoOptionExplicit
VisualBasicnodaningntipodeerroryejecutaelprograma.Pruebeelsiguientemduloe
intenteejecutarlo.

OptionExplicit

SubEntrar_Valor

DimTextoAsString

Texto=InputBox("Introduciruntexto"&Chr(13)&"ParalacasillaA1","Entradadedatos")
ActiveSheet.Range("A1").Value=Testo

EndSub

Observequeelprogramanoseejecuta,alponerOptionExplicit,forzamosaquesedeclarentodas
lasvariables.VisualBasicdetectaquelavariableTestonohasidodeclaradayasloindica
mostrandoError,entoncesescuandoesmsfcildarnoscuentadelerrorquehemoscometidoal
teclearycambiamosTestoporTexto.Ahoraimaginequeelerrorseproduceenunprogramade
cientosdelneasquenecesitaotrastantasvariables.

TiposdedatosenVisualBasicparaExcel.(Tablacopiadadelaayudaen
lneadeVisualBasicparaExcel).

Tipodedatos TamaoAlmacenamiento Intervalo


Byte 1byte 0a255
Boolean 2bytes TrueoFalse
Integer 2bytes 32.768a32.767
Long(enterolargo) 4bytes 2.147.483.648a2.147.483.647
Single(comaflotante/
precisinsimple)
4bytes 3,402823E38a1,401298E45para
valoresnegativos;
1,401298E45a3,402823E38para
valorespositivos
Double(comaflotante/
precisindoble)
8bytes 1,79769313486232E308a
4,94065645841247E324
paravaloresnegativos;
4,94065645841247E324a
1,79769313486232E308paravalores
positivos
Currency(enteroa
escala)
8bytes 922.337.203.685.477,5808a
922.337.203.685.477,5807
Decimal 14bytes +/
79.228.162.514.264.337.593.543.950.335
sinpunto
decimal;+/
7,9228162514264337593543950335con
28posicionesaladerechadelsigno
decimal;el
nmeromspequeodistintodecero
es+/
0,0000000000000000000000000001
Date 8bytes 1deenerode100a31dediciembrede
9999
Object 4bytes CualquierreferenciaatipoObject
String(longitud
variable)
10bytes+longitudde
lacadena
Desde0a2.000millones
String(longitudfija) Longituddelacadena Desde1a65.400aproximadamente
Variant(connmeros) 16bytes Cualquiervalornumricohastael
intervalodeuntipo
Double
Variant(con
caracteres)
22bytes+longitudde
cadena
Elmismointervaloqueparauntipo
Stringdelongitud
variable
Definidoporel
usuario(utilizando
Type)
Nmerorequeridopor
loselementos
Elintervalodecadaelementoesel
mismoqueel
intervalodesutipodedatos.

ConversindeTiposdedatos.

CopieelsiguienteEjemplo.Simplementesepidendosnmeros,sesumanyseguardanellacasilla
A1delahojaactiva.

Ejemplo5

OptionExplicit

SubSumar()

DimNumero1AsInteger
DimNumero2AsInteger
Numero1=InputBox("Entrarelprimervalor","Entradadedatos")
Numero2=InputBox("Entrarelprimervalor","Entradadedatos")
ActiveSheet.Range("A1").Value=Numero1+Numero2

EndSub

Ejecuteelprocedimientoypongarespectivamentelosvalores25y25.Observequetodohaido
correctamenteyenlacasillaA1delahojaactivaapareceun50.

Ahora,vuelvaaejecutarelprogramaycuandoselepideelprimervalorteclee"Hola".Observe
queelprogramasedetieneindicandounerroreneltipodedatos.Efectivamente,observequela
funcinInputBoxdevuelvesiempredatostipoString,enelprimerejemplonohahabidoningn
problema,alentrarcaracteresnumricos1,estospuedenasignarseavariablestipoIntegerporque
VisualBasichaceautomticamentelaconversin,peroalentrartextoeintentarloasignarauna
variableIntegerVisualBasicmuestraunerrorindicandoquelavariablenoesadecuadaparalos
datosquesedeseanguardar.

Parasolucionarestosproblemassedebenutilizarfuncionesdeconversindetipo.Estas
funciones,comosunombreindica,conviertendatosdeuntipoaotro,deStringaInteger,de
IntegeraString,deDateaString,...Aselprocedimientoanteriorquedara.

OptionExplicit

SubSumar()

DimNumero1AsInteger
DimNumero2AsInteger
Numero1=Val(InputBox("Entrarelprimervalor","Entradadedatos"))
Numero2=Val(InputBox("Entrarelprimervalor","Entradadedatos"))
ActiveSheet.Range("A1").Value=Numero1+Numero2

EndSub

LafuncinVal(DatoString),convierteunacadenadecaracteresavalornumrico.Silacadenaa
convertircontienealgncarcternonumricodevuelve0.As,sialpedirunvalorseteclea"Hola",
lafuncinVal,devolveruncero.

Funcionesdeconversindetipos.(Tablacopiadadelaayudaenlneade
VisualBasicparaExcel).

Val(Cadena).Conviertelacadenaaunvalornumrico.
Str(Nmero).Convierteelnmeroaunaexpresincadena.
CDate(Fecha).Conviertecualquiercadenaafecha.

ObjetoCells(fila,columna).

Sirve,comoelobjetorange,parareferenciarunacasillaorangodecasillas,peroenlugarde
utilizarlareferenciadelaformaA1,B1,X320,...utilizalafilaylacolumnaqueocupalacasilla
dentrodelahoja(oobjetoWorkSheet).Porejemplo,paraponerholaenlacasillaA1delahoja
activaseria:

ActiveSheet.Cells(1,1).Value="Hola"

UtilizarCellsparareferenciarunrango.

EstoseraelequivalenteaRange("Casilla_Inicial:Casilla_Final").

LaformaqueseobtieneutilizandoCellsesunpocomslarga,peroseverqueavecesresulta
muchomsfuncionalqueutilizandonicamenterange.ParareferirnosalrangoA1:B8,
pondremos:

Range(Cells(1,1),Cells(8,2)).Value="Hola"

OtraformainteresantedeCellseslasiguiente:

Range("A5:B10").Cells(2,1).Value="Hola"

PondrenlaceldaA6elvalor"Hola",observequeenesteejemploCellscomienzaacontarfilasy
columnasapartirdelrangoespecificadoenelobjetoRange.

VariablesdeObjetos.

Unavariableobjetosirveparahacerreferenciaaunobjeto,estosignificaquepodremosaccedera
laspropiedadesdeunobjetoeinvocarasusmtodosatravsdelavariableenlugardehacerlo
directamenteatravsdelobjeto.Posiblementenoseutilicedemasiadoestaclasedevariables
(estclaroqueestodependerdelaspreferenciasdelprogramador),perohaycasosenlosqueno
haymsremedioqueutilizarlas,porejemploenestructurasForEach...Nextcomoveremos,o
cuandoseanecesarioconstruirfuncionesquedevuelvanrangos,referenciasahojas,etc.

ParadeclararunavariableobjetoseutilizatambinlapalabraDimdelaformasiguiente,

DimVar_ObjetoAsObjeto

PorEjemplo:

DimRAsRange

DimHojaAsWorkSheet

ParaasignarunobjetoaunavariabledebeutilizarlainstruccinSet.

SetVariable_Objeto=Objeto

PorEjemplo

SetR=ActiveSheet.Range("A1:B10")
SetHoja=ActiveSheet
SetHoja=WorkSheets(1)

Veamosacontinuacinunejemplodecmoutilizarestetipodevariables,

Ejemplo6.

Algomuysimple,llenarelrangodeA1aB10conlapalabra"Hola"ydespusponernegrita,
observecomoseasignaunavariableobjetoalobjetoyluegocomosetrabajaconesavariablede
lamismaformaquetrabajaradirectamentesobreelobjeto.

Subobj()

DimRAsRange
SetR=ActiveSheet.Range("A10:B15")
R.Value="Hola"
R.Font.Bold=True

EndSub

Estructurascondicionales.

Ahoraqueyahaexperimentadoconunoscuantosobjetosypropiedades,nosdetendremosa
estudiarlasestructurascondicionales.Lasestructurascondicionalessoninstruccionesde
programacinquepermitencontrolarlaejecucindeunfragmentodecdigoenfuncindesise
cumpleonounacondicin.

EstudiaremosenprimerlugarlainstruccinifCondicinthen..Endif(SiCondicinEntonces...Fin
Si)

LaestructuracondicionalqueseconstruyeconlainstruccinSiCondicinEntonces...FinSitiene
laformasiguiente.

SiCondicinEntonces
Sentncia1
Sentncia2
.
.
SentnciaN

FinSi
.
.
CuandoelprogramallegaalainstruccinSiCondicinEntonces,seevalalacondicin,siestase
cumple(escierta),seejecutantodaslassentenciasqueestnencerradasenelbloque,sinose
cumplelacondicin,sesaltanestassentencias.EstaestructuraenVisualBasictienelasintaxis
siguiente:

IfCondicinThen
Sentncia1
Sentncia2
.
.
SentnciaN
EndIf

Ejemplo6

EntrarunacantidadquerepresentaelpreciodealgoporeltecladoconlainstruccinInputBoxy
guardarloenlaceldaA1delahojaactiva.Sielvalorentradodesdeelteclado(yguardadoenA1)
essuperiora1000,pedirdescuentoconotroInputBoxyguardarloenlacasillaA2delahoja
activa.

CalcularenA3,elpreciodeA1menoseldescuentodeA2.

SubCondicional()

ActiveSheet.Range("A1").Value=0'Ponerlascasillasdondeseguardanlosvalores0.
ActiveSheet.Range("A2").Value=0
ActiveSheet.Range("A3").Value=0
ActiveSheet.Range("A1").Value=Val(InputBox("Entrarelprecio","Entrar"))

'SielvalordelacasillaA1esmayorque1000,entonces,pedirdescuento

IfActiveSheet.Range("A1").Value>1000Then

ActiveSheet.Range("A2").Value=Val(InputBox("EntrarDescuento","Entrar"))

EndIf

ActiveSheet.Range("A3").Value=ActiveSheet.Range("A1").Value_
ActiveSheet.Range("A2").Value

EndSub

Ejemplo7.

Elmismoqueelanteriorperoutilizandovariables.

OptionExplicit

SubCondicional()
DimPrecioAsInteger
DimDescuentoAsInteger

Precio=0
Descuento=0
Precio=Val(InputBox("Entrarelprecio","Entrar"))

'Sielvalordelavariableprecioesmayorque1000,entonces,pedirdescuento
IfPrecio>1000Then
Descuento=Val(InputBox("EntrarDescuento","Entrar"))
EndIf

ActiveSheet.Range("A1").Value=Precio
ActiveSheet.Range("A2").Value=Descuento
ActiveSheet.Range("A3").Value=PrecioDescuento

EndSub

Viendolosdosprogramasanteriorespuedequelesurjaladudadesiemplearvariableso
directamentevaloresalmacenadosenlasceldas.Lasolucinesfcil,loqueleparezcams
convenienteencadacasoconcretoquedeseesolucionar.Lasvariables,aunquemuchasveces
"innecesarias",quizsdejanlosprogramasmslegiblesyclaros.Ylalegibilidaddeunprogramaes
lomsvaliosodelmundoparaunprogramador(profesionalmentehablando),sobretodosiseda
elcaso(inevitableel99,999...%delasocasiones)quesetengaquemodificarunprogramapara
dotarledemsfuncionalidades,facilitarsumanejo,etc.Enlamayoradeejemplosqueencontrar
enestemanualverqueseutilizanvariablespreferentemente.Aunquemuchasvecessufuncin
seasimplementerecogerdatosdelasceldasparaoperarlasydejarlasenotrasceldasy,
consecuentemente,aumenteelnmerodeoperaciones,creemosqueconelloseganaen
legibilidadyflexibilidad.

Ejemplo8.

MacroquecomparalosvaloresdelascasillasA1yA2delahojaactiva.Sisonigualesponeelcolor
delafuentedeambasenazul.

SubCondicional2()

IfActiveSheet.Range("A1").Value=ActiveSheet.Range("A2").ValueThen

ActiveSheet.Range("A1").Font.Color=RGB(0,0,255)
ActiveSheet.Range("A2").Font.Color=RGB(0,0,255)

EndIf

EndSub

EstructuraIf..Else

Estaestructuraseutilizacuandoserequiereunarespuestaalternativaaunacondicin.Su
estructuraeslasiguiente.

SiCondicinEntonces

Sentncia1
Sentncia2
.
.
SentnciaN

Sino

Sentncia1
Sentncia2
.
.
SentnciaN

FinSi
Observeque,sisecumplelacondicin,seejecutaelbloquedesentenciasdelimitadoporSi
CondicinEntoncesySinosecumplelacondicinseejecutaelbloquedelimitadoporSinoyFin
Si.

EnVisualBasiclainstruccinSiCondicinEntonces...Sino...FinSiseexpresaconlas
instruccionessiguientes.

IfCondicinThen

Sentncia1
Sentncia2
.
.
SentnciaN

Else

Sentncia1
Sentncia2
.
.
SentnciaN

EndIf

Ejemplo9.

EntrarunacantidadquerepresentaelpreciodealgoporeltecladoconlainstruccinInputBoxy
guardarloenlaceldaA1delahojaactiva.Sielvalorentradodesdeelteclado(yguardadoenA1)
essuperiora1000,seaplicaundescuentodel10%sinoseaplicaundescuentodel5%,el
descuentoseguardaenlacasillaA2delahojaactiva.ColocarenA3,eltotaldescuentoyenA4el
totalmenoseldescuento.

SubCondicional_Else()

DimPrecioAsSingle
DimDescuentoAsSingle

Precio=0

Precio=Val(InputBox("Entrarelprecio","Entrar"))

'Sielvalordelavariableprecioesmayorque1000,entonces,aplicardescuentodel10%

IfPrecio>1000Then

Descuento=Precio*(10/100)

ActiveSheet.Range("A2").Value=0,1

Else'SinoAplicardescuentodel5%

Descuento=Precio*(5/100)

ActiveSheet.Range("A2").Value=0,05

EndIf

ActiveSheet.Range("A1").Value=Precio
ActiveSheet.Range("A3").Value=Descuento
ActiveSheet.Range("A4").Value=PrecioDescuento

EndSub

Ejemplo10.

RestarlosvaloresdelascasillasA1yA2.GuardarelresultadoenA3.Sielresultadoespositivoo0,
ponerlafuentedeA3enazul,sinoponerlaenrojo.

SubCondicional_Else2()

ActiveSheet.Range("A3").Value=AvtiveSheet.Range("A1").Value_
ActiveSheet.Range("A2").Value

IfActiveSheet("A3").Value<0Then

ActiveSheet.Range("A3").Font.Color=RGB(255,0,0)

Else

ActiveSheet.Range("A3").Font.Color=RGB(0,0,255)

EndIf

EndSub

EstructurasIfanidadas.

Notienequesorprenderle,dentrodeunaestructuraifpuedeirotra,ydentrodeestaotra,y
otra...Veaelejemplosiguiente.

Ejemplo11.

CompararlosvaloresdelascasillasA1yA2delahojaactiva.Sisoniguales,escribirenA3"Los
valoresdeA1yA2soniguales",sielvalordeA1esmayorqueA2,escribir"A1mayorqueA2",
sino,escribir"A2mayorqueA1".

SubCondicional()

IfActiveSheet.Range("A1").Value=ActiveSheet.Range("A2").ValueThen

ActiveSheet.Range("A3").Value="LosValoresdeA1yA2soniguales"

Else

IfActiveSheet.Range("A1").Value>ActiveSheet.Range("A2").ValueThen

ActiveSheet.Range("A3").Value="A1mayorqueA2"

Else
ActiveSheet.Range("A3").Value="A2mayorqueA1"

EndIf

EndIf

EndSub

ObservequelasegundaestructuraIf..Else..EndIfquedadentrodelElsedelaprimeraestructura.
Estaesunareglageneral,cuandoponeunEndIf,estecierrasiempreelltimoIf(oElse)abierto.
Operadoreslgicos.

Estosoperadoresseutilizancuandosenecesitanevaluardosomscondicionesparadecidirsise
ejecutanonodeterminadasacciones.

OperadorLgicoAnd(Y).

Utilizaremosesteoperadorcuandoseaprecisoqueparaejecutarunbloquedeinstruccionesse
cumplamsdeunacondicin.Observequedeberncumplirsetodaslascondiciones.Veael
ejemplosiguiente.

Ejemplo12.

EntrarelNombre,lacantidadyelpreciodeunproductodesdeeltecladoyguardarlos
respectivamenteen
A1,A2yA3.CalculareltotalyguardarloenA4.Sieltotalessuperiora10.000yelnombredel
productoes"Patatas",pedirundescuento,calcularloeltotaldescuentoyguardarloenA5,luego
restareldescuentodeltotalyguardarloenA6.

SubEjemplo_12()

DimProductoAsString
DimCantidadAsInteger
DimPrecioAsSingle
DimTotalAsSingle
DimDescuentoAsSingle
DimTotal_DescuentoAsSingle

Precio=0
Producto=InputBox("EntrarNombredelProducto","Entrar")
Precio=Val(InputBox("Entrarelprecio","Entrar"))
Precio=Val(InputBox("Entrarlacantidad","Entrar"))
Total=Precio*Cantidad

ActiveSheet.Range("A1").Value=Producto
ActiveSheet.Range("A2").Value=Precio
ActiveSheet.Range("A3").Value=Cantidad
ActiveSheet.Range("A4").Value=Total

'Sitotalmayorque10.000yelproductoesPatatas,aplicardescuento.

IfTotal>10000AndProducto="Patatas"Then

Descuento=Val(InputBox("EntrarDescuento","Entrar"))
Total_Descuento=Total*(Descuento/100)
Total=TotalTotal_Descuento
ActiveSheet.Range("A5").Value=Total_Descuento
ActiveSheet.Range("A6").Value=Total

EndIf

EndSub

ObservequeparaqueseejecuteelbloquedeinstruccionesentreIf..EndIfdebencumplirselas
doscondicionesqueseevalan,sifallacualquieradelasdos(olasdosalavez),noseejecuta
dichobloque.

OperadorLgicoOr(O).

Utilizaremosesteoperadorcuandoseaprecisoqueparaejecutarunbloquedeinstruccionesse
cumplaalgunadeunaseriedecondiciones.Observequesloesnecesarioquesecumplaalguna
delascondicionesqueseevalan.Veaelejemplosiguiente.

Ejemplo13.

EntrarelNombre,lacantidadyelpreciodeunproductodesdeeltecladoyguardarlos
respectivamenteenA1,A2yA3.CalculareltotalyguardarloenA4.Sieltotalessuperiora10.000
oelnombredelproductoes"Patatas",pedirundescuento,calcularloeltotaldescuentoy
guardarloenA5,luegorestareldescuentodeltotalyguardarloenA6.

SubEjemplo_13()

DimProductoAsString
DimCantidadAsInteger
DimPrecioAsSingle
DimTotalAsSingle
DimDescuentoAsSingle
DimTotal_DescuentoAsSingle

Precio=0
Producto=InputBox("EntrarNombredelProducto","Entrar")
Precio=Val(InputBox("Entrarelprecio","Entrar"))
Precio=Val(InputBox("Entrarlacantidad","Entrar"))
Total=Precio*Cantidad

ActiveSheet.Range("A1").Value=Producto
ActiveSheet.Range("A2").Value=Precio
ActiveSheet.Range("A3").Value=Cantidad
ActiveSheet.Range("A4").Value=Total

'Sitotalmayorque10.000oelproductoesPatatas,aplicardescuento.

IfTotal>10000OrProducto="Patatas"Then

Descuento=Val(InputBox("EntrarDescuento","Entrar"))
Total_Descuento=Total*(Descuento/100)
Total=TotalTotal_Descuento
ActiveSheet.Range("A5").Value=Total_Descuento
ActiveSheet.Range("A6").Value=Total

EndIf

EndSub

ObservequeparaqueseejecuteelbloquedeinstruccionesentreIf..EndIfsloesnecesarioque
secumplaalgunadelasdoscondicionesqueseevalan(olasdosalavez).Slocuandonose
cumpleningunadelasdosnoseejecutanlasinstruccionesdelbloque.

EstructuraSelectCase.

Enocasionessedarelcasoqueenfuncindelvalororangodevaloresquepuedateneruna
variable,unacasilla,unaexpresin,etc.debernllevarseacabodiferentesaccionesogruposde
acciones.Veaelejemplosiguiente.

Ejemplo15.

Macroquesuma,resta,multiplicaodividelosvaloresdelascasillasA1yA2dependiendodesiB1
contieneelsigno+,,x,:.ElresultadolodejaenA3.SienB1nohayningunodelossignos
anterioresenA3debedejarseun0.

SubEjemplo_15()

DimSignoAsString
DimValor1AsInteger,Valor2AsInteger,TotalAsInteger

Valor1=ActiveSheet.Range("A1").Value
Valor2=ActiveSheet.Range("A2").Value
Signo=ActiveSheet.Range("B1").Value
Total=0

IfSigno="+"Then
Total=Valor1+Valor2
Endif

IfSigno=""Then
Total=Valor1Valor2
Endif

IfSigno="x"Then
Total=Valor1*Valor2
Endif

IfSigno=":"Then
Total=Valor1/Valor2
Endif

ActiveCell.Range("A3").Value=Total
EndSub

Observequeenelejemploanteriortodaslasinstruccionesifevalanlamismavariable.El
programafuncionacorrectamenteperoparaestoscasosesmejorutilizarlainstruccinSelectCa
se,elmotivoprincipalesporlegibilidadyelegancia.SelectCasetienelasintaxissiguiente,

SelectCaseExpresin

Casevalores:

Instrucciones.

Casevalores:
Instrucciones.
.
.
Casevalores:

Instrucciones.

CaseElse

Instruccionesencasoquenoseanningunodelosvaloresanteriores.

EndSelect

Veaelejemploanteriorsolucionadoconestaestructura.

Ejemplo16.

SubEjemplo_16()

DimSignoAsString
DimValor1AsInteger,Valor2AsInteger,TotalAsInteger

Valor1=ActiveSheet.Range("A1").Value
Valor2=ActiveSheet.Range("A2").Value
Signo=ActiveSheet.Range("A3").Value

SelectCasesigno

Case"+"

Total=Valor1+Valor2

Case""

Total=Valor1Valor2

Case"x"

Total=Valor1*Valor2

Case":"

Total=Valor1/Valor2

CaseElse

Total=0

EndSelect

ActiveCell.Range("A3").Value=Total

EndSub

VeaelejemplosiguientedondecadasentenciaCaseevalaunrangodevalores.

Ejemplo17.

ProgramaquepidetresnotasdeunalumnomediantelafuncinInputBox.Lasnotasvanaparar
respectivamentealascasillasA1,A2yA3delahojaactiva.Elprogramacalculalamediayladeja
enA4.

Silamediaestentre0y2dejaenA5elmensaje"Muydeficiente",silanotaes3dejaenA5el
mensaje"Deficiente",silanotaes4deja"Insuficiente",sies5"Suficiente",sies6"Bien",siest
entre7y8deja"Notable",siesmayorque8deja"Sobresaliente".

SubEjemplo_17()

DimNota1AsInteger,Nota2AsInteger,Nota3AsInteger
DimMediaAsSingle

Nota1=Val(InputBox("EntrarNotaprimeraevaluacin","Nota"))
Nota2=Val(InputBox("EntrarNotaSegundaevaluacin","Nota"))
Nota3=Val(InputBox("EntrarNotaTerceraevaluacin","Nota"))

Media=(Nota1+Nota2+Nota3)/3

ActiveSheet.Range("A1").Value=Nota1
ActiveSheet.Range("A2").Value=Nota2
ActiveSheet.Range("A3").Value=Nota3
ActiveSheet.Range("A4").Value=Media

SelectCaseMedia

Case0To2

ActiveSheet.Range("A5").Value="Muydeficiente"

Case3

ActiveSheet.Range("A5").Value="Deficiente"

Case4

ActiveSheet.Range("A5").Value="Insuficiente"

Case5

ActiveSheet.Range("A5").Value="Suficiente"

Case6

ActiveSheet.Range("A5").Value="Bien"

Case7To8

ActiveSheet.Range("A5").Value="Notable"

Case>8

ActiveSheet.Range("A5").Value="Sobresaliente"

EndSelect

EndSub

LafuncinMsgBox.

Estafuncinmuestraunmensajeenuncuadrodedilogohastaqueelusuariopulseunbotn.La
funcindevuelveundatotipoIntegerenfuncindelbotnpulsadoporelusuario.Alahorade
invocarestfuncin,sepermitendiferentestiposdebotones.

SintxisdeMsgBox.

MsgBox(Mensaje,Botones,Ttulo,Archivodeayuda,contexto)

Mensaje:Obligatorio,eselmensajequesemuestradentrodelcuadrodedilogo.

Botones:Opcional.Esunnmeroounasumadenmerosoconstantes(veatablaValorespara
botoneseIconos),quesirveparamostrardeterminadosbotoneseiconosdentrodelcuadrode
dilogo.Siseomiteesteargumentoasumevalor0quecorrespondeaunnicoBotnOK.

Ttulo:Opcional.Eseltextoquesemostrarenlabarradelttulodelcuadrodedilogo.

ArchivodeAyuda:Opcional.Sihaasignadountextodeayudaalcuadrodedilogo,aqudebe
especificarelnombredelarchivodeayudadondeesteltexto.

Context:Opcional.Eselnmeroquesirveparaidentificareltextoaltemadeayuda
correspondientequeestarcontenidoenelarchivoespecificadoenelparmetroArchivode
Ayuda.

TablaparabotoneseiconosdelcuadroMsgBox.(Tablacopiadadelarchivo
deayudade
MicrosoftExcel).

Constante Valor Descripcin


VbOKOnly 0 MuestrasolamenteelbotnAceptar.
VbOKCancel 1 MuestralosbotonesAceptaryCancelar.
VbAbortRetryIgnore 2 MuestralosbotonesAnular,ReintentareIgnorar.
VbYesNoCancel 3 MuestralosbotonesS,NoyCancelar.
VbYesNo 4 MuestralosbotonesSyNo.
VbRetryCancel 5 MuestralosbotonesReintentaryCancelar.
VbCritical 16 Muestraeliconodemensajecrtico.
VbQuestion 32 Muestraeliconodepreguntadeadvertencia.
VbExclamation 48 Muestraeliconodemensajedeadvertencia.
VbInformation 64 Muestraeliconodemensajedeinformacin.
VbDefaultButton1 0 Elprimerbotneselpredeterminado.
VbDefaultButton2 256 Elsegundobotneselpredeterminado.
VbDefaultButton3 512 Eltercerbotneselpredeterminado.
VbDefaultButton4 768 Elcuartobotneselpredeterminado.
VbApplicationModal 0 Aplicacinmodal
VbSystemModal 4096 Sistemamodal

Elprimergrupodevalores(0a5)describeelnmeroyeltipodelosbotonesmostradosenel
cuadrodedilogo;elsegundogrupo(16,32,48,64)describeelestilodelicono,eltercergrupo(0,
256,512)determinaelbotnpredeterminadoyelcuartogrupo(0,4096)determinalamodalidad
delcuadrodemensajes.Cuandosesumannmerosparaobtenerelvalorfinaldelargumento
buttons,seutilizasolamenteunnmerodecadagrupo.

NotaEstasconstanteslasespecificaVisualBasicforApplications.Portanto,elnombredelas
mismaspuedeutilizarseencualquierlugardelcdigoenvezdesusvaloresreales.

Losvaloresquepuededevolverlafuncinmsgboxenfuncindelbotnquepulseelusuariose
muestranenlatablasiguiente.

TabladevaloresquepuededevolverMsgBox.(TablacopiadadelarchivodeayudadeMicrosoft
VisualBasicparaaplicaciones).

Constante Valor Descripcin


VbOK 1 Aceptar
VbCancel 2 Cancelar
VbAbort 3 Anular
VbRetry 4 Reintentar
VbIgnore 5 Ignorar
VbYes 6 S
VbNo 7 No

EjemplosdeMsgBox.

SubTal()
.
.
'ElcuadroMuestralosbotonesSiyNoyuniconoenformadeinterrogante.Cuandosepulsa
'unbotn,elvalorlorecogelavariableX.Enestecasolosvaloresdevueltospuedenser6o7
'quecorrespondenrespectivamentealasconstantesVbYesyVbNo,observelainstruccinIfde
'despus.

X=MsgBox("DeseaContinuar",vbYesNo+vbQuestion,"Opcin",,)

'SehapulsadosobrebotnSi

IfX=vbYesThen
.....
Else'SehapulsadosobrebotnNo
.....
EndIf
.
.
EndSub

AlgunasvecespuedequeleinteresesimplementedesplegaruncuadroMsgBoxparamostrarun
mensajealusuariosinqueserequierarecogerningnvalor.Enestecasopuedeoptarporlaforma
siguiente:

MsgBoxPrompt:="Holausuaria,Haacabadoelproceso",Buttons:=VbOkOnLy_
Title:="Mensaje"

LoquenopuedehacerporqueVisualBasicdaraerroresponerlaprimeraformasinigualarlaa
ningunavariable.Porejemplo,laexpresinsiguienteesincorrecta:

MsgBox("Holausuario,Haacabadoelproceso",VbOkOnly,"Mensaje")

Seracorrectoponer:

X=MsgBox("Holausuario,Haacabadoelproceso",VbOkOnly,"Mensaje")

Enestecaso,aunqueXrecibaunvalor,luegonoseutilizaparanada,esdecirsimplementese
poneparaqueVisualBasicderror.

LainstruccinWith.

Suponemosquellegadoaestepuntoleparecerengorrosotenerquereferirsealosobjetos
siguiendotodaocasitodalajerarqua.Yahemosindicadoqueesmejorhacerlodeestamanera
porqueelprogramaganaenclaridadyeleganciay,consecuentemente,elprogramadorgana
tiempoalahoradehacermodificacionesoactualizaciones.LasentenciaWithleayudaratener
queescribirmenoscdigosinqueporestoelprogramapierdaenclaridad.Concretamenteesta
funcinsirveparaejecutarunaseriedeaccionessobreunmismoObjeto.

Susintaxiseslasiguiente:

WithObjeto

Instrucciones

EndWith

Repetiremoselejemplo13utilizandoestasentencia.ObservecomoconWithsehacereferenciaal
objetoActiveSheet.

Ejemplo19.

EntrarelNombre,lacantidadyelpreciodeunproductodesdeeltecladoyguardarlos
respectivamenteenA1,A2yA3.CalculareltotalyguardarloenA4.Sieltotalessuperiora10.000
oelnombredelproductoes"Patatas",pedirundescuento,calcularloeltotaldescuentoy
guardarloenA5,luegorestareldescuentodeltotalyguardarloenA6.

SubEjemplo_19()

DimProductoAsString
DimCantidadAsInteger
DimPrecioAsSingle
DimTotalAsSingle
DimDescuentoAsSingle
DimTotal_DescuentoAsSingle

Precio=0
Producto=InputBox("EntrarNombredelProducto","Entrar")
Precio=Val(InputBox("Entrarelprecio","Entrar"))
Precio=Val(InputBox("Entrarlacantidad","Entrar"))
Total=Precio*Cantidad

WithActiveSheet

.Range("A1").Value=Producto
.Range("A2").Value=Precio
.Range("A3").Value=Cantidad
.Range("A4").Value=Total

EndWith

'Sitotalmayorque10.000oelproductoesPatatas,aplicardescuento.

IfTotal>10000OrProducto="Patatas"Then

Descuento=Val(InputBox("EntrarDescuento","Entrar"))
Total_Descuento=Total*(Descuento/100)
Total=TotalTotal_Descuento

WithActiveSheet

.Range("A5").Value=Total_Descuento
.Range("A6").Value=Total

EndWith

EndIf

EndSub

EstructurasRepetitivas.

Estetipodeestructuraspermitenejecutarmsdeunavezunmismobloquedesentencias.

Ejemplo20.

Supongamosquetenemosquehacerunprogramaparaentrarlasnotasdeunaclasede5alumnos
queseguardaranrespectivamenteenlasceldasdeA1aA5delahojaactiva.Despushacerla
mediaqueseguardarenA6.Conlasestructurasvistashastaahora,podramoshacer:

SubEjemplo_20()

DimNotaAsInteger
DimMediaAsSingle

Media=0
Nota=Val(InputBox("Entrarla1Nota:","EntrarNota"))
ActiveSheet.Range("A1").Value=Nota
Media=Media+Nota
Nota=Val(InputBox("Entrarla1Nota:","EntrarNota"))
ActiveSheet.Range("A2").Value=Nota
Media=Media+Nota
Nota=Val(InputBox("Entrarla1Nota:","EntrarNota"))
ActiveSheet.Range("A3").Value=Nota
Media=Media+Nota
Nota=Val(InputBox("Entrarla1Nota:","EntrarNota"))
ActiveSheet.Range("A4").Value=Nota
Media=Media+Nota
Nota=Val(InputBox("Entrarla1Nota:","EntrarNota"))
ActiveSheet.Range("A5").Value=Nota
Media=Media+Nota
Media=Media/5
ActiveSheet.Range("A6").Value=Media

EndSub

Observequeesteprogramarepiteelsiguientebloquedesentencias,5veces.

Nota=Val(InputBox("Entrarla1Nota:","EntrarNota"))

ActiveSheet.Range("A5").Value=Nota

Media=Media+Nota

Paraevitarestatipoderepeticionesdecdigo,loslenguajesdeprogramacinincorporan
instruccionesquepermitenlarepeticindebloquesdecdigo.

EstructurarepetitivaPara(for).

Estaestructurasirvepararepetirlaejecucindeunasentenciaobloquedesentencias,unnmero
definidodeveces.Laestructuraeslasiguiente:

Paravar=Valor_InicialHastaValor_FinalPasoIncrementoHacer

Inicio

Sentencia1
Sentencia2
.
.
SentenciaN
Fin

VaresunavariablequelaprimeravezqueseentraenelbucleseigualaaValor_Inicial,las
sentenciasdelbucleseejecutanhastaqueVarllegaalValor_Final,cadavezqueseejecutanel
bloquedeinstruccionesVarseincrementasegnelvalordeIncremento.

EnVisualBasicparaExcellaestructuraParaseimplementaconlainstruccinFor...Next.

ForVarible=Valor_InicialToValor_FinalStepIncremento

Sentencia1
Sentencia2
.
.
SentenciaN

NextVariable

*Sielincrementoes1,nohacefaltaponerStep1.

Ejemplo21.

Entrar10valoresutilizandolafuncinInputBox,sumarlosyguardarelresultadoenlacasillaA1de
lahojaactiva.

SubEjemplo_21()

DimiAsInteger
DimTotalAsInteger
DimValorAsInteger

Fori=1To10

Valor=Val(InputBox("Entrarunvalor","Entrada"))
Total=Total+Valor

Nexti

ActiveCell.Range("A1").Value=Total

EndSub

Recorrercasillasdeunahojadeclculo.

UnaoperacinbastantehabitualcuandosetrabajaconExceleselrecorridoderangosdecasillas
parallenarlasconvalores,mirarsucontenido,etc.Lasestructurasrepetitivassonimprescindibles
pararecorrergruposdeceldasorangos.Vealossiguientesejemplosparaverejemplosde
utilizacindeestructurasrepetitivaspararecorrerrangosdecasillas,observelautilizacindelas
propiedadesCellsyOffset.

PropiedadCells.

Yaconoceestapropiedad,sirveparareferenciarunaceldaounrangodeceldassegn
coordenadasdefilaycolumna.

Ejemplo22

LlenarelrangodelascasillasA1..A5convaloresparesconsecutivosempezandoporel2.

SubEjemplo_22()

DimFilaAsInteger
DimiAsInteger
Fila=1
Fori=2To10Step2
ActiveSheet.Cells(Fila,1).Value=i
Fila=Fila+1

Nexti

EndSub

Ejemplo23.

Llenarunrangodefilas,empezandoporunacelda,quesedebeespecificardesdeteclado,conuna
seriede10valorescorrelativos(comenzandoporel1).

SubEjemplo_23()

DimCasilla_InicialAsString
DimiAsInteger
DimFilaAsInteger,ColumnaAsInteger

Casilla_Inicial=InputBox("IntroducirlacasillaInicial:","CasillaInicial")
ActiveSheet.Range(Casilla_Inicial).Activate

TomarelvalordefiladelaceldaactivasobrelavariableFila

Fila=ActiveCell.Row

TomarelvalordecolumnadelaceldaactivasobrelavariableFila

Columna=ActiveCell.Column

Fori=1To10

ActiveSheet.Cells(Fila,Columna).Value=i
Fila=Fila+1

Nexti

EndSub

EstructurarepetitivaDoWhile..Loop(HacerMientras).

Laestructurarepetitivaforseadaptaperfectamenteaaquellassituacionesenquesesabe
previamenteelnmerodevecesquesehaderepetirunproceso,entrarveintevalores,recorrer
cincuentaceldas,etc.

Perohayocasionesocasosenlosquenosesabepreviamenteelnmerodevecesquesedebe
repetirunproceso.

Porejemplo,supongaquehaderecorrerunrangodefilasenlosquenosesabecuantosvalores
habr(estoes,cuantasfilasllenashabr),enocasionespuedequehayanveinte,enocasiones
treinta,enocasionesninguna,etc.Paraestoscasoslaestructurafornoesadecuadaydeberemos
recurriralasentenciaDoWhile..Loopenalgunadesusformas.Estaestructurarepetitivaest
controladaporunaovariascondiciones,larepeticindelbloquedesentenciasdependerdesise
vacumpliendolacondicinocondiciones.

HacerMientras(secumplalacondicin)

Sentencia1
Sentencia2
.
.
SentenciaN

FinHacerMientras

EnVisualBasic

DoWhile(secumplalacondicin)
Sentencia1
Sentencia2
.
.
SentenciaN
Loop

**LosejemplosqueveremosacontinuacinsobrelainstruccinDoWhile..Loopseharnsobre
unabasededatos.

UnabasededatosenExcelessimplementeunrangodeceldasenquecadafilarepresentaun
registroycadacolumnauncampoderegistro,laprimerafilaeslaquedanombrealoscampos.

Paranuestrabasededatosutilizaremosloscampossiguientes,Nombre,Ciudad,Edad,Fecha.

PongaestosttulosenelrangoA1:D1delaHoja1(EnA1pongaNombre,enB1pongaCiudad,en
C1pongaEdadyenD1Fecha),observequelosdatosseempezarnaentrarapartirdeA2.

Ejemplo27.

Programaparaentrarregistrosenlabasededatos.CadacamposeentraconInputBox.El
programavapidiendodatosmientrasseentreunvalorenelInputBoxcorrespondientealnombre,
esdecircuandoalpreguntarelnombrenoseentreningnvalor,terminarlaejecucindel
bloqueencerradoentreDoWhile...Loop.

ObservelautilizacindelapropiedadOffsetparacolocarlosdatosenlasceldascorrespondientes.

SubEjemplo_27()

DimNombreAsString
DimCiudadAsString
DimEdadAsInteger
DimfechaAsDate

Activarhoja1

WorkSheets("Hoja1").Activate

ActivarcasillaA2

ActiveSheet.Range("A2").Activate

Nombre=InputBox("EntreelNombre(ReturnparaTerminar):","Nombre")

MientraslavariableNombreseadiferenteacadenavaca

DoWhileNombre<>""

Ciudad=InputBox("EntrelaCiudad:","Ciudad")
Edad=Val(InputBox("EntrelaEdad:","Edad"))
Fecha=Cdate(InputBox("EntralaFecha:","Fecha"))

Copiarlosdatosenlascasillascorrespondientes

WithActiveCell
.Value=Nombre
.Offset(0,1).Value=Ciudad
.Offset(0,2).Value=Edad
.Offset(0,3).Value=fecha

EndWith

Haceractivalaceldadelafilasiguientealaactual

ActiveCell.Offset(1,0).Activate
Nombre=InputBox("EntreelNombre(ReturnparaTerminar):","Nombre")
Loop
EndSub

Ejemplo28.

Presteespecialatencinaesteejemployaqueseguroqueelcdigoquevieneacontinuacinlo
utilizarenmuchasocasiones.

Antesquenadaobserveelejemploanterior,fjeseenquesiempreempezamosallenarelrangode
lahojaapartirdelaceldaA2,estotieneunanefastaconsecuencia,lasegundavezqueejecutela
macromachacarlosdatosdeA2:D2ysicontinuaejecutandomachacarlosdatosdelosrangos
siguientes.

Unasolucinseraobservarcualeslacasillavacasiguienteycambiarenlainstruccin
ActiveSheet.Range("A2").Activate,lareferenciaA2porlaquecorrespondealaprimeracasilla
vacadelacolumnaA.Elcdigoquelemostramosacontinuacinharestopornosotros,esdecir
recorrerunafiladeceldasapartirdeA1hastaencontrarunavacaydejaraestacomocelda
activaparaquelaentradadedatoscomienceapartirdeella.

SubEjemplo_28()
.
.
Activarhoja1

WorkSheets("Hoja1").Activate
ActivarcasillaA2

ActiveSheet.Range("A1").Activate
Mientraslaceldaactivanoestvaca

DoWhileNotIsEmpty(ActiveCell)

Haceractivalaceldasituadaunafilapordebajodelaactual

ActiveCell.Offset(1,0).Activate

Loop
.
.
EndSub

Ejemplo29.

Eslaunindelosdosprogramasanteriores.EsdecirhabrunbucleDoWhilequebuscarla
primeracasillavacadelabasededatosyotroparapedirlosvaloresdeloscamposhastaquese
pulseEnterenNombre.

SubEjemplo_28()

DimNombreAsString
DimCiudadAsString
DimEdadAsInteger
DimfechaAsDate

WorkSheets("Hoja1").Activate
ActiveSheet.Range("A1").Activate
BuscarlaprimeraceldavacadelacolumnaAyconvertirlaenactiva

DoWhileNotIsEmpty(ActiveCell)

ActiveCell.Offset(1,0).Activate

Loop

Nombre=InputBox("EntreelNombre(ReturnparaTerminar):","Nombre")
MientraslavariableNombreseadiferenteacadenavaca

DoWhileNombre<>""

Ciudad=InputBox("EntrelaCiudad:","Ciudad")
Edad=Val(InputBox("EntrelaEdad:","Edad"))
Fecha=Cdate(InputBox("EntralaFecha:","Fecha"))

WithActiveCell

.Value=Nombre
.Offset(0,1).Value=Ciudad
.Offset(0,2).Value=Edad
.Offset(0,3).value=fecha

EndWith

ActiveCell.Offset(1,0).Activate
Nombre=InputBox("EntreelNombre(ReturnparaTerminar):","Nombre")

Loop

EndSub

Cuandosetienenqueentrardesdeeltecladoconjuntosdevalores,algunosprogramadoresy
usuariosprefierenlafrmuladequeelprogramapreguntesisedeseanentrarmsdatos,latpica
preguntaDeseaIntroducirmsdatos?,sielusuariocontestaS,elprogramavuelveaejecutarlas
instruccionescorrespondientesalaentradadedatos,sicontestaquenosefinalizaelproceso,
observecomoquedaranuestrobucledeentradadedatosconestesistema.

Mas_datos=vbYes

DoWhileMas_Datos=vbYes

Nombre=InputBox("EntreelNombre(ReturnparaTerminar):","Nombre")
Ciudad=InputBox("EntrelaCiudad:","Ciudad")
Edad=Val(InputBox("EntrelaEdad:","Edad"))
Fecha=Cdate(InputBox("EntralaFecha:","Fecha"))

WithActiveCell

.Value=Nombre
.Offset(0,1).Value=Ciudad
.Offset(0,2).Value=Edad
.Offset(0,3).value=fecha

EndWith

ActiveCell.Offset(1,0).Activate
Preguntaralusuariosideseaentrarotroregistro.
Mas_datos=MsgBox("Otroregistro?",vbYesNo+vbQuestion,"Entradadedatos")

Loop

**ObservequeesnecesarialalneaanterioralbucleMas_datos=vbYes,paraquecuandose
evalelacondicinporvezprimeraestasecumplayseejecutenlassentenciasdedentrodel
bucle,Mas_datosesunavariabledetipoInteger.Vealaseccinsiguientedondeseestudiauna
variantedelaestructuraDoWhilequeesmsadecuadaparaestetipodesituaciones.

EstructuraDo..LoopWhile.

Elfuncionamientodeestaestructurarepetitivaessimilaralaanteriorsalvoquelacondicinse
evalaalfinal,lainmediataconsecuenciadeestoesquelasinstruccionesdelcuerpodelbuclese
ejecutaranalmenosunavez.Observequeparanuestraestructuradeentradadedatosvistaenel
ltimoapartadodelaseccinanteriorestaestructuraesmsconveniente,almenosms
elegante,sivamosaentrardatos,almenosunoentraremos,portantolasinstruccionesdelcuerpo
delbuclesedebenejecutaralmenosunavez,luegoyadecidiremossiserepitenono.

Do

Nombre=InputBox("EntreelNombre(ReturnparaTerminar):","Nombre")
Ciudad=InputBox("EntrelaCiudad:","Ciudad")
Edad=Val(InputBox("EntrelaEdad:","Edad"))
Fecha=Cdate(InputBox("EntralaFecha:","Fecha"))

WithActiveCell

.Value=Nombre
.Offset(0,1).Value=Ciudad
.Offset(0,2).Value=Edad
.Offset(0,3).value=fecha

EndWith

ActiveCell.Offset(1,0).Activate
Mas_datos=MsgBox("Otroregistro?",vbYesNo+vbQuestion,"Entradadedatos")
MientrasMas_Datos=vbYes

LoopWhileMas_Datos=vbYes

ObservequeenestecasonoesnecesariolalneaMas_Datos=vbYesantesdeDoparaforzarla
entradaenelbucleyaquelacondicinvaalfinal.

EstructuraDo..LoopUntil(Hacer..Hastaquesecumplalacondicin).

Esotraestructuraqueevalalacondicinalfinalobservequelainterpretacinesdistintayaque
elbuclesevarepitiendoHASTAquesecumplelacondicin,noMIENTRASsecumplelacondicin.

Culdelosdosutilizar,pues,nosesorprenda,laqueentiendamejorolegustems.
Laentradadedatosconestebuclequedara:

Do

Nombre=InputBox("EntreelNombre(ReturnparaTerminar):","Nombre")
Ciudad=InputBox("EntrelaCiudad:","Ciudad")
Edad=Val(InputBox("EntrelaEdad:","Edad")
Fecha=Cdate("InputBox("EntralaFecha:","Fecha")

WithActiveCell

.Value=Nombre
.Offset(0,1).Value=Ciudad
.Offset(0,2).Value=Edad
.Offset(0,3).value=fecha

EndWith

ActiveCell.Offset(1,0).Activate
Mas_datos=MsgBox("Otroregistro?",vbYesNo+vbQuestion,"Entradadedatos")
HastaqueMas_DatosseaigualavbNo

LoopUntilMas_Datos=vbNo

EstructuraForEach.

Estebucleseutilizabsicamenteparaejecutarungrupodesentenciasconloselementosdeuna
coleccinunamatriz(prontoveremoslosquees).Recuerdequeunacoleccinesunconjuntode
objetos,hojas,rangos,etc.Veaelejemplosiguientequeseutilizaparacambiarlosnombresdelas
hojasdeunlibrodetrabajo.

Ejemplo29.

Programaquepreguntaelnombreparacadahojadeunlibrodetrabajo,sinoseponenombreala
hoja,quedaelquetiene.

SubEjemplo_29()

DimNuevo_NombreAsString
DimHojaAsWorkSheet

ParacadahojadelconjuntoWorkSheets

ForEachHojaInWorkSheets

Nuevo_Nombre=InputBox("NombredelaHoja:"&Hoja.Name,"NombrarHojas")

IfNueva_Nombre<>""Then

Hoja.Name=Nuevo_nombre

Endif

Next

EndSub

**HojavareferenciandocadaunadelashojasdelconjuntoWorkSheetsacadapasodebucle.

Ejemplo30.

EntrarvaloresparalasceldasdelrangoA1:B10delahojaActiva.

SubEjemplo_30()

DimRAsRange

ParacadaceldadelrangoA1:B10delahojaactiva

ForEachRinActiveSheet.Range("A1:B10")

R.Value=InputBox("Entrarvalorparalacelda"&R.Address,"Entradadevalores")
Next

EndSub

**ObservequesehadeclaradounavariabletipoRange,estetipodedatos,comopuedeimaginar
yhavistoenelejemplosirveparaguardarRangosdeunaomscasillas,estasvariablespueden
luegoutilizartodaslaspropiedadesymtodospropiosdelosObjetosRange.Tengaencuentaque
laasignacindelasvaraiblesquesirvenparaguardaroreferenciarobjetos(Range,WorkSheet,
etc.)debeninicializarsemuchasvecesatravsdelainstruccinSET,estoseestudiarenotro
captulo.

InsertarfuncionesdeMicrosoftExceldesdeVisualBasic.

Copieelsiguienteprocedimientoyejectelo.Esunprocedimientoquesencillamentevapidiendo
nmerosylosvacolocandoenlasceldasdelacolumnaApartirdeA1,alfinalcolocalafuncin
=SUMAparasumarlosvaloresintroducidosylafuncin=PROMEDIOparahacerelpromediode
losmismosvalores.

SubSumar()

DimValorAsInteger
DimCasilla_InicialAsString
DimCasilla_FinalAsString

'HaceractivalacasillaA1delahojaactiva
ActiveSheet.Range("A1").Activate

Do
'Entrarunvaloryconvertirloanumrico
Valor=Val(InputBox("Entrarunvalor","Entrada"))
'Sielvaloresdistintode0

IfValor<>0Then
'Guardarelvalorenlacasillaactiva
ActiveCell.Value=Valor
'Haceractivalacasilladelafilasiguiente
ActiveCell.Offset(1,0).Activate

EndIf

LoopUntilValor=0

'Establecerlacasillainicialdelrangoasumar
Casilla_Inicial="A1"
'Establecerlacasillafinaldelrangoasumar.
'Cogerladireccindelacasillaactiva,laltima
Casilla_Final=ActiveCell.Address
ActiveCell.Offset(1,0).Activate
'PonerenlacasillaactivalafuncinSUMA
ActiveCell.Formula="=Suma("&Casilla_Inicial&":"&Casilla_Final&")"
ActiveCell.Offset(1,0).Activate
'Ponerenlacasillaactivalafuncinpromedio
ActiveCell.Formula="=Promedio("&Casilla_Inicial&":"&Casilla_Final&")"

EndSub

Unavezhayaejecutadolamacro,observequeenlasceldasdondesehancolocado
respectivamentelasfunciones=SUMA,=PROMEDIOapareceNOMBRE?(esposiblequeaparezca
####,enesecasoamplelacolumna),estosignificaqueExcelnoreconoceelnombredela
funcin,quenoexiste.Sinembargo,estasfuncionessiexistenyfuncionanperfectamentecuando
setecleandirectamentesobrelahojadeclculo,sepreguntarelporqucuandosecolocan
desdeunamacronofuncionan.PuesresultaqueparaquecualquierfuncindeExcelinsertada
desdeunamacroNOdeerrordebeponerseconsunombreeningls,latraduccinsehaceluego
deformaautomtica.Esdecirenlamacrodebeponerlaeninglsyluegocuandoestaseinserte
enlahojaaparecerconsunomenclaturaenelidiomaquecorresponda.

Modifiqueelprocedimientodelejemployenlugardeponer

ActiveCell.Formula="=Suma("&Casilla_Inicial&":"&Casilla_Final&")"

Ponga

ActiveCell.Formula="=Sum("&Casilla_Inicial&":"&Casilla_Final&")"

Yahora,enlugarde

ActiveCell.Formula="=Promedio("&Casilla_Inicial&":"&Casilla_Final&")"

Ponga

ActiveCell.Formula="=Average("&Casilla_Inicial&":"&Casilla_Final&")"

Ejecutelamacroycompruebequeahoratodofuncionacorrectamente.Observequeenlahoja,
lasfuncionessehaninsertadoconsunombrecorrectosegnelidioma,esdecirSUMAy
PROMEDIO.

DeestaformadamosporterminadoelmdulodeMacros,quesimplementeesunaintroduccin
altema.

Elestudiantepuededesarrollarsemuchoms,estemanualpretenderealizarunbosquejodel
tema,einiciaralalumnoalaprogramacinenlenguajeVBA.

Repartidos

Prcticos

EJERCICIO 1 MODULO: FUNCIONES AVANZADAS



Se presenta a continuacin una tabla conteniendo las exportaciones de carne llevadas
a cabo por nuestro pas en el ao 2000 al resto del mundo.































Se pide:

1. Copie la siguiente tabla en un libro cuyo nombre sea exportaciones
2. Ingrese nuevos registros a travs de la opcin Formularios que se ubican en el
men de Datos.
3. Ordene la tabla en funcin del pas.
4. Obtenga la mxima y la mnima exportacin realizada por Uruguay. A
continuacin, mediante BDEXTRAER, obtenga los nombres de los pases
destinos de dichas ventas.
5. Calcule el nmero de exportaciones hechas a EEUU, mediante BDCONTARA y
CONTAR.SI
6. Calcule el importe total que se le vendi a ese pas mediante las funciones
BDSUMA y SUMAR.SI.
7. La mxima, la mnima y el promedio de las ventas hechas a EEUU.
8. Genere a travs de una regla de validacin una lista desplegable con todos los
pases existentes en la BD. Luego Obtenga el total vendido al pas que UD
seleccione en la lista. El fin de esto es que si nosotros cambiamos el pas,
obtengamos automticamente el importe que a l se le vendi.
Exportaciones realizadas en el
ao 2000 en millones de
dlares
Pas de
origen
Mes
Importe de
exportacin
Japn Febrero 26
Inglaterra Noviembre 67
China Setiembre 90
Inglaterra Enero 120
China Junio 140
Holanda Febrero 150
EEUU Diciembre 159
Blgica Enero 200
EEUU Setiembre 200
Grecia Mayo 200
Francia Mayo 201
Inglaterra Julio 240
Holanda Julio 260
Grecia Diciembre 300
China Marzo 320
Blgica Junio 690
EEUU Mayo 840
Japn Febrero 980
EEUU Julio 1200

EJERCICIO 2 MODULO: FUNCIONES AVANZADAS

Se presenta a continuacin una tabla con las notas obtenidas por 10 alumnos del curso
de Excel avanzado.

Se pide:
1. Aplique un color de fondo rojo y una fuente de tipo negrita y color blanca, a
aquellas celdas que presenten valores inferiores a 70 (formato condicional).
2. Obtenga el total y el promedio de puntos obtenidos por alumno.
3. En la columna de resultados deber aparecer las leyendas Aprobado, Prueba
parcial o Examen total segn los criterios de aprobacin del curso.
4. Aplique nuevamente un formato condicional, tal que si el resultado es
Aprobado, este aparezca con un color de fuente verde, si es Prueba parcial, sea
azul y si es Examen total sea rojo.
5. Genere un cuadro de consulta como el siguiente tal que el al digitar la cdula de
un estudiante aparezca su promedio y su resultado.




















Cedula Macros
T.
Dinmicas F. Avanzadas Access Total Promedio Resultado
1.269.487-6 75 78 85 97
1.396.285-4 46 91 70 77
2.123.494-4 73 57 97 81
2.456.987-7 50 45 87 65
3.798.637-1 69 87 67 91
4.734.963-4 79 96 83 95
4.869.741-8 98 99 79 84
5.681.627-3 37 45 85 90
6.897.169-6 82 72 89 94
6.943.521-1 90 87 99 100
Ingresar
CI Promedio Resultado

EJERCICIO 3 MODULO: FUNCIONES AVANZADAS


En la planilla que se presenta a continuacin tenemos las distintas etapas de una
competencia entre 8 equipos. A medida que se va desarrollando la vamos completando
con los puntajes obtenidos por cada equipo.
Lo que se busca es que en la tabla adicional se ordenen automticamente los equipos
cada vez que introducimos cambios en la tabla principal.
Para eso copie ambas tablas en una hoja nueva y digite como nombre Tabla de
posiciones.
Para lograr el objetivo Ud. deber aplicar las funciones Jerarqua y BuscarV.















COMPETENCIA INTERBARRIAL - PUNTOS POR EQUIPO Y POR ETAPA

Etapa 1 Etapa 2 Etapa 3 Etapa 4 Etapa 5 Etapa 6 Total
Equipo 1 7 10 3 1 21
Equipo 2 2 1 9 1 13
Equipo 3 4 5 1 2 12
Equipo 4 4 8 6 4 22
Equipo 5 9 9 3 7 28
Equipo 6 2 5 10 7 24
Equipo 7 3 4 3 4 14
Equipo 8 3 7 8 9 27


Etapa 1 Etapa 2 Etapa 3 Etapa 4 Etapa 5 Etapa 6 Total
1
2
3
4
5
6
7
8

EJERCICIO 4 MODULO: FUNCIONES AVANZADAS



Se pide:

1. Copie la siguiente tabla en dos hojas distintas
2. En la primera hoja registre nuevas ventas mediante la opcin Formularios del
men de Datos.
3. Ordene la tabla segn Fecha de Venta en forma ascendente, el nombre del
vendedor de forma ascendente.
4. Ordene nuevamente la BD pero ahora solamente por vendedor en forma
descendente. A travs de la herramienta de subtotales obtenga:
El total de ventas por vendedor
La venta ms alta y la ms baja de cada vendedor
El promedio de ventas de cada vendedor
El nmero de ventas de cada vendedor
Extracto de ventas de la empresa " La traicionera SA"
Fecha
Nmero de
contrato
compra
venta
Vendedor
Auto
Importe en
dlares Cliente Forma de pago
04/04/2005 1053 Homero Simpson Honda Civic 16000 N Elizabelar 30 cuotas
08/04/2005 1059 Condorito Fiat Fiorino 9000 IMM 30 cuotas
16/04/2005 1065 Homero Simpson Mercedes D420 110000 Stella Donatti 30 cuotas
29/04/2005 1078 Homero Simpson Ferrari 350 290000 J Bush 30 cuotas
04/04/2005 1054 Condorito Subaru Impreza 14500 Presidencia de la Rep. 60 cuotas
06/04/2005 1057 Paturz Fiat Fiorino 9000 IMM 60 cuotas
11/04/2005 1061 Paturz Lamborgini Diablo 230000 T Vazquez 60 cuotas
15/04/2005 1063 Paco Casal BMW 320 58000 MSP 60 cuotas
23/04/2005 1073 Homero Simpson Fiat Fitito 1200 MSP 60 cuotas
28/04/2005 1076 Paturz BMW 320 58000 A. Legarburo 60 cuotas
05/04/2005 1055 Chengue Morales Lamborgini Diablo 230000 J Battle 90 cuotas
01/04/2005 1051 Condorito Subaru Impreza 14500 El cuqui Contado
05/04/2005 1056 Chengue Morales BMW 320 58000 Sin Escurpulos Ltda. Contado
06/04/2005 1058 Condorito Maruti 7500 J M Sanguinetti Contado
12/04/2005 1062 Condorito Fiat Fiorino 9000 IMM Contado
15/04/2005 1064 Chengue Morales Maruti 7500 La trepadora SA Contado
18/04/2005 1067 Paturz Mercedes D420 110000 J Bush Contado
19/04/2005 1069 Chengue Morales Fiat Fitito 1200 La incobrable srl Contado
19/04/2005 1070 Paco Casal Lamborgini Diablo 230000 La trepadora SA Contado
22/04/2005 1072 Chengue Morales Mercedes D420 110000 M. Gutirrez Contado
29/04/2005 1077 Condorito Subaru Impreza 14500 Cedres Contado
30/04/2005 1080 Condorito Honda Civic 16000 IMM Contado
02/04/2005 1052 Paturz Ferrari 350 290000 La trepadora SA En negociacin
08/04/2005 1060 Homero Simpson Fiat Fitito 1200 Presidencia de la Rep. En negociacin
18/04/2005 1066 Condorito Subaru Impreza 14500 Recoba En negociacin
19/04/2005 1068 Paco Casal BMW 320 58000 Sin Escurpulos Ltda. En negociacin
23/04/2005 1074 Chengue Morales Ferrari 350 290000 Loco Abreu En negociacin
22/04/2005 1071 Paco Casal Subaru Impreza 14500 IMM Entrega efect+15 cuotas
23/04/2005 1075 Paco Casal Lamborgini Diablo 230000 Presidencia de la Rep. Entrega efect+20 cuotas
30/04/2005 1079 Paturz Fiat Fitito 1200 La incobrable srl Entrega efect+20 cuotas
Saque detalle de manera de visualizar solamente los totales de venta de cada
vendedor.



5. En la segunda hoja, mediante Autofiltros visualice:
las ventas realizadas por Condorito.
las ventas de Condorito hechas a la IMM
las ventas realizadas en la segunda quincena del mes de abril.
las ventas cuyos importes estn entre los 50000 y los 150000 dlares.
Las ventas cuyos importes sean menores a 10000 y mayores a 200000 dlares.
las ventas hechas a la IMM o a la Presidencia de la Repblica.
las cinco ventas ms grandes
las cinco ventas ms chicas
las ventas de los vendedores cuyos nombres comiencen con la letra C.
las ventas cuya forma de pago an est en negociacin




EJERCICIO 5 MODULO: FUNCIONES AVANZADAS
SOLVER

Esta planilla ofrece los datos de produccin de dos artculos, incluyendo los detalles de
las materias primas que los componen. Con estos datos, y basndonos en la tabla
auxiliar, podemos calcular el costo de cada artculo. Suponiendo que se puede vender
el total de la produccin, necesitamos calcular cunto ser lo mximo que se puede
vender sin utilizar ms materia prima de la que se tiene. Todo esto teniendo en cuenta
que el precio final de cada artculo no puede superar los 16.5 pesos y que el margen
de ganancia tiene que ser de, por lo menos, el 30 por ciento.


Autito a
control
Trencito
elctrico Totales
Tuercas por unidad 4 3
Tornillos por unidad 3 5
Arandelas por unidad 7 4
Plstico por unidad 0,20 kg 0,30 kg
Motor por unidad 1 1
Cable por unidad 0,50 m 0,70 m
Costo por unidad 11,65 12,18
Margen de ganancia 50% 50%
Precio unitario final $ 17,48 $ 18,27

Unidades a producir 500 500

Importe de ventas $ 8.737,50 $ 9.135,00 $ 17.872,50
Materias primas utilizadas en la produccin
Total de tuercas 2000 1500 3500
Total de tornillos 1500 2500 4000
Total de arandelas 3500 2000 5500

Existencia
Costo ( por ud, Kg. o
m)
Tuercas 1000 $ 0,50
Tornillos 1500 $ 0,75
Arandelas 3000 $ 0,25
Plstico 1000,00 Kg. $ 1,00
Cable 750,00 m $ 0,90
Motor 600 $ 5,00





EJERCICIO 6 MODULO: FUNCIONES AVANZADAS
BUSCAR OBJETIVO


1. Aplicando Buscar objetivo calcule la cantidad a vender para obtener un importe
de ventas de 1200 pesos.

A B
1 Precio 20
2 Cantidad ?
3 Importe de ventas =B2*B3


2. Deseamos conocer la mayor cantidad que podemos obtener en prstamos si
estamos dispuestos a endeudarnos por 36 meses pagando una cuota mxima
de 500 pesos. La tasa de inters del mercado es del 50% anual
3.
A B
1 Prstamo ?
2 Tasa anual 50%
3 N de cuotas 36
4 Valor de la cuota mensual =PAGO(B2/12;B3;B1)

4. En funcin de los costos y utilidad del producto determine la cantidad a producir
para que el precio unitario sea igual a 15 pesos.

A B
1 Cantidad a producir ?
2 Costos variables 8.5
3 Costos fijos 1200
4 Costo total unitario =B3+B4/B2
5 Utilidad unitaria (10%) =B5*0.1
6 Precio unitario =B5+B6





EJERCICIOS

ANLISIS

DE

INFORMACIN
EJERCICIOS MDULO: Anlisis de Informacin

Ejercicio 1

Dada la siguiente tabla de datos:

Ao Perodo Ventas
2004 1 15458
2004 2 5487
2004 3 6587
2004 4 1587
2003 1 15874
2003 2 4358
2003 3 5743
2003 4 2543
2002 1 18045
2002 2 7845
2002 3 6784
2002 4 1254
2001 1 10548
2001 2 4587
2001 3 6879
2001 4 3597




Se pide:



Mediante Tablas Dinmicas:



1. Obtener total de ventas por ao.
2. Obtener total de ventas por ao y dentro de cada ao, por perodo.
3. Obtener promedio de ventas por ao y por perodo.














EJERCICICIO 2

Dada la siguiente base de datos:


Ao Perodo Tipo de cliente Ventas
2004 1 Minorista 12924
2004 1 Mayorista 2534
2004 2 Minorista 4462
2004 2 Mayorista 1025
2004 3 Minorista 5383
2004 3 Mayorista 1204
2004 4 Minorista 745
2003 4 Mayorista 842
2003 1 Minorista 13520
2003 1 Mayorista 2354
2003 2 Minorista 3311
2003 2 Mayorista 1047
2003 3 Minorista 4708
2003 3 Mayorista 1035
2003 4 Minorista 1701
2002 4 Mayorista 842
2002 1 Minorista 13544
2002 1 Mayorista 4501
2002 2 Minorista 6589
2002 2 Mayorista 1256
2002 3 Minorista 5944
2002 3 Mayorista 840
2002 4 Minorista 929
2001 4 Mayorista 325
2001 1 Minorista 7000
2001 1 Mayorista 3548
2001 2 Minorista 3533
2001 2 Mayorista 1054
2001 3 Minorista 5426
2001 3 Mayorista 1453


Se pide:


Mediante Tablas Dinmicas:


1. Obtener total de ventas por perodo, y por ao. Dar la posibilidad de filtrar por
cliente dicha informacin.
2. Obtener grfico dinmico de dicha informacin.
3. Visualizar mediante tabla dinmica, porcentaje sobre el total de ventas de cada
perodo y de cada ao.



EJERCICIO 3

DADA LA SIGUIENTE BASE DE DATOS:

ALUMNO SUCURSAL DOCENTE CLARIDAD
AL
EXPLICAR
BUENA
DISPOSICIN
BUEN USO
DEL
PIZARRN
CONCEPTO
GENERAL
DEL
DOCENTE
3.015.665-5 BUCEO Luis 2 4 2 2
1.967.222-3 PARQUE Pedro 5 5 4 5
2.123.334-1 BUCEO Pedro 4 4 5 4
1.944.314-6 RIVERA Gabriel 1 2 3 2
3.054.365-4 BUCEO Luis 4 3 3 3
1.665.145-0 RIVERA Gabriel 3 3 4 4
1.945.328-6 PARQUE Gabriel 5 4 4 4
3.412.331-0 RIVERA Luis 2 1 2 2
4.036.365-6 RIVERA Luis 3 2 2 2
4.365.441-8 BUCEO Luis 1 1 2 1
2.966.356-4 BUCEO Pedro 5 4 4 4
1.665.324-3 PARQUE Gabriel 4 5 4 4
1.689.365-0 PARQUE Gabriel 3 4 4 3
3.554.321-4 BUCEO Luis 2 1 1 1


OBTENER:

1. NOTAS GENERALES de cada DOCENTE y dividido por cada SUCURSAL.
2. Cantidad de encuestas tomadas de cada docente.
3. Mximo Concepto General alcanzado por un docente, detallando cual es el
docente y en qu sucursal obtuvo dicha nota.
4. Cantidad de encuestas que se realizaron en cada sucursal.
5. Graficar notas de cada pregunta obtenida por cada docente, y con la posibilidad
de desplegar este grfico por sucursal.


EJERCICIO 4

IMPORTAR DESDE LA BASE DE DATOS NEPTUNO (C:\Archivos de Programa\Microsoft
Office\Office10\Samples) las tablas de Pedidos y de Clientes.

OBTENER:

1. CANTIDAD de pedidos que se tomaron por pas.
2. Cantidad de pedidos tomados por empleado y por ciudad del destinatario.
3. Generar un campo calculado para saber cuntos pedidos se realizaran por pas
si la empresa pensara incrementar su cantidad de pedidos en un 30 %.
4. Visualizar las unidades en existencia de cada producto que nos trae cada
proveedor.
5. Promedio de precios unitarios de los productos de cada proveedor.
6. Graficar la cantidad de pedidos que se le hayan entregado al cliente ALFKI y
ANTON en las diferentes formas de envio.

EJERCICIO 5


Importar desde MS Access, desde la base de datos NEPTUNO (se encuentra en
C:\Archivos de Programas \ Microsoft Office\Office10\Samples) las tablas de
productos y categoras.


Obtener mediante Tablas Dinmicas:


1. Cantidad de productos por categora
2. Promedio de precios unitarios por categora
3. Productos por categora, y unidades en existencia
4. Calcular mediante un campo calculado el IVA de todos los precios unitarios, el
importe de cada precio con IVA incluido
5. Graficar cantidad de proveedores que existen por categora de productos
6. Graficar en forma de torta los precios unitarios de los productos que
pertenezcan a la categora Bebidas.


EJERCICIO 6 (Datos Tabla)

Se presenta planilla con datos de un artculo que nuestra empresa comercializa y se
nos solicita estudiemos la sensibilidad del precio de venta frente a dos variables: el
margen de ganancia y la cantidad de artculos a producir.
Esto significa que analizaremos cul sera el valor final para distintas combinaciones de
mrgenes y cantidades.
Para hacerlo crearemos una tabla de datos que resuma esta informacin.


Cantidad a producir 500
Costo por unidad $ 8,50
Costos fijos $ 1.200,00
Costo total $ 5.450,00
Margen de ganancia 30%
Ventas a realizar $ 7.085,00
Valor unitario $ 14,17



$
14,17 300 400 500 600
15%
20%
25%
30%
35%
40%

EJERCICIO 7 (Filtros)

Copie esta tabla en cuatro hojas distintas

Distribuidor Zona
Ventas
2003
Ventas
2004
G Fuentes Zona Este 1 100000 142000
G Fuentes Zona Este 2 230000 225000
G Fuentes Zona Este 3 59000 72000
G Fuentes Zona Este 4 186000 190000
C Rodrguez Zona Norte 1 310000 302000
C Rodrguez Zona Norte 2 98000 101000
C Rodrguez Zona Norte 3 77000 75000
C Rodrguez Zona Norte 4 160000 190000
F Prez Zona Oeste 1 320000 350000
F Prez Zona Oeste 2 190000 200000
F Prez Zona Oeste 3 132000 106000
F Prez Zona Oeste 4 148000 140000
M Carminati Zona Oeste 1 95000 52000
M Carminati Zona Oeste 2 74000 96000
M Carminati Zona Oeste 3 86000 105500
M Carminati Zona Oeste 4 110000 132000

Se pide:

Nota los se pide 1 a 3 realcelos sobre la misma base de datos.
1. Ventas del 2004 mayores a 150000 pesos.
2. Ventas menores a 60000 o mayores a 200000 pesos.
3. Ventas entre los 150000 y los 200000 pesos de aquellos distribuidores cuyo
nombre comience con la letra C.
4. Genere una nueva tabla que muestre aquellos registros en los que las ventas
del 2003 fueron mayores a las ventas del 2004.









EJERCICIOS

GRFICOS

PERSONALIZADOS

FORMULARIOS
Ejercicios Mdulo de Grficos Personalizados y Formularios.

Ejercicio 1

Dada la siguiente tabla:


Paises
Aos
Ventas Anuales
2004 2005 2006
Australia 1680000 1230000 2000000
Argentina 1200000 2250000 2100000
Brasil 1800000 3500000 3200000
EEUU 2000000 3500000 3400000
Nueva
Zelanda 1900000 2500000 3000000
Uruguay 600000 1800000 1750000
Mexico 1200000 1200000 1600000
Paraguay 750000 900000 1240000





1. Generar un grfico de columnas con las ventas de cada pas segn los aos en
los que se hayan producido. Generar un color de fondo del grfico basado en
una textura. Generar un efecto de relleno con degradado en el rea de trazado.
Desplegar la leyenda en la parte superior del grfico. Aplicarle efectos de
degradado a cada una de las series.


2. Generar un grfico de columnas con las ventas de cada ao para los diferentes
pases. Aplicar en cada serie el efecto de colocar la imagen de la bandera
correspondiente a cada pas como fondo de cada columna correspondiente a
dicho pas. Aplicar en el fondo del grfico un efecto con degradado a dos
colores.


3. Generar un grfico de torta donde se represente las ventas del ao 2004 a cada
pas. Mostrar dentro del grfico el pas al que corresponde cada rea y el
porcentaje correspondiente del total. Aplicarle un efecto 3D con un efecto de
elevacin.











Ejercicio 2

Dada la siguiente tabla:

Edad

Poblacion
Grupo de edades
0 a 3 4 a 5 6 a 14 15 a 19 20 a 24 25 a 29 30 a 49 50 a 64 65 a 79 80 o ms
MALVN 990 530 2.756 1.969 1.916 1.973 7.877 5.093 4.112 1.418
Hombres 487 268 1.387 1.029 947 920 3.672 2.177 1.631 438
Mujeres 503 262 1.369 940 969 1.053 4.205 2.916 2.481 980


Generar un grfico de tipo pirmide poblacional. Aplicarle a dicho grfico todos
los retoques correspondientes para su correcta visualizacin.

Grabar este grafico como tipo personalizado para poder utilizarlo a futuro.

Aplicarle efecto de degradado a las series, y un efecto de textura tanto al rea
de trazado como al rea de grfico.


Ejercicio 3

Tareas
Fecha
Inicio
Fecha
Fin
Das
Corridos
Compra de Terrenos 10/02/2006 20/02/2006 10
Desmonte 21/02/2006 10/03/2006 17
Confeccin de Plano 08/03/2006 31/03/2006 23
Compra de
Materiales 01/04/2006 18/04/2006 17
Construccin 20/04/2006 24/08/2006 126
Pintura 25/08/2006 31/08/2006 6
Revisin 01/09/2006 15/09/2006 14
Entrega 18/09/2006 19/09/2006 1



Generar un grfico representando un diagrama de Gantt.
Aplicarle efecto de relleno con degradado a un color al rea de grfico y rea de
trazado.



Generar un diagrama de Gantt aplicando formato condicional con la misma tabla.








Ejercicio 4

Dada la siguiente tabla:

Hora Produccion
00:43 785
02:37 662
05:21 546
05:35 356
07:20 447
07:47 611
10:22 310
10:33 564
11:18 583

Generar un grfico de dispersin (XY) con lineas suavizadas para representar la
produccin en el transcurso de las horas.

Adaptar el eje de valores (x) para que represente una escala de horas que vaya de las
00:00 hs a las 12:00 pasando en valores de a 1 hora.

Ejercicio 5

Aos
Pais
Exp
2000
Exp
2001
Exp
2002
Exp
2003
Exp
2004
Exp
2005
Argentina 2293660 2657911 1913896 1231816 5000000 1319296
Brasil 3863727 2616891 2210725 4650539 4000000 3951452
Uruguay 1125873 1074146 1021074 1449403 1057386 1049902
Paraguay 1028543 1134743 1166809 1143472 1195914 1093311
Peru 877385 947571 1019173 1015051 1071022 754180
Boli via 1379161 1405565 1530906 1670229 1535585 1144279
Venezuela 2275591 3113542 3706347 4245991 1819779 1971444
Ecuador 1907308 1443472 1815317 961641 1905881 1949043
Colombia 2511773 2085069 2073359 2006935 2266457 2273786
Minimo 877385 947571 1019173 961641 1057386 754180
Maximo 3863727 3113542 3706347 4650539 5000000 3951452

Dada la tabla expuesta:

Utilizar lista desplegable, cuadro combinado, barra desplazamiento para lograr
graficar en lineas las exportaciones de cada pais por ao. La idea es que
mediante un cuadro combinado yo pueda elegir un pais y visualice el grafico de
las exportacion de ese pais (a travs de los aos). Lo mismo con una lista
desplegable y tambin con barra desplazamiento.








Ejercicio 6


Dic-05 PROC1 PROC2 PROC3 PROC4 PROC5 PROC6
Dias min M max Valores Valores Valores Valores Valores Valores
1 55 60 65 56 55 57 55 58 50
3 55 60 65 62 60 65 60 60 60
5 55 60 65 65 63 63 63 63 63
7 55 60 65 55 50 50 50 50 50
9 55 60 65 56 56 56 56 56 56
11 55 60 65 64 64 64 64 64 64
13 55 60 65 62 62 62 62 62 62
15 55 60 65 60 67 67 67 67 67
17 55 60 65 56 52 52 52 52 52
19 55 60 65 59 60 60 60 60 60
21 55 60 65 58 62 62 62 62 62
23 55 60 65 56 53 53 53 53 53
25 55 60 65 60 50 50 50 50 50
27 55 60 65 58 55 55 55 55 55
29 55 60 65 55 60 60 60 60 60
31 55 60 65 57 64 65 60 55 53


Dada la siguiente tabla, generar un grfico de lneas que represente cada uno de los
procesos. Dichos procesos se seleccionaran con un cuadro de lista, y control de
nmeros.


EJERCICIOS

MACROS

EN

EXCEL
Mdulo: MACROS EN EXCEL

Ejercicio 1

Generar un macro que pregunte al usuario datos de empleados tales como:

Nombre y Apellido
Direccin
Ciudad (donde reside)
o Si la ciudad es Montevideo mostrar en la siguiente columna: CAPITAL
o Si la ciudad es diferente a Montevideo mostrar: INTERIOR
Sueldo nominal
Fecha de ingreso en la empresa

o Si el empleado tiene ms de 5 aos de antigedad se le pagar un
incentivo de antigedad de un 2 % de su sueldo nominal.
o Si el empleado tiene ms de 7 aos de antigedad se le pagar un
incentivo de antigedad de un 4 % de su sueldo nominal.
o Si el empleado tiene ms de 9 aos de antigedad se le pagar un
incentivo de antigedad de un 6 % de su sueldo nominal.
o Si el empleado tiene ms de 10 aos de antigedad se le pagar un
incentivo de antigedad de un 8 % de su sueldo nominal.
o Si el empleado tiene menos de 5 aos de antigedad no se le pagar
dicho incentivo.

(Se compara siempre con la fecha actual = funcin DATE)

Mostrar en una columna el incentivo por antigedad que le corresponde al empleado.

Calcular los aportes del empleado sabiendo que, sumando Sueldo Nominal y el
incentivo de antigedad se utilizarn las siguientes escalas:

Aportes:
18 % si gana menos de 3 SMN
20 % si gana menos de 6 SMN
24 % si gana menos de 10 SMN
26 % si gana menos de 12 SMN

Tomar en cuenta que el SMN es de $ 1242.

Mostrar el aporte de cada empleado en una columna.

Mostrar el lquido de cada empleado sumando Sueldo Nominal + Antigedad Aportes.


Repaso de inputbox, msgbox, bucles, uso de variables.







Ejercicio 2

Pedir al usuario nombre, precio unitario y descripcin de artculos. Volcar estos datos
en la planilla.
A medida que el usuario cargue cada registro ir acumulando el total de precios, con la
finalidad de calcular el promedio de precios.
Dejar que el usuario corte el pedido de artculos cuando lo desee.
En la ltima instancia, con el promedio de precios calculado, marcar el promedio de
rojo si este es mayor a 500, marcarlo de verde si es mayor a 1000, y marcarlo de azul
si es mayor a 2000.

Repaso de inputbox, bucles, msgbox. Aplicar offset (o mostrar la aplicacin del mismo
en el ejercicio prctico).


Ejercicio 3

Generar un macro que le pida al usuario datos de una persona:
Nombre, Apellido, y Nmero de Credencial (slo nmero)


Basndose en la planilla que se plantea a continuacin se deber ir cargando
automticamente con los datos de cada persona y la direccin donde le tocar
sufragar.


N Circuito Desde Hasta Direccin
113 1000 5000 Italia 6255
502 5001 8000 Rod 2411
682 8001 12000 Chan 1654
691 12001 18000 Canelones 1698

La planilla que se ir cargando tendr el siguiente formato:


Nombre Apellido Credencial Direccin





El estudiante deber ejecutar mediante un botn en la planilla y el usuario deber
tener la flexibilidad de cargar tantos registros como desee, o sea por cada registro que
vaya cargando se le preguntar si se desea continuar.


Sealar de rojo solo los registros que el usuario haya ingresado y que tengan como
lugar de votacin la siguiente direccin: CANELONES 1698


Cuando el usuario decida terminar, se deber mostrar la vista preliminar de la planilla.



Ejercicio 4

Generar una macro que guarde en una base de datos la siguiente informacin:
Nombre de Articulo
Lote del Articulo
Rubro:
Deber figurar Informtica solamente si se trata de un insumo de
computacin
Deber figurar Otros si no se trata de un insumo de computacin
Precio unitario de Costo
Fecha de Compra de dicho articulo
En funcin de esta informacin deber calcularse el Precio de Venta Mayorista y
Minorista.
El Precio Mayorista se calcula como un 7% adicional sobre el Precio de costo, salvo
para los artculos comprados hace mas de 3 aos que se calcula un adicional de 5%
sobre Precio de costo.
El Precio Minorista de cada artculo se calcula como:
15% sobre Precio de costo para artculos de Informtica con antigedad
menor a 1 ao
12% sobre Precio de costo para artculos de Informtica con antigedad
mayor o igual a 1 ao
17% para el resto de los artculos
Tanto el Precio mayorista como minorista debern incluirse en 2 nuevas columnas
destinado a ello.

La funcionalidad de dicha macro deber incluir:
En la primer fila de la Base de datos, los ttulos de cada variable.
La posibilidad de utilizar dicha macro en repetidas ocasiones y que no se
eliminen antiguos registros
La posibilidad de elegir a continuacin de cada registro estas 3 opciones:
Ingresar un nuevo registr a continuacin.
Eliminar el ltimo registro en caso de equivocacin.
Dejar de ingresar nuevos registros.




Ejercicio 5



Utilizar el asistente de Microsoft Office en la aplicacin del ejercicio 4.

COMPENDIO

PRUEBAS

FUNCIONES

AVANZADAS
COMPENDIODEPRUEBASYEXAMENESDEPRCTICA

FuncionesAvanzadas
PruebaFinal
Ejercicio1

Fecha Vendedor Tipo de Producto Sucursal Tipo Operacin Forma de Pago Importe
01/01/2006 German Alimentos Central Venta Contado $U 1.556
03/01/2006 Luis Informatica Central Devolucion Contado $U 2.294
05/01/2006 Marcelo Electrodomesticos Filial2 Venta Diferido 3 pagos $U 1.966
09/01/2006 Esteban Alimentos Filial2 Venta Diferido 3 pagos $U 2.843
11/01/2006 Andrea Informatica Filial 1 Venta Contado $U 5.461
11/01/2006 Luisa Electrodomesticos Filial2 Venta Contado $U 5.685
11/01/2006 Daniela Alimentos Filial2 Devolucion Contado $U 2.971
11/01/2006 German Informatica Central Venta Contado $U 4.101
12/01/2006 Luis Electrodomesticos Central Devolucion Contado $U 4.847
12/01/2006 Marcelo Alimentos Filial2 Venta Diferido 3 pagos $U 5.030
13/01/2006 Luisa Informatica Filial2 Venta Diferido 6 pagos $U 3.296
16/01/2006 Daniela Alimentos Filial2 Devolucion Contado $U 1.656
19/01/2006 German Informatica Central Venta Diferido 3 pagos $U 4.800
20/01/2006 Luis Electrodomesticos Central Devolucion Contado $U 2.913
23/01/2006 Marcelo Alimentos Filial2 Venta Contado $U 5.526
25/01/2006 Luis Informatica Central Venta Diferido 6 pagos $U 3.969
27/01/2006 Marcelo Alimentos Filial2 Venta Contado $U 4.760
27/01/2006 Esteban Informatica Filial2 Venta Contado $U 1.492
27/01/2006 Andrea Alimentos Filial 1 Devolucion Contado $U 5.282
31/01/2006 Luisa Informatica Filial2 Venta Diferido 3 pagos $U 2.189
31/01/2006 Daniela Alimentos Filial2 Venta Diferido 6 pagos $U 4.042
03/02/2006 Daniela Informatica Filial2 Venta Contado $U 5.176
03/02/2006 German Electrodomesticos Central Venta Contado $U 1.528
07/02/2006 Luis Alimentos Central Devolucion Diferido 3 pagos $U 1.846
07/02/2006 Esteban Informatica Filial2 Venta Diferido 6 pagos $U 2.707
07/02/2006 Andrea Electrodomesticos Filial 1 Venta Contado $U 4.754
10/02/2006 Luisa Alimentos Filial2 Venta Diferido 3 pagos $U 4.936
15/02/2006 Daniela Informatica Filial2 Devolucion Contado $U 1.911
20/02/2006 German Electrodomesticos Central Devolucion Contado $U 1.666

Apartirdelasiguientebasededatos,referidaaventasdenuestraEmpresa,sepide:
1.
1.1) Realizarlasumadelasventasefectuadasalcontado,enlasucursalCentral.
1.2) CalculeelPromediodelasventasrealizadasporelvendedorMarcelo.
1.3) CalculelaMximadevolucinefectuadadentrodeltipodeproductoAlimentos.
1.4) Realizarlasumadetodaslasventasquenoseefectuaronalcontado.

2. Apliqueunformatocondicionalalabasededatosconlasiguientescaractersticas:
2.1) Losregistrosquecorrespondenalasucursalcentral,colordefondonaranja.
2.2) LosregistrosquecorrespondenalasucursalFilial1,colordefondoceleste.
2.3) LosregistrosquecorrespondenalasucursalFilial2,colordefondoamarillo.

Ejercicio2

ApartirdelassiguientesbasesdedatosreferidasaClientesyVentas,sesolicitalosiguiente:
Genereuncuadrodeconsultaconlassiguientescaractersticas:

Cedula:
Nombre:
Apellido:
Direccion:
Suma Ventas:
Cuenta de Devoluciones:

ElnumerodeCeduladeberestarvalidadodeacuerdoalosclientes.
ApartirdelaCedulasedeberncalcularautomticamenteelrestodelosdatos.

Id Cliente Operacin Importe


3201506-7 Venta 4.753
3501289-1 Devolucion 940
2650450-5 Venta 1.551
3456287-1 Venta 5.103
1795461-8 Venta 1.722
2975468-6 Venta 651
3197486-8 Venta 5.444
2497682-3 Venta 1.524
2894657-1 Venta 4.178
4132495-8 Devolucion 2.189
3201506-7 Venta 2.233
3501289-1 Devolucion 5.014
2650450-5 Venta 5.138
3456287-1 Devolucion 5.097
1795461-8 Venta 3.839
2975468-6 Devolucion 1.181
3197486-8 Venta 6.111
2497682-3 Devolucion 1.850
2894657-1 Venta 2.362
4132495-8 Venta 4.861
3201506-7 Venta 3.518
3501289-1 Devolucion 3.985
2650450-5 Venta 1.158
3456287-1 Venta 1.497
1795461-8 Venta 1.193
2975468-6 Devolucion 3.443
3197486-8 Venta 1.708
2497682-3 Venta 2.195
2894657-1 Venta 1.642
4132495-8 Venta 4.057
3201506-7 Venta 3.564
3501289-1 Devolucion 4.873
2650450-5 Venta 2.396
3456287-1 Venta 2.685
1795461-8 Venta 2.223
2975468-6 Venta 2.638
3197486-8 Venta 2.646
2497682-3 Devolucion 3.401
2894657-1 Venta 3.655
4132495-8 Venta 1.489
3201506-7 Venta 5.412
3501289-1 Venta 5.145
2650450-5 Venta 1.142
3456287-1 Devolucion 5.769
1795461-8 Venta 1.632
2975468-6 Venta 6.008
3197486-8 Venta 6.221
2497682-3 Venta 5.710
Base de Datos Ventas

Id Cliente Nombre Apellido Edad Direccion Telefono


3201506-7 Arturo Almeida 52 Rodo 2124 094-873889
3501289-1 Fabiana Lopez 74 Bvr Artigas 3251 096-943820
2650450-5 Leticia Gomez 48 Bvr Espaa 1256 099-435757
3456287-1 Karina Stirling 38 18 de julio 1311 099-410376
1795461-8 German Torres 35 Mercedes 1565 094-288854
2975468-6 Daniel Fernandez 22 Uruguay 6145 099-239134
3197486-8 Milton Falcon 18 San jose 1245 094-714356
2497682-3 Lourdes Gracia 62 Barbato 5475 096-541862
2894657-1 Mario Victorino 18 T Gomensoro 2158 096-787281
4132495-8 Anibal Troilo 21 Berro 9564 094-885641
Base de Datos Clientes
Ejercicio3

ApartirdelasiguientebasedeDatosreferidaaentregadeproductossesolicita:

Fecha Empresa Producto Tipo de Cliente Fecha Entrega


02/02/2005 Foxy SRL PC Pentium II Mayorista
02/02/2005 Almiron SA PC Pentium III Minorista
03/02/2005 Foxy SRL TV 21 Mayorista
08/02/2005 Almiron SA DVD Mayorista
08/02/2005 Foxy SRL DVD Mayorista
08/02/2005 Almiron SA Monitor LCD Minorista
08/02/2005 Foxy SRL Mouse Optico Mayorista
08/02/2005 Almiron SA PC Pentium II Minorista
11/02/2005 Foxy SRL PC Pentium III Mayorista
14/02/2005 Almiron SA TV 21 Minorista
15/02/2005 Foxy SRL DVD Mayorista
18/02/2005 Almiron SA DVD Mayorista
21/02/2005 Foxy SRL Monitor LCD Minorista
22/02/2005 Almiron SA Parlantes Minorista
22/02/2005 Lypton SA PC Pentium II Mayorista
24/02/2005 DRR Corp PC Pentium III Minorista
25/02/2005 Almiron SA TV 21 Mayorista
28/02/2005 Foxy SRL DVD Mayorista
02/03/2005 Almiron SA DVD Mayorista
04/03/2005 Foxy SRL DVD Minorista
08/03/2005 Almiron SA Monitor LCD Mayorista
11/03/2005 Lypton SA Mouse Optico Mayorista
11/03/2005 DRR Corp Parlantes Mayorista
14/03/2005 Almiron SA PC Pentium III Minorista
17/03/2005 Foxy SRL Parlantes Mayorista
18/03/2005 Almiron SA DVD Mayorista
22/03/2005 Foxy SRL DVD Minorista
25/03/2005 Almiron SA DVD Mayorista
29/03/2005 Lypton SA Monitor LCD Mayorista

1. CalculelaFechadelaEntregadeacuerdoalossiguientescriterios:
1.1. AtodoslosclientesMayoristasselesentreganlosproductosalos3dashbilesdela
fechadepedido.
1.2. AlosclientesMinoristasselesentregaalos10dashbiles,salvoparalaempresa
vendedoraDRRCorp,queseentreganalos5dashbiles.
2. Apliqueunformatocondicionalconlassiguientescaractersticas:
2.1. FondoazulparalosregistroscorrespondientesaPC(todoslosmodelos).
2.2. Fondorojoparaelrestodelosregistros.

Ejercicio4

Secuentaconlasiguientebasededatosreferidaalashorastrabajadasdelosdiferentes
empleadosdelaempresa,con109registros.
Enbaseadichainformacinsesolicita:
1. Genereenunanuevacolumnaelclculodelashorastrabajadasdecadaempleadoparacada
registro.
2. Calculeenunanuevacolumnaelpagoporhoraacadatrabajadordeacuerdoalasiguiente
regla:
2.1. SipertenecealsectorVentas;20eurosporhora.
2.2. SipertenecealsectorCompras;18eurosporhora.
2.3. SipertenecealsectorContable;15eurosporhora.
2.4. SipertenecealsectorAdministrativo;12eurosporhora.
2.5. SipertenecealsectorProduccin;8eurosporhora.
3. Calculeenunanuevacolumnaelpagodelsalariototalparacadada.
4. Genereunsolocuadrodeconsultaasueleccinentrelassiguientesopciones:

EnamboscasoslosdeEmpleadooSectoryeldatodefechaserintroducidoporelusuariodela
consulta,ysedebercalcularautomticamenteel3dato.
Sieligeelprimercuadrodeconsultasedebercalcularlossalariostotalespagadosadicho
Empleado,hastalafechaquefigureenelcuadro.LaceldadondeseintroduzcaelEmpleado
debervalidarse.
Sieligeelsegundocuadrodeconsultasedebercalcularlossalariostotalespagadosadicho
Sector,hastalafechaquefigureenelcuadro.LaceldadondeseintroduzcaelSectordeber
validarse.

Sector Nombre Apellido Fecha Hora Ingreso Hora Egreso Horas Trabajadas Pago/Hora Salario/dia
Contable Raul Abal 01/02/2006 11:11:22 5:14:53
Produccion Lucila Vazquez 01/02/2006 7:47:29 6:23:34
Compras Anibal Bass 02/02/2006 8:34:49 16:08:55
Compras German Furia 03/02/2006 23:51:50 7:53:06
Contable Ana Monje 03/02/2006 0:36:05 4:10:01
Administrativo Eliana Boss 04/02/2006 0:54:53 14:32:46
Produccion Andrea Guzman 04/02/2006 8:45:58 0:57:23
Administrativo Luis Torres 05/02/2006 22:45:28 7:41:47
Produccion Walter Lopez 05/02/2006 12:05:06 23:17:14
Administrativo Hugo Prato 06/02/2006 20:29:17 15:53:44
Contable Danila Estevanez 06/02/2006 7:25:26 3:32:26
Produccion J ulio Verdi 07/02/2006 4:19:15 12:20:00
Ventas J uan Balverde 07/02/2006 0:00:45 5:30:01
Produccion Esteban Samir 07/02/2006 1:18:58 2:43:36
Administrativo Fernando Luisi 08/02/2006 19:14:38 3:32:01
Produccion Milton Suarez 09/02/2006 18:06:46 3:47:05
Produccion Diego Nion 10/02/2006 10:14:41 12:43:31
Produccion Daniel Marquez 11/02/2006 5:26:43 0:34:42
Ventas Miriam Rey 11/02/2006 1:25:57 23:08:40
Produccion Maite Lupro 12/02/2006 17:26:05 1:33:24
Ventas Damian Valente 12/02/2006 17:30:59 4:36:26
Compras J imena Duarte 13/02/2006 8:07:40 1:39:25
Produccion Fernando Grassi 13/02/2006 11:17:42 13:52:30
Produccion Luisa Ottospan 14/02/2006 17:53:43 11:28:25
Ventas Mirta Rodriguez 14/02/2006 2:16:55 2:21:09
Produccion Carla Dupuy 15/02/2006 11:49:50 21:56:34
Produccion Ernesto Darlem 15/02/2006 7:11:00 2:14:06
Contable Raul Abal 16/02/2006 23:02:17 23:30:23
Produccion Lucila Vazquez 16/02/2006 16:29:22 20:38:22
Compras Anibal Bass 16/02/2006 21:43:18 21:05:41
Compras German Furia 17/02/2006 20:20:44 5:56:07
Contable Ana Monje 20/02/2006 11:54:08 17:25:57
Administrativo Eliana Boss 21/02/2006 0:18:22 3:57:12
Produccion Andrea Guzman 22/02/2006 17:33:35 4:13:53
Administrativo Luis Torres 22/02/2006 1:05:19 11:04:26
Produccion Walter Lopez 22/02/2006 14:34:28 5:07:44
Administrativo Hugo Prato 24/02/2006 17:09:20 6:23:08
Contable Danila Estevanez 27/02/2006 17:24:19 18:06:56
Produccion J ulio Verdi 01/03/2006 22:12:16 4:44:52
Ventas J uan Balverde 02/03/2006 9:34:09 20:30:08
Produccion Esteban Samir 02/03/2006 2:52:58 4:32:00
Administrativo Fernando Luisi 02/03/2006 8:20:40 14:07:48
Produccion Milton Suarez 06/03/2006 15:45:04 8:10:43
Produccion Diego Nion 06/03/2006 3:47:03 20:19:58
Produccion Daniel Marquez 07/03/2006 8:25:54 9:54:43
Ventas Miriam Rey 07/03/2006 8:02:41 16:04:13
Produccion Maite Lupro 07/03/2006 23:02:35 3:08:58
Ventas Damian Valente 07/03/2006 18:43:08 4:17:44

Empleado
Fecha
Salario pagado hasta la fecha
FuncionesAvanzadas
PruebaFinal
Ejercicio1

Acontinuacinsepresentalasiguientebasededatos,lacualcontienelosnombresdelos
participantesdelos4equiposexistentes.

Equipo A Equipo B Equipo C Equipo D


Adalberto Baltasar Camila Damian
Alberto Bartolo Camilo Daniel
Alicia Basilio Carla Daniela
Alison Beatriz Carlos Danilo
Ana Benjamin Carmen Dante
Ana Maria Bernardo Carol Dario
Anastacia Berta Carolina Demetrio
Antonio Betiana Cecilia Demostenes
Armando Betina Celene Denise
Arnaldo Brian Celeste Diana
Arturo Bruce Celia Dino
Asencio Bruno Cristian Diogenes

Dichosparticipantesdelosequiposseencuentranagrupadosporcolumnas,ysesabequecada
equipocontaracon16participantes.

SePide:

Creuncuadrodeconsultasimilaralqueselepresentaacontinuacin,dondeapartirdela
introduccindeuntextocualquieraenelcampocorrespondientealNombredeParticipante:,el
mismodevuelvaenelcampocorrespondienteaEquipo:,elequipoalcualcorrespondedicho
participante.Enelcasoquenoexistadichoparticipante,endichocampodeberfigurar:No
perteneceaningnequipo.

Tengaencuentaqueaunseencuentrancuposlibresencadaequipo,ylafuncinqueustedcree
paradichocuadrodeconsultadeberfuncionarcorrectamentecuandoseinsertennuevos
participantes.Yrecuerdequeelnombrededichoparticipantenotienerestriccinalguna(puede
comenzarconcualquierletra).

Elformatodelcuadrodeconsultaeselsiguiente:

NombredeEquipo:
Participante:

Ejercicio2

Secuentaconlasiguientebasededatos,referidaamovimientosdecomercioexterior.
Sepide:

1) Uncuadrodeconsultacomoelsiguiente,enelcualapartirdelingresodedatoscomoel
Pas,TipodeOperacin,yFecha,senosdevuelvalasoperacionesdeSuma,
Promedio,Mximo,Mnimoreferidaalosdatosdeorigen.

Fecha:
Pais: Brasil
Tipo de Operacin: Importacion
Suma
Promedio
Maximo
Minimo

Enelcasodelcampodefecha,lasoperacionesdebernrealizarseapartirdedichafecha
especificada(parafechasmayoresoigualesalafechaespecificada).
TantoelnombredeloscamposPasyTipodeOperacin,debernvalidarseatravsdeuna
listaquedeberncrear.
2)AplicarformatocondicionalalaBasededatos,dondesepintenlasfilasdelamismaenfuncin
delossiguientescriterios
SiesExportacin,deberfigurarunfondoazul,fuentecolorblanco,estiloNegrita.
SiesImportacin,deberfigurarunfondorojo,fuentecolornegro,estiloNegrita.

Basededatos:

Fecha Tipo de Operacin Pas Importe


01/01/2005 Exportacion Brasil 1250
15/01/2005 Exportacion Argentina 780
01/02/2005 Importacion EEUU 1350
15/02/2005 Exportacion Australia 1540
01/03/2005 Importacion Paraguay 1230
15/03/2005 Importacion Mexico 500
01/04/2005 Importacion China 1450
15/04/2005 Exportacion Espaa 750
01/05/2005 Exportacion Argentina 800
15/05/2005 Importacion Brasil 1100
01/06/2005 Exportacion Argentina 1000
15/06/2005 Exportacion Argentina 750
01/07/2005 Exportacion EEUU 1200
15/07/2005 Importacion EEUU 1000
01/08/2005 Exportacion EEUU 580
15/08/2005 Exportacion Espaa 800
01/09/2005 Importacion Brasil 800
15/09/2005 Importacion Brasil 750
01/10/2005 Importacion Espaa 450
15/10/2005 Importacion Argentina 800
01/11/2005 Exportacion Mexico 780
15/11/2005 Exportacion Paraguay 450
01/12/2005 Exportacion China 1100
15/12/2005 Importacion Argentina 800

Ejercicio3

Factura Fecha Facturacion Productos Empresa Fecha de Entrega


A001 01/01/2005 VHS La Tardia
A002 02/01/2005 DVD La Tempranera
A004 05/01/2005 TV 20' La Tempranera
A005 07/01/2005 TV 21' La Tempranera
A011 14/01/2005 DVD La Tardia
A013 16/01/2005 VHS La Tardia
A015 19/01/2005 TV 29' La Tardia
A019 21/01/2005 VHS La Tempranera
A021 23/01/2005 DVD La Tempranera
A021 27/01/2005 DVD La Tardia
A023 31/01/2005 DVD La Tardia
A105 01/03/2005 VHS La Tempranera
A205 02/04/2005 VHS La Tempranera
A568 03/07/2005 TV 21' La Tardia
B209 04/09/2005 TV 29' La Tempranera
B524 05/11/2005 VHS La Tardia

Apartirdelasiguientebasededatos,nuestraempresadelogsticaquesededicaalaentregade
diferentesproductosadiferentesempresas,deseaconocerlasfechasdeentregaparacadaunode
losproductos.

Senosdaaconocerlasiguienteinformacin:

TodoslosProductosdelaEmpresaLaTardaseentreganalos15dashbilesdelafechade
facturacin.
EncambioparalaEmpresaLaTempraneraseentreganlosproductosalos3dashbilesdela
fechadefacturacin,salvolosDVDquedebenentregarsealsiguientedahbil.

Ejercicio4

N de Circuito Desde Hasta Direccion


101 1 1000 Guana 2015
151 1001 5000 18 de J ulio 2374
201 5001 9000 21 de septiembre 2323
251 9001 12000 Rodo 3111
301 12001 15000 Mercedes 2173
501 15001 20000 Uruguay 2158
Plan Circuital

Sesolicitaquecreeuncuadrodeconsultaparafacilitarlealosvotantesdeestainstitucin
encontrarsucircuitoylocaldevotacin.
EllosingresaransuNumerodeSocio,ydebervisualizarsesucircuitodevotacinyDireccinde
dicholocal.

Numero de Socio
N de Circuito
Direccion

Elcuadrodeconsultajamspodrdarcomoresultadoalgnerror,yenelcasoquenoexista
ningnnmerodesocioingresado,loscamposNdeCircuitoyDireccin,debernmostrar
NosehaingresadoNdeSocio.

COMPENDIO

PRUEBAS

ANLISIS

DE

INFORMACIN
PruebaFinal
TablasDinmicas

ApartirdelaBasededatosubicadaenlahojaBD_Ventas,realicelossiguientesejercicios:

Ejercicio1

1. Realiceunatabladinmicaquemuestresegmentadoporturno;lacantidaddeventas
realizadasyelmontototaldelafacturacinenpesos.
1.1. Asigneunformatodepesos,sindecimales,alosdatosrelacionadosconlafacturacin
total.
1.2. Cambieelnombredeloscamposdelreadedatosa:CantidaddeVentasy
FacturacinTotal.
1.3. AgregueunAutoformatoadichaTabladeltipoInforme4.
1.4. Ordenelatablademayoramenordeacuerdoalascantidadesdeventasencada
turno.
2. Realiceotranuevatabladinmicaquemuestresegmentadoparacadasupervisor;el
montototaldelafacturacinrealizada.
2.1. Asigneunformatodepesos,sindecimales,alosdatosrelacionadosconlafacturacin
total.
2.2. Cambieelnombredelcampodelreadedatosa:VentasTotales.
2.3. AgregueunAutoformatoadichaTabladeltipoTabla2.
2.4. Ordenelatablademayoramenordeacuerdoalafacturacintotal.

Ejercicio2

1. Realiceotranuevatabladinmicaquemuestresegmentadoportipodeproducto,las
unidadestotalesvendidas.
1.1. AsigneunautoformatodeltipoTabla1
1.2. Ordenedichatablademayoramenordeacuerdoalascantidadesvendidasdecada
tipodeproducto.
2. Genereungraficodinmicodecolumnasasociadoadichatabla,dondesemuestrelos
tiposdeproductos(enelEjeX),conunacolumnaquemuestrelascantidadesvendidasde
cadatipo.

Ejercicio3

1. Realiceunatabladinmicaquemuestreparacadaempleadoelpromedioenpesosdesus
ventasefectuadas.Filtredichainformacinsolamenteparalasventasrealizadasenel
turnodelanocheyefectuadasalcontado.
1.1. ApliqueunAutoFormatodeltipoInforme10.
1.2. Asigneunformatodepesos,sindecimales,alosdatosrelacionadosconelpromedio
delafacturacintotal.
1.3. Cambieelnombredelcampodelreadedatosa:PromediodeFacturacinpor
empleado.
1.4. Ordenelatablademayoramenor,deacuerdoalpromediodelafacturacinde
cadaempleado.
2. Genereungraficodinmicocircularasociadoadichatabla,dondesemuestreparacada
vendedoreltotaldelasventasefectuadas,segnloscriteriosdelpuntoanterior.

Ejercicio4

1. Genereunatabladinmicaquemuestreparacadatipodepago,elmontototaldela
facturacinrealizada.
1.1. ApliqueunautoformatoadichatabladeltipoInforme2.
1.2. Agregueunformatodepesosaltotaldelasventas,yelcampodelreadedatosse
llamaraFacturacionTotal.
1.3. Agregueuncampocalculadoadichatablaquemuestrelafacturaciontotal+IVAen
unanuevacolumna.ElnombreenlatabladeberfigurarImporte+IVA.
2. GenereunanuevaTabladinmicaquemuestreparacadatipodepago,elmontototalde
lafacturacionrealizada.
2.1. ApliqueunautoformatodeltipoInforme6.
2.2. ElcampodelreadedatosdeberllamarseFacturacionporformadepago,y
debertenerunformatodepesos.
2.3. Agregue2elementoscalculadosenelcampoEmpleados,losmismossellamaran:
VisaCorregidoyMasterCardCorregido.Ysecalcularanconunporcentaje
adicionaldel7%paraVisa,y5%paraMasterCard.
2.4. OculteloselementosVisayMasterCard(quesevisualicensolamenteloselementos
calculados).
2.5. Ordenelatablademayoramenordeacuerdoalafacturaciontotal.

PruebaFinal
TablasDinmicas

Ejercicio1

ApartirdelaBasedeDatosubicadaenBD_Mdeo,sepide:
3. RealiceunatabladinmicaquemuestrelaPoblacindecadabarriosegmentadopor
sexo,ademsdeberfiltrardichainformacinparalasedadescomprendidasentre15y29
aos.
3.1. OrdenedichaTabladeMayoraMenor,deacuerdoalaPoblacindecadaBarriode
Mdeo.
3.2. AgregueunAutoFormatoadichaTabladeltipoTabla10.
4. Genereungraficodinmicodecolumnasasociadoadichatabla,dondesevisualicela
poblacindecadaBarrioenunasolacolumna(cadaBarriodeberfigurarenelEjeX).
EnelejeXdebernaparecersolamentelosBarrios:Pocitos,Cordn,PuntaCarretas,
Centro,UninyBuceo.

Ejercicio2

ApartirdelaBasedeDatosubicadaenBD_Mdeo,sesolicita:
2. Efecteunatabladinmica,dondesepuedacompararporsexoybarrio,loshombresy
mujeresquevivenenlosbarriosdeFlordeMaroas,LaTejayBrazoOriental.Pero
filtredichatablaparaqueaparezcansolamenteaquellaspersonasconedadesentre50y
79aos.
2.1. Ordenedichatabladeacuerdoalapoblacintotaldecadabarriodeacuerdoalas
caractersticasmencionadas.
2.2. AgregueunAutoFormatoadichaTabladeltipoTabla3.
3. Genereungraficodinmicodecolumnasasociadoadichatabla,dondesemuestrelos
citadosBarrios(enelEjeX)yunacolumnaparalapoblacindecadasexoasociadaal
barrio.

Ejercicio3

ApartirdelaBasedeDatosubicadaenBD_Ventas,sesolicita:
2. Realiceunatabladinmicaquemuestreparacadavendedorlasventasefectuadasenlos
mesesdefebreroymayo.
PermitafiltrardichainformacinsegnTipodePago,ymuestresolamentelosdatospara
lasventasalcontado.
2.1. ApliqueunAutoFormatodeTabla2.
3. Genereungraficodinmicocircularaparte,dondesemuestreparacadavendedoreltotal
deventasefectuadas,solamentedebernfigurarlasrealizadasenlosmesesdemarzoy
abril,paratodaslasventasnoefectuadasalcontado.

Ejercicio4

ApartirdelaBasedeDatosubicadaenBD_Ventas,sesolicita:
2. Genereunatabladinmica,quemuestreelpromediodelasventastotalesefectuadas,
paracadatipodeproductosolamenteparalasventasalcontado.Permitafiltrardicha
tabladeacuerdoalosvendedoresquelasrealizaron.
2.6. ApliqueunautoformatoadichatabladeltipoTabla10.
2.7. Agregueunformatodeeurosalpromediodelasventas.
3. Genereotratabladinmicaquepermitaobservar,elporcentajedecadaTipodeProducto
eneltotaldelasventasefectuadasenmarzo,paratodaslasventasquehanrecibidoun
descuentomenoral5%.

PRUEBAAnlisisdeInformacinEXCELAVANZADO

EJERCICIO1

BasadosenlosdatosexistentesenlaHoja1delarchivoVentas.xls:
Crearunatabladinmica,enlaceldaF1,quemuestreelmximodeventasdelao2004paracada
zona.
ColocarlecomonombredecampoMximo2004
OrdenarlatablaporestecampoenformaAscendente
CrearotraTablaDinmica,enlaceldaF9,queindiqueelpromediodeventasporVendedordelao
2003.
Aplicarleaestecampoformatodenmero,conseparadordemilesydosposicionesdecimales.
MostrarsolamentelosdatoscorrespondientesaLOPEZyRODRIGUEZ
CrearotraTablaDinmica,enunahojanueva,dondesemuestreeltotaldecadaaoporZona.
Agregaruncampocalculado,llamadoDiferenciaquemuestrecuantomssevendienel2004
respectodel2003.
Agregarotrocampocalculado,llamadoPorcentajequemuestrecuantorepresenta
porcentualmente(sobre2003)ladiferenciacalculadaenelpuntoanterior.Colocarleformato%con
undecimal.
Pordetectarseunerrordebercambiarelvalordelltimoregistrodelalistaoriginal.Lasventas
realesdePEREZparaelao2004fueronde4765.ReflejarestecambioenlaTablaDinmica.

EJERCICIO2

TrabajarsobrelosdatosqueseencuentraenlaHoja1delarchivoSeminarios.xls

RealizarunatabladinmicaenunaHojanuevaqueindiquelacantidaddeseminariosquetendr
cadaprofesorycolocarlealcampocorrespondienteelnombreTotaldeSeminarios
Representarlatabladelpuntoanterior,enungrficocircular,perosolamentemostrandolosdatos
correspondientesaHardwareyLenguajes.

EJERCICIO3
UtilizandoelArchivoSeminarios.xls,utilizarfiltrospara:

ObtenerlosseminariosdictadosenCHILE.
GenerarunasubbasededatosparaobtenerlosseminariosdictadosenCHILEycuyaduracinhaya
sidomayorde30minutos.Lanuevasubbasededatostienequetenerlascolumnasdelnombre,
tema,yduracin.
Crear,conlaherramientasubtotales,lossubtotalesdealumnosqueacudieronacadaseminario
dictadoencadapas.

EJERCICIO4
Mediantelasiguientetabla:

ImporteVentas: 560000
PorcentajeCosto: 65%
Importe: 364000
Utilidad: 196000

Conlaherramientatabla:realizarclculosdeutilidad,dependiendodelassiguientesvariacionesdel
porcentajedecosto(45%;60%;75%;85%;90%).

COMPENDIO

PRUEBAS

GRFICOS

PERSONALIZADOS
PruebaFinal
Mdulo:GrficosPersonalizados

EjercicioN1

Copieelsiguientecuadrodedatosenla1hojadesulibrodeExcelalquellamara
Prueba_GP_Nombre_Apellido.AlahojanmbrelacomoTablaDatos.

Equipos de Venta
Meses
Equipo A Equipo B Equipo C Equipo D Equipo E
Enero $U 150.000 $U 157.487 $U 125.868 $U 90.834 $U 52.481
Febrero $U 271.139 $U 299.764 $U 163.736 $U 244.286 $U 127.685
Marzo $U 310.874 $U 352.540 $U 194.513 $U 246.763 $U 210.303
Abril $U 324.147 $U 465.699 $U 350.106 $U 361.981 $U 248.181
Mayo $U 338.982 $U 489.592 $U 382.835 $U 536.825 $U 349.743
J unio $U 362.883 $U 525.612 $U 529.520 $U 554.831 $U 455.638
J ulio $U 473.192 $U 671.261 $U 704.240 $U 693.014 $U 489.846
Agosto $U 533.822 $U 802.015 $U 875.955 $U 766.389 $U 552.640
Septiembre $U 653.734 $U 924.318 $U 963.160 $U 905.500 $U 722.182
Octubre $U 701.385 $U 1.018.397 $U 1.089.458 $U 978.142 $U 773.879
Noviembre $U 776.790 $U 1.162.809 $U 1.140.784 $U 1.072.761 $U 809.750
Diciembre $U 913.258 $U 1.245.318 $U 1.220.691 $U 1.197.392 $U 911.762

SePide:

1.1) Creeungraficodecolumnaseinsrteloenunanuevahojadellibroalaquellamara
Grafico11conlassiguientesespecificaciones:
Sedesearealizarungraficoquemuestreuncomparativodelas
ventastotalesanualesrealizadasporcadaEquipodeVentas
(deberfigurarunacolumnasolaparacadaEquipodeVentasen
elejeX),dichograficodebesercreadoapartirdelatablade
datosoriginal,sincrearunanuevacolumnaparatotales.Se
debeincluirenelgraficolosrtulosdecategoradelejeX.
Cadaserieincluidaenelgraficodebellevarsunombreatravs
deunareferenciaalasceldasubicadasenlatablaoriginal
ElgraficodebeincluircomotitulodelmismoVentasanuales
segnEquiposdeVentas.Laleyendadereferenciasnodeber
figurarenelgrafico.
CadaEjedeberllevarlossiguientesttulos,enformato
Negrita:
X=EquiposdeVentas
Y=VentasAnuales
LaescaladelejeYdebervisualizarsecada1200000unidades
Elreadetrazadodelgraficodebertenercomoefectode
rellenounatexturademrmolverdealigualqueelreadel
grafico.
Asigneunformatosimilaratodaslasseries(meses)para
generarenlacolumnadecadaequipodeventaelefecto
deseadodeunacolumnauniforme,paraelloquitebordesy
adopteunefectoderellenoasueleccin.

1.2) Ubiqueelsiguientegraficoenunanuevahojallamada:Grafico12
Asimismosedeseaobservarungraficodebarrasconefecto3D,dondesemuestrelas
ventasdiscriminadaspormeses(paracadamesunasolabarraqueincluyatodoslos
equiposdeventas).Paraelloselesolicitaquegeneredichograficoapartirdela
informacincontenidaenlatabla,yescojaunsubtipodegraficodebarrasadecuadoatal
fin.Ademsasigneunefectoderellenosimilarentodaslasseriesincluidasenelgrafico,
paragenerarunefectodehomogeneidadencadabarra.
Formatosdelgrafico:
Nodeberfigurarlaleyendaconlasdiferentesseries.
Eltitulodelgraficoser:VentasMensualesparaelao2006
EltitulodelEjeZ(valores)ser:ImportesdeVentas
SedebeincluirenelgraficolosrtulosdecategoradelejeX,y
debernfigurarenNegrita,ademsdeltituloparadichoeje:
Meses.
Elefectoderellenodelasreasdetrazadoydelgrafico,
debernincluiruncolorcelesteygrisendegradadoyser
similaresensusestilosdesombreado
Elefectoderellenodelosplanoslateraleseinferioresdel
grafico,debernincluiruncolorverdeendegradado.

1.3) Sedeseagenerarungraficodelneasdondesevisualicelaevolucinmensualdelas
ventasparacadaEquipodeVentas.
Realiceunnuevograficoconlassiguientescaractersticas:
Eltitulodelgraficoser:Evolucinmensualdelasventas
segnEquipodeVenta
Eltitulodelejex:Meses
Eltitulodelejey:ImportedeVentas
Todoslosttulosdebernfigurarennegrita.
Deberincluirelrotulodecategorasennegrita
Lasreasde;trazado,grafico,diferentesttulosyleyenda,
deberntenerelmismoefectodecolorasueleccin.
LaescaladelEjeYdebervisualizarsecada$175000.
UbqueloennuevahojallamndolaGrafico13
Laleyendadeberfigurarsobreelgrafico.

1.4) DeseamosobservarenunnuevograficolaparticipacindecadaEquipodeVentaparael
totaldelasventasendiciembre,atravsdeungraficocircularconefecto3dyseccionado.
Aadaunformatoqueincluya:
Unaimagendefondoenelreadegrafico.
Eltitulodedichograficoser:ParticipacindelosEquiposde
VentaenDiciembre2006.
Deberfigurarelnombreyelporcentajecorrespondientea
cadaEquipo,separadosporunanuevalnea.
Laleyendaconlascategorasdeberfigurarsobreelgrafico.
UbqueloennuevahojallamndolaGrafico14.

EjercicioN2

Copielasiguientetablaaunanuevahojadellibroconelcualestatrabajandoynmbrela
PirmidePoblacional.

Total
0 a 3 4 a 5 6 a 14 15 a 19 20 a 24 25 a 29 30 a 49 50 a 64 65 a 79 80 o ms
POCITOS 69.636 2.276 1.156 5.442 4.379 5.580 5.957 17.998 12.513 10.248 4.087
Hombres 29.827 1.155 590 2.699 2.076 2.598 2.736 8.053 5.083 3.685 1.152
Mujeres 39.809 1.121 566 2.743 2.303 2.982 3.221 9.945 7.430 6.563 2.935
Grupo de edades

Apartirdelasiguientetabladedatosdeberconstruirungraficopersonalizadoquerepresente
unaPirmidePoblacional.DichograficodeberpresentarenelEjehorizontallosHombresala
izquierdaylasmujeresaladerecha,recuerdequesolamentedeberaparecerenelgraficolos
gruposdeedadesenelEjevertical,ynolostotales.

DebenaparecerttulosenambosejesyfundamentalmentelascategorasenelEjeX.
Encadabarradeberfiguraralainternadelamismaelvalorparadichosexoygrupoetario.
Elformatodelasdiferentesreasdelgraficodebeserdelmismocolor,queustedelija.

EjercicioN3(Opcional1)

Consultas Inscripciones
1500 750
1600 760
1800 850
1650 800
200 75
840 550
1200 680

SepresentanlossiguientesparesdeValores(ConsultassobreunCurso,Inscripcionesadicho
curso).

Secreequedichasseriessecorrelacionandealgunamanera.

Sesolicitasiustedpodradeterminarelmejorajustelinealdedichasseriesatravsdeunalnea
detendencia,representargrficamentelanubedepuntosydichaestimacinlineal,laecuacinde
lamismayelcoeficientedecorrelacinalcuadrado(R^2).

EjercicioN4(Opcional2)

Paraelsiguienteproyectodecampaapublicitariasecuentaconlasiguienteinformacin:

Tareas Fecha Inicial Fecha Final


Planificacion 01/03/2006 15/03/2006
Revision Primaria 16/03/2006 22/03/2006
Pruebas de desarrollo 25/03/2006 15/04/2006
1 Proceso Productivo 16/03/2006 15/05/2006
2 Proceso Productivo 01/05/2006 15/06/2006
3 Proceso Productivo 15/05/2006 30/06/2006
Evaluacion de Resultados 01/07/2006 05/07/2006
Replanteo del Proyecto 10/07/2006 15/07/2006

Sesolicitaquerealiceparaelinformedepresentacindeldesarrollodeunnuevoproducto,un
GraficoPersonalizadodeGanttdondesevisualicenlasdiferentestareasdelProyectoenelEjeX,y
enelEjeYsemuestrenlasfechasinvolucradas.

Elgraficodeberpresentar:

Titulodelmismo,yttulosdeambosejes(noleyendadereferencias).
Valoresdeduracindecadaunadelastareasenelinteriordecadabarra
Formatosdereadegraficoytrazadoenceleste.
Formatosdelreadelasseriesencolorrojo.

PRUEBA MDULO DE GRAFICOS CURSO EXCEL AVANZADO BIOS



EJERCICIO1

Meses EquipoA EquipoB


Enero 180500 176000
Febrero 190200 120000
Marzo 170800 135000
Abril 165900 210000
Mayo 189000 180300

Sepide:

1. Generarungrficodecolumnasquecontengalasventasdeambosequiposencadauno
delosmeses(enejedeXlosmesesyenejedeYlosimportesdeventasdecadaunode
losequipos).
2. Representarenelmismogrfico(agregadoposterioralprimergrfico),dosseriesque
representenporcentualmentelaincidenciadecadaventaencadaunodelosmeses,yesta
representacindeporcentajesdeberestarrepresentadaporunejesecundario.
3. Aplicarefectosderellenoencadaunadelasseries(equipoAconunefectoderellenoa
elecciondelestudiante,equipoBconotroefectoderellenoaeleccindelestudiante).
4. Elareadetrazadotendrcomoefectoderellenounatexturaconefectodemarmol.
5. Generarautomatizacinenelgrfico.Estoserefiereaque,sielestudianteincorpora
otrosmeses(junio,julioyagosto,juntoconventasparacadaequipo)estosdatosse
agreguenenformaautomticaenelgrficoencuestin.

Ejercicio2

PlantasdeCelulosa

Seharealizadounaencuestaadeterminadamuestrapoblacional(200personas)acercadesu
opininacercadesilasplantasseinstalarnenArgentinaoenUruguay.

Paises/Edades 20a30aos 31a40aos 41a50aos 51a60aos


Argentina 155 145 110 80
Uruguay 45 55 90 120

Generarungrficodepirmidepoblacional.Adicionaralmismounttuloparacadaunodelos
ejes.Mostrarlosvaloresdentrodelgrfico.Aplicarefectosderellenoqueelestudianteconsidere.

Grabarestegraficocomopersonalizadoparaaplicarloenfuturosusos(darlecomonombre
pirmidespersonalizadas).

PruebaFinal
Mdulo:GrficosPersonalizados
EjercicioN1

Copieelsiguientecuadrodedatosenla1hojadesulibrodeExcelalquellamara
Prueba_GP_Nombre_Apellido.AlahojanmbrelacomoEjercicio1.

Martin 150 180 230


Alicia 320 350 350
Jaime 260 280 300
Gustavo 460 620 750
Elisa 750 820 600
Juan 120 375 400
2002
Ventas Anuales
Vendedores
2000 2001

SePide:

1.1) Creeungraficodecolumnaseinsrteloenunanuevahojadellibroalaquellamara
Grafico11conlassiguientesespecificaciones:
Sedesearealizaruncomparativoparacadaaopor
vendedores,porlotantoselepidequeenelEjeXfigurenlos
aos,yademsseincluyanenelmismolosrtulosdecategora.
Cadaserieincluidaenelgraficodebellevarsunombreatravs
deunareferenciaalasceldasubicadasenlatablaoriginal
ElgraficodebeincluircomotitulodelmismoVentasanuales
segnvendedoresylaleyendaconlasreferenciasalasseries.
Ambosdebenpresentarcomoefectoderellenoensustramasel
mismoformato,undegradadoadoscoloresconunestilode
sombreadodiagonal.Laleyendadereferenciasdeberfigurara
laizquierdadelgrafico.
CadaEjedeberllevarlossiguientesttulos,enformato
Cursiva:
X=Aos
Y=VentasenmilesdePesos
LaescaladelejeYdebervisualizarsecada120unidades
Elreadetrazadodelgraficodebertenercomoefectode
rellenounatexturademrmolblancoaligualqueelreadel
grafico
Debidoalacomplejidaddereconocercadavendedordentrode
cadaaosedecidiqueseincluyaelnombredelmismoencada
columnacorrespondiente,siguiendolaalineacindelamisma.

1.2) Asimismosedeseaobservarungraficodebarrasconefecto3D,dondesemuestreun
comparativoporvendedoresparaelao2001y2002,conidnticoformatoqueelgrafico
realizadoenelpunto1.1),ubqueloenunanuevahojaalaquellamaraGrafico12.

1.3) Ademsnospidenrealizarunnuevograficodecolumnasconformatossimilaral1.1)para
compararlostotalesdeventasparalosaos2001y2002entretodoslosvendedores,
perosingenerarunanuevaserieenlatablaoriginal.Paragenerarelefectodeseadoenel
graficomodifiqueelreadeunaoambasseriesparaquequedenconelmismoefectoy
generenlasensacinbuscada.UbqueloennuevahojallamndolaGrafico13

1.4) Deseamosobservarenunnuevograficolaparticipacindecadavendedorparalasventas
delao2001,atravsdeungraficocircularconefecto3dyseccionado.Aadaunformato
similaralosgrficosanterioresparalasdiferentesreasdelmismo.Peroeneste
deseamosqueaparezcaelnombredelvendedoryelporcentaje(ambosseparadosporun
espacio).UbqueloennuevahojallamndolaGrafico14.Eltitulodedichograficoser
Ventas2001.

EjercicioN2

Copielasiguientetablaaunanuevahojadellibroconelcualestatrabajandoynmbrela
Ejercicio2.

Edades

Sexo
PoblacindeArtigassegnsexoygrupoetario
Total 0a3 4a5 6a14 15a19 20a24 25a29 30a49 50a64 65a79 80ymas
ARTIGASTotal 78.019 5.426 3.139 14.626 7.349 5.634 4.767 19.619 10.169 5.771 1.519
Hombres 39.082 2.798 1.587 7.419 3.797 2.860 2.316 9.836 5.255 2.663 551
Mujeres 38.937 2.628 1.552 7.207 3.552 2.774 2.451 9.783 4.914 3.108 968

Apartirdelasiguientetabladedatosdeberconstruirungraficopersonalizadoquerepresente
unaPirmidePoblacional.DichograficodeberpresentarenelEjehorizontallosHombresala
izquierdaylasmujeresalasderechas,recuerdequesolamentedeberaparecerenelgraficolos
gruposdeedadesenelEjevertical,ynolostotales.

DebenaparecerttulosenambosejesyfundamentalmentelascategorasenelEjeX.
Encadabarradeberfiguraralainternadelamismaelvalorparadichosexoygrupoetario.
ElformatodelasdiferentesreasdelgraficodebesersimilaralasescogidasparaelEjercicio1.

EjercicioN3(Opcional1)

Precios VentasdelMercado
1 792
2 821
3 522
4 552
5 642
6 437
7 671
8 518
9 388
10 503
11 403
12 196
13 180

SepresentanlossiguientesparesdeValores(Precios,CantidadesTransadas)querepresentan
Preciosycantidadestransadasendeterminadomercado.Secreequedichasseriesse
correlacionanlinealmente.

Sesolicitasiustedpodradeterminarelmejorajustelinealdedichasseriesatravsdeunalnea
detendencia,representargrficamentelanubedepuntosydichaestimacinlineal,laecuacinde
lamismayelcoeficientedecorrelacinalcuadrado(R^2).

EjercicioN4(Opcional2)

Paraelsiguienteproyectodecampaapublicitariasecuentaconlasiguienteinformacin:

Fechas
Tareas FechaInicio FechaFinal
Planificacin 01/11/2005 15/11/2005
ContratacindePersonaltemporal 16/11/2005 30/11/2005
CampaasPiloto 17/11/2005 20/11/2005
CampaasFocalizadas 18/11/2005 30/12/2005
FolleteriaBarrial 01/12/2005 15/04/2006
Folleterianoespecializada 01/12/2005 15/01/2006
Graficaespecializada 01/01/2006 25/01/2006
Radio 15/01/2006 15/02/2006
Televisin 25/02/2006 15/03/2006

SesolicitaquerealiceparaelinformedepresentacindelacampaaunGraficoPersonalizadode
GanttdondesevisualicenlasdiferentestareasdelProyectoenelEjeX,yenelEjeYsemuestren
lasfechasinvolucradas.

Elgraficodeberpresentar:

Titulodelmismo,yttulosdeambosejes(noleyendadereferencias).
Valoresdeduracindecadaunadelastareasenelinteriordecadabarra
Formatosdereadegraficoytrazadoidnticos.
Formatosdelreadelasseriesencolorazul.

COMPENDIO

PRUEBAS

MACROS

EN

EXCEL
PruebaMdulodeMacrosenExcel

Ejercicio1

Dadoelarchivoqueleproporcioneldocente.Enlahoja1seencuentraunlistadodechequesen
carteradelaempresa.Determinadoschequesvanvenciendo,ysedebeirpintandoderojolosque
vayanvenciendo(utilizarcomoparmetrolafechaactualdelsistema(funcinDATE)).
Sepretendequemedianteunmacro,seobtengalasumadelosimportesdechequesvencidos.

Ejercicio2

Enlahoja2delmismoarchivoentregadoporeldocente,seencuentraunaplanillademanejode
stock.Sepretendequeelalumnodesarrolleunmacro,paraqueendicholistadosedestaquede
colorazulaquellosartculosqueestnpordebajodelstockmnimorequeridoporlaempresa.

Nota:

Generarunbotnsobrelahoja1paraelmacrodelejercicio1.

Generarunbotnenlabarradeherramientasparaejecutarelmacrodelejercicio2.

PruebaFinal
MacrosenExcel
Ejercicio1

RealiceunamacroqueguardeenunabasededatosdeLiquidacionesdeSueldo,lossiguientes
datos:
NombreyApellidodelEmpleado
CargoenlaEmpresa
Cadete
Auxiliar
Administrativo
Encargado
Gerente
FechadePago
DasdeAusencia
Ademsdeberagregarseenlabasededatosnuevascolumnasreferidasa:
SueldoNominal
Aportes
SueldoLiquido

LosSueldosNominalessonlossiguientes:
Cadete;$4000
Auxiliar;$5500
Administrativo;$7000
Encargado;$12000
Gerente;$25000
LosAportessonlossiguientes:
Cadete;10%sobreSueldoNominal
Auxiliar;12%sobreSueldoNominal
Administrativo;15%sobreSueldoNominal
Encargado;18%sobreSueldoNominal
Gerente;22%sobreSueldoNominal
ElPagodelSalarioenefectivoserealizadeacuerdoalasiguienteregla:
Silasinasistenciassonnulasselopremiaconunincentivode5%sobre(Sueldo
NominalAportes).
SueldoLiquido=(SueldoNominalAportes)*1.05
Sifalto3omenosdastieneunapenalizacinde2%sobre(SueldoNominalAportes)
SueldoLiquido=(SueldoNominalAportes)*0.98
Sifaltomasde3dastieneunapenalizacinde5%sobre(SueldoNominalAportes)
SueldoLiquido=(SueldoNominalAportes)*0.95

Lafuncionalidaddedichamacrodeberincluir:
EnlaprimerfiladelaBasededatos,losttulosdecadavariable.
La posibilidad de utilizar dicha macro en repetidas ocasiones y que no se eliminen
antiguosregistros
Laposibilidaddeelegiracontinuacindecadaregistroestas2opciones:
Ingresarunnuevoregistracontinuacin.
Dejardeingresarnuevosregistros.
PruebaFinal
MacrosenExcel
Ejercicio1

RealiceunamacroqueguardeenunabasededatosdeFacturacindeLlamadas,lossiguientes
datos:

DatosquecargaraelusuarioatravsdeunInputBox:
Fechaactual,(utilicelafuncinNow())
RegindelaSucursaldesdedondeserealizolallamada
Montevideo
Maldonado
Rocha
Rivera
PasdeDestino
Argentina
Espaa
EEUU
Brasil
Otros
Minutosenterosdelallamada

Apartirdelosanterioresdatosquecargaraelusuarioalejecutarlamacro,sedeberncalcularlos
siguientescamposautomticamente:
Costoporminuto
Argentina;0,5USD.
Espaa;2USD.
EEUU;1,5USD.
Brasil;1USD.
Otros;3USD.
CostoTotal
CostoTotal=Costoporminuto*MinutosEnterosdelallamada
Descuento
LlamadashechasdesdelasucursalRochaoRivera,tienenun5%dedescuento.
PrecioFinal
PrecioFinal=CostoTotalDescuento

Lafuncionalidaddedichamacrodeberincluir:
EnlaprimerfiladelaBasededatos,losttulosdecadavariable.
La posibilidad de utilizar dicha macro en repetidas ocasiones y que no se eliminen
antiguosregistros
Laposibilidaddeelegiracontinuacindecadaregistroestas2opciones:
Ingresarunnuevoregistracontinuacin.
Dejardeingresarnuevosregistros.

You might also like