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. 2. 3. 4. 5.

SeleccionaremosmedianteelMousetodalamatrizdedatos(A1:C9) BotnDerechoCopiar SeleccionaremoslaceldaE1 BotnDerechoPegadoEspecial 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 1 2 3 4 5 6 7 8 9 10 11 Funcin PROMEDIO CONTAR CONTARA MAX MIN PRODUCTO DESVEST DESVESTP SUMA VAR 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 Y 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:


Un lugar de almacenamiento con nombre que puede contener cierto tipo de datos. Cada variable tiene un nombre nico que la identifica. Nombres de variable deben comenzar con un carcter alfabtico, deben ser nicos dentro del mismo mbito, no deben contener ms de 255 caracteres ynopuedencontenerunpunto. Cadamacroquevayamosescribiendo eneleditordevisualBasic,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 datos que puede almacenar cualquier valor, nmero, fechas, texto, etc. pero tenga en cuenta que 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 Byte Boolean Integer Long(enterolargo) Single(comaflotante/ precisinsimple) TamaoAlmacenamiento 1byte 2bytes 2bytes 4bytes 4bytes Intervalo 0a255 TrueoFalse 32.768a32.767 2.147.483.648a2.147.483.647 3,402823E38a1,401298E45para valoresnegativos; 1,401298E45a3,402823E38para valorespositivos 1,79769313486232E308a 4,94065645841247E324 paravaloresnegativos; 4,94065645841247E324a 1,79769313486232E308paravalores positivos 922.337.203.685.477,5808a 922.337.203.685.477,5807 +/ 79.228.162.514.264.337.593.543.950.335 sinpunto decimal;+/ 7,9228162514264337593543950335con 28posicionesaladerechadelsigno decimal;el nmeromspequeodistintodecero es+/ 0,0000000000000000000000000001 1deenerode100a31dediciembrede

Double(comaflotante/ precisindoble)

8bytes

Currency(enteroa escala) Decimal

8bytes 14bytes

Date

8bytes

Object String(longitud variable) String(longitudfija) Variant(connmeros)

4bytes 10bytes+longitudde lacadena Longituddelacadena 16bytes

9999 CualquierreferenciaatipoObject Desde0a2.000millones Desde1a65.400aproximadamente Cualquiervalornumricohastael intervalodeuntipo Double Elmismointervaloqueparauntipo Stringdelongitud variable Elintervalodecadaelementoesel mismoqueel intervalodesutipodedatos.

Variant(con caracteres)

22bytes+longitudde cadena

Definidoporel Nmerorequeridopor usuario(utilizando loselementos Type) 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. Exportaciones realizadas en el ao 2000 en millones de dlares Pas de origen Japn Inglaterra China Inglaterra China Holanda EEUU Blgica EEUU Grecia Francia Inglaterra Holanda Grecia China Blgica EEUU Japn EEUU 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. Mes Febrero Noviembre Setiembre Enero Junio Febrero Diciembre Enero Setiembre Mayo Mayo Julio Julio Diciembre Marzo Junio Mayo Febrero Julio Importe de exportacin 26 67 90 120 140 150 159 200 200 200 201 240 260 300 320 690 840 980 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

T. Macros Dinmicas F. Avanzadas

Access

Total

Promedio

Resultado

1.269.487-6 1.396.285-4 2.123.494-4 2.456.987-7 3.798.637-1 4.734.963-4 4.869.741-8 5.681.627-3 6.897.169-6 6.943.521-1

75 46 73 50 69 79 98 37 82 90

78 91 57 45 87 96 99 45 72 87

85 70 97 87 67 83 79 85 89 99

97 77 81 65 91 95 84 90 94 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 7 10 3 1 21 2 1 9 1 13 4 5 1 2 12 4 8 6 4 22 9 9 3 7 28 2 5 10 7 24 3 4 3 4 14 3 7 8 9 27

Equipo Equipo Equipo Equipo Equipo Equipo Equipo Equipo

1 2 3 4 5 6 7 8

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 Extracto de ventas de la empresa "La traicionera SA"
Nmero de contrato compra Vendedor venta 1053 1059 1065 1078 1054 1057 1061 1063 1073 1076 1055 1051 1056 1058 1062 1064 1067 1069 1070 1072 1077 1080 1052 1060 1066 1068 1074 1071 1075 1079 Homero Simpson Condorito Homero Simpson Homero Simpson Condorito Paturz Paturz Paco Casal Homero Simpson Paturz Chengue Morales Condorito Chengue Morales Condorito Condorito Chengue Morales Paturz Chengue Morales Paco Casal Chengue Morales Condorito Condorito Paturz Homero Simpson Condorito Paco Casal Chengue Morales Paco Casal Paco Casal Paturz Importe en dlares 16000 9000 110000 290000 14500 9000 230000 58000 1200 58000 230000 14500 58000 7500 9000 7500 110000 1200 230000 110000 14500 16000 290000 1200 14500 58000 290000 14500 230000 1200

Fecha 04/04/2005 08/04/2005 16/04/2005 29/04/2005 04/04/2005 06/04/2005 11/04/2005 15/04/2005 23/04/2005 28/04/2005 05/04/2005 01/04/2005 05/04/2005 06/04/2005 12/04/2005 15/04/2005 18/04/2005 19/04/2005 19/04/2005 22/04/2005 29/04/2005 30/04/2005 02/04/2005 08/04/2005 18/04/2005 19/04/2005 23/04/2005 22/04/2005 23/04/2005 30/04/2005

Auto Honda Civic Fiat Fiorino Mercedes D420 Ferrari 350 Subaru Impreza Fiat Fiorino Lamborgini Diablo BMW 320 Fiat Fitito BMW 320 Lamborgini Diablo Subaru Impreza BMW 320 Maruti Fiat Fiorino Maruti Mercedes D420 Fiat Fitito Lamborgini Diablo Mercedes D420 Subaru Impreza Honda Civic Ferrari 350 Fiat Fitito Subaru Impreza BMW 320 Ferrari 350 Subaru Impreza Lamborgini Diablo Fiat Fitito

Cliente N Elizabelar IMM Stella Donatti J Bush Presidencia de la Rep. IMM T Vazquez MSP MSP A. Legarburo J Battle El cuqui Sin Escurpulos Ltda. JM Sanguinetti IMM La trepadora SA J Bush La incobrable srl La trepadora SA M. Gutirrez Cedres IMM La trepadora SA Presidencia de la Rep. Recoba Sin Escurpulos Ltda. Loco Abreu IMM Presidencia de la Rep. La incobrable srl

Forma de pago 30 cuotas 30 cuotas 30 cuotas 30 cuotas 60 cuotas 60 cuotas 60 cuotas 60 cuotas 60 cuotas 60 cuotas 90 cuotas Contado Contado Contado Contado Contado Contado Contado Contado Contado Contado Contado En negociacin En negociacin En negociacin En negociacin En negociacin Entrega efect+15 cuotas Entrega efect+20 cuotas Entrega efect+20 cuotas

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

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 Tuercas por unidad Tornillos por unidad Arandelas por unidad Plstico por unidad Motor por unidad Cable por unidad Costo por unidad Margen de ganancia Precio unitario final $ Unidades a producir 4 3 7 0,20 kg 1 0,50 m 11,65 50% 17,48 $ 500 Trencito elctrico 3 5 4 0,30 kg 1 0,70 m 12,18 50% 18,27 500 9.135,00 $ la produccin 1500 2500 2000 17.872,50 3500 4000 5500

Totales

Importe de ventas $ 8.737,50 $ Materias primas utilizadas en Total de tuercas 2000 Total de tornillos 1500 Total de arandelas 3500

Existencia Tuercas 1000 Tornillos 1500 Arandelas 3000 Plstico 1000,00 Kg. Cable 750,00 m Motor 600

Costo ( por ud, Kg. o m) $ 0,50 $ 0,75 $ 0,25 $ 1,00 $ 0,90 $ 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 Precio Cantidad Importe de ventas B 20 ? =B2*B3

1 2 3

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 Cantidad a producir Costos variables Costos fijos Costo total unitario Utilidad unitaria (10%) Precio unitario B ? 8.5 1200 =B3+B4/B2 =B5*0.1 =B5+B6

1 2 3 4 5 6

EJERCICIOS ANLISIS DE INFORMACIN

EJERCICIOS MDULO: Anlisis de Informacin Ejercicio 1 Dada la siguiente tabla de datos: Ao 2004 2004 2004 2004 2003 2003 2003 2003 2002 2002 2002 2002 2001 2001 2001 2001 Perodo 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 Ventas 15458 5487 6587 1587 15874 4358 5743 2543 18045 7845 6784 1254 10548 4587 6879 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 2004 2004 2004 2004 2004 2004 2004 2003 2003 2003 2003 2003 2003 2003 2003 2002 2002 2002 2002 2002 2002 2002 2002 2001 2001 2001 2001 2001 2001 2001 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. Perodo 1 1 2 2 3 3 4 4 1 1 2 2 3 3 4 4 1 1 2 2 3 3 4 4 1 1 2 2 3 3 Tipo de cliente Minorista Mayorista Minorista Mayorista Minorista Mayorista Minorista Mayorista Minorista Mayorista Minorista Mayorista Minorista Mayorista Minorista Mayorista Minorista Mayorista Minorista Mayorista Minorista Mayorista Minorista Mayorista Minorista Mayorista Minorista Mayorista Minorista Mayorista Ventas 12924 2534 4462 1025 5383 1204 745 842 13520 2354 3311 1047 4708 1035 1701 842 13544 4501 6589 1256 5944 840 929 325 7000 3548 3533 1054 5426 1453

EJERCICIO 3 DADA LA SIGUIENTE BASE DE DATOS: ALUMNO SUCURSAL DOCENTE CLARIDAD AL EXPLICAR 2 5 4 1 4 3 5 2 3 1 5 4 3 2 BUENA DISPOSICIN 4 5 4 2 3 3 4 1 2 1 4 5 4 1 BUEN USO DEL PIZARRN 2 4 5 3 3 4 4 2 2 2 4 4 4 1 CONCEPTO GENERAL DEL DOCENTE 2 5 4 2 3 4 4 2 2 1 4 4 3 1

3.015.665-5 1.967.222-3 2.123.334-1 1.944.314-6 3.054.365-4 1.665.145-0 1.945.328-6 3.412.331-0 4.036.365-6 4.365.441-8 2.966.356-4 1.665.324-3 1.689.365-0 3.554.321-4

BUCEO PARQUE BUCEO RIVERA BUCEO RIVERA PARQUE RIVERA RIVERA BUCEO BUCEO PARQUE PARQUE BUCEO

Luis Pedro Pedro Gabriel Luis Gabriel Gabriel Luis Luis Luis Pedro Gabriel Gabriel Luis

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: Cantidad de productos por categora Promedio de precios unitarios por categora Productos por categora, y unidades en existencia 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. 1. 2. 3. 4.

500 Cantidad a producir 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 15% 20% 25% 30% 35% 40%

300

400

500

600

EJERCICIO 7 (Filtros) Copie esta tabla en cuatro hojas distintas Ventas 2003 100000 230000 59000 186000 310000 98000 77000 160000 320000 190000 132000 148000 95000 74000 86000 110000 Ventas 2004 142000 225000 72000 190000 302000 101000 75000 190000 350000 200000 106000 140000 52000 96000 105500 132000

Zona Distribuidor G Fuentes Zona Este 1 G Fuentes Zona Este 2 G Fuentes Zona Este 3 G Fuentes Zona Este 4 C Rodrguez Zona Norte 1 C Rodrguez Zona Norte 2 C Rodrguez Zona Norte 3 C Rodrguez Zona Norte 4 F Prez Zona Oeste 1 F Prez Zona Oeste 2 F Prez Zona Oeste 3 F Prez Zona Oeste 4 M Carminati Zona Oeste 1 M Carminati Zona Oeste 2 M Carminati Zona Oeste 3 M Carminati Zona Oeste 4 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 Y FORMULARIOS

Ejercicios Mdulo de Grficos Personalizados y Formularios. Ejercicio 1 Dada la siguiente tabla:

Paises Aos
Australia Argentina Brasil EEUU Nueva Zelanda Uruguay Mexico Paraguay

Ventas Anuales
2004 1680000 1200000 1800000 2000000 1900000 600000 1200000 750000 2005 1230000 2250000 3500000 3500000 2500000 1800000 1200000 900000 2006 2000000 2100000 3200000 3400000 3000000 1750000 1600000 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 MALVN Hombres Mujeres 0a3 990 487 503 4a5 530 268 262 6 a 14 2.756 1.387 1.369 15 a 19 1.969 1.029 940 Grupo de edades 20 a 24 1.916 947 969 25 a 29 1.973 920 1.053 30 a 49 7.877 3.672 4.205 50 a 64 5.093 2.177 2.916 65 a 79 4.112 1.631 2.481 80 o ms 1.418 438 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
Compra de Terrenos Desmonte Confeccin de Plano Compra de Materiales Construccin Pintura Revisin Entrega

Fecha Inicio
10/02/2006 21/02/2006 08/03/2006 01/04/2006 20/04/2006 25/08/2006 01/09/2006 18/09/2006

Fecha Fin
20/02/2006 10/03/2006 31/03/2006 18/04/2006 24/08/2006 31/08/2006 15/09/2006 19/09/2006

Das Corridos
10 17 23 17 126 6 14 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 02:37 05:21 05:35 07:20 07:47 10:22 10:33 11:18 785 662 546 356 447 611 310 564 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 Argentina Brasil Uruguay Paraguay Peru Bolivia Venezuela Ecuador Colombia Minimo Maximo

Exp 2000 2293660 3863727 1125873 1028543 877385 1379161 2275591 1907308 2511773 877385 3863727

Exp 2001 2657911 2616891 1074146 1134743 947571 1405565 3113542 1443472 2085069 947571 3113542

Exp 2002 1913896 2210725 1021074 1166809 1019173 1530906 3706347 1815317 2073359 1019173 3706347

Exp 2003 1231816 4650539 1449403 1143472 1015051 1670229 4245991 961641 2006935 961641 4650539

Exp 2004 5000000 4000000 1057386 1195914 1071022 1535585 1819779 1905881 2266457 1057386 5000000

Exp 2005 1319296 3951452 1049902 1093311 754180 1144279 1971444 1949043 2273786 754180 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 Dias 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 min 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 M 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 max 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65

PROC1 Valores 56 62 65 55 56 64 62 60 56 59 58 56 60 58 55 57

PROC2 Valores 55 60 63 50 56 64 62 67 52 60 62 53 50 55 60 64

PROC3 Valores 57 65 63 50 56 64 62 67 52 60 62 53 50 55 60 65

PROC4 Valores 55 60 63 50 56 64 62 67 52 60 62 53 50 55 60 60

PROC5 Valores 58 60 63 50 56 64 62 67 52 60 62 53 50 55 60 55

PROC6 Valores 50 60 63 50 56 64 62 67 52 60 62 53 50 55 60 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 o o o 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. Si el empleado tiene ms de 7 aos de antigedad se le pagar un incentivo de antigedad de un 4 % de su sueldo nominal. Si el empleado tiene ms de 9 aos de antigedad se le pagar un incentivo de antigedad de un 6 % de su sueldo nominal. Si el empleado tiene ms de 10 aos de antigedad se le pagar un incentivo de antigedad de un 8 % de su sueldo nominal. 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 20 24 26 % % % % si si si si gana gana gana gana menos menos menos menos de de de de 3 SMN 6 SMN 10 SMN 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 113 502 682 691 Desde 1000 5001 8001 12001 Hasta 5000 8000 12000 18000 Direccin Italia 6255 Rod 2411 Chan 1654 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: 9 Deber figurar Informtica solamente si se trata de un insumo de computacin 9 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: 9 15% sobre Precio de costo para artculos de Informtica con antigedad menor a 1 ao 9 12% sobre Precio de costo para artculos de Informtica con antigedad mayor o igual a 1 ao 9 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 01/01/2006 03/01/2006 05/01/2006 09/01/2006 11/01/2006 11/01/2006 11/01/2006 11/01/2006 12/01/2006 12/01/2006 13/01/2006 16/01/2006 19/01/2006 20/01/2006 23/01/2006 25/01/2006 27/01/2006 27/01/2006 27/01/2006 31/01/2006 31/01/2006 03/02/2006 03/02/2006 07/02/2006 07/02/2006 07/02/2006 10/02/2006 15/02/2006 20/02/2006 Vendedor German Luis Marcelo Esteban Andrea Luisa Daniela German Luis Marcelo Luisa Daniela German Luis Marcelo Luis Marcelo Esteban Andrea Luisa Daniela Daniela German Luis Esteban Andrea Luisa Daniela German Tipo de Producto Alimentos Informatica Electrodomesticos Alimentos Informatica Electrodomesticos Alimentos Informatica Electrodomesticos Alimentos Informatica Alimentos Informatica Electrodomesticos Alimentos Informatica Alimentos Informatica Alimentos Informatica Alimentos Informatica Electrodomesticos Alimentos Informatica Electrodomesticos Alimentos Informatica Electrodomesticos Sucursal Central Central Filial2 Filial2 Filial 1 Filial2 Filial2 Central Central Filial2 Filial2 Filial2 Central Central Filial2 Central Filial2 Filial2 Filial 1 Filial2 Filial2 Filial2 Central Central Filial2 Filial 1 Filial2 Filial2 Central Tipo Operacin Venta Devolucion Venta Venta Venta Venta Devolucion Venta Devolucion Venta Venta Devolucion Venta Devolucion Venta Venta Venta Venta Devolucion Venta Venta Venta Venta Devolucion Venta Venta Venta Devolucion Devolucion Forma de Pago Contado Contado Diferido 3 pagos Diferido 3 pagos Contado Contado Contado Contado Contado Diferido 3 pagos Diferido 6 pagos Contado Diferido 3 pagos Contado Contado Diferido 6 pagos Contado Contado Contado Diferido 3 pagos Diferido 6 pagos Contado Contado Diferido 3 pagos Diferido 6 pagos Contado Diferido 3 pagos Contado Contado Importe $U 1.556 $U 2.294 $U 1.966 $U 2.843 $U 5.461 $U 5.685 $U 2.971 $U 4.101 $U 4.847 $U 5.030 $U 3.296 $U 1.656 $U 4.800 $U 2.913 $U 5.526 $U 3.969 $U 4.760 $U 1.492 $U 5.282 $U 2.189 $U 4.042 $U 5.176 $U 1.528 $U 1.846 $U 2.707 $U 4.754 $U 4.936 $U 1.911 $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.
Base de Datos Ventas
Id Cliente 3201506-7 3501289-1 2650450-5 3456287-1 1795461-8 2975468-6 3197486-8 2497682-3 2894657-1 4132495-8 3201506-7 3501289-1 2650450-5 3456287-1 1795461-8 2975468-6 3197486-8 2497682-3 2894657-1 4132495-8 3201506-7 3501289-1 2650450-5 3456287-1 1795461-8 2975468-6 3197486-8 2497682-3 2894657-1 4132495-8 3201506-7 3501289-1 2650450-5 3456287-1 1795461-8 2975468-6 3197486-8 2497682-3 2894657-1 4132495-8 3201506-7 3501289-1 2650450-5 3456287-1 1795461-8 2975468-6 3197486-8 2497682-3 Operacin Venta Devolucion Venta Venta Venta Venta Venta Venta Venta Devolucion Venta Devolucion Venta Devolucion Venta Devolucion Venta Devolucion Venta Venta Venta Devolucion Venta Venta Venta Devolucion Venta Venta Venta Venta Venta Devolucion Venta Venta Venta Venta Venta Devolucion Venta Venta Venta Venta Venta Devolucion Venta Venta Venta Venta Importe 4.753 940 1.551 5.103 1.722 651 5.444 1.524 4.178 2.189 2.233 5.014 5.138 5.097 3.839 1.181 6.111 1.850 2.362 4.861 3.518 3.985 1.158 1.497 1.193 3.443 1.708 2.195 1.642 4.057 3.564 4.873 2.396 2.685 2.223 2.638 2.646 3.401 3.655 1.489 5.412 5.145 1.142 5.769 1.632 6.008 6.221 5.710

Base de Datos Clientes


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

Ejercicio3 ApartirdelasiguientebasedeDatosreferidaaentregadeproductossesolicita:
Fecha
02/02/2005 02/02/2005 03/02/2005 08/02/2005 08/02/2005 08/02/2005 08/02/2005 08/02/2005 11/02/2005 14/02/2005 15/02/2005 18/02/2005 21/02/2005 22/02/2005 22/02/2005 24/02/2005 25/02/2005 28/02/2005 02/03/2005 04/03/2005 08/03/2005 11/03/2005 11/03/2005 14/03/2005 17/03/2005 18/03/2005 22/03/2005 25/03/2005 29/03/2005

Empresa
Foxy SRL Almiron SA Foxy SRL Almiron SA Foxy SRL Almiron SA Foxy SRL Almiron SA Foxy SRL Almiron SA Foxy SRL Almiron SA Foxy SRL Almiron SA Lypton SA DRR Corp Almiron SA Foxy SRL Almiron SA Foxy SRL Almiron SA Lypton SA DRR Corp Almiron SA Foxy SRL Almiron SA Foxy SRL Almiron SA Lypton SA

Producto
PC Pentium II PC Pentium III TV 21 DVD DVD Monitor LCD Mouse Optico PC Pentium II PC Pentium III TV 21 DVD DVD Monitor LCD Parlantes PC Pentium II PC Pentium III TV 21 DVD DVD DVD Monitor LCD Mouse Optico Parlantes PC Pentium III Parlantes DVD DVD DVD Monitor LCD

Tipo de Cliente
Mayorista Minorista Mayorista Mayorista Mayorista Minorista Mayorista Minorista Mayorista Minorista Mayorista Mayorista Minorista Minorista Mayorista Minorista Mayorista Mayorista Mayorista Minorista Mayorista Mayorista Mayorista Minorista Mayorista Mayorista Minorista Mayorista Mayorista

Fecha Entrega

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:

Empleado Fecha Salario pagado hasta la fecha

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


Sector
Contable Produccion Compras Compras Contable Administrativo Produccion Administrativo Produccion Administrativo Contable Produccion Ventas Produccion Administrativo Produccion Produccion Produccion Ventas Produccion Ventas Compras Produccion Produccion Ventas Produccion Produccion Contable Produccion Compras Compras Contable Administrativo Produccion Administrativo Produccion Administrativo Contable Produccion Ventas Produccion Administrativo Produccion Produccion Produccion Ventas Produccion Ventas

Nombre Apellido
Raul Abal Lucila Vazquez Anibal Bass German Furia Ana Monje Eliana Boss Andrea Guzman Luis Torres Walter Lopez Hugo Prato Danila Estevanez Julio Verdi Juan Balverde Esteban Samir Fernando Luisi Milton Suarez Diego Nion Daniel Marquez Miriam Rey Maite Lupro Damian Valente Jimena Duarte Fernando Grassi Luisa Ottospan Mirta Rodriguez Carla Dupuy Ernesto Darlem Raul Abal Lucila Vazquez Anibal Bass German Furia Ana Monje Eliana Boss Andrea Guzman Luis Torres Walter Lopez Hugo Prato Danila Estevanez Julio Verdi Juan Balverde Esteban Samir Fernando Luisi Milton Suarez Diego Nion Daniel Marquez Miriam Rey Maite Lupro Damian Valente

Fecha
01/02/2006 01/02/2006 02/02/2006 03/02/2006 03/02/2006 04/02/2006 04/02/2006 05/02/2006 05/02/2006 06/02/2006 06/02/2006 07/02/2006 07/02/2006 07/02/2006 08/02/2006 09/02/2006 10/02/2006 11/02/2006 11/02/2006 12/02/2006 12/02/2006 13/02/2006 13/02/2006 14/02/2006 14/02/2006 15/02/2006 15/02/2006 16/02/2006 16/02/2006 16/02/2006 17/02/2006 20/02/2006 21/02/2006 22/02/2006 22/02/2006 22/02/2006 24/02/2006 27/02/2006 01/03/2006 02/03/2006 02/03/2006 02/03/2006 06/03/2006 06/03/2006 07/03/2006 07/03/2006 07/03/2006 07/03/2006

Hora Ingreso
11:11:22 7:47:29 8:34:49 23:51:50 0:36:05 0:54:53 8:45:58 22:45:28 12:05:06 20:29:17 7:25:26 4:19:15 0:00:45 1:18:58 19:14:38 18:06:46 10:14:41 5:26:43 1:25:57 17:26:05 17:30:59 8:07:40 11:17:42 17:53:43 2:16:55 11:49:50 7:11:00 23:02:17 16:29:22 21:43:18 20:20:44 11:54:08 0:18:22 17:33:35 1:05:19 14:34:28 17:09:20 17:24:19 22:12:16 9:34:09 2:52:58 8:20:40 15:45:04 3:47:03 8:25:54 8:02:41 23:02:35 18:43:08

Hora Egreso
5:14:53 6:23:34 16:08:55 7:53:06 4:10:01 14:32:46 0:57:23 7:41:47 23:17:14 15:53:44 3:32:26 12:20:00 5:30:01 2:43:36 3:32:01 3:47:05 12:43:31 0:34:42 23:08:40 1:33:24 4:36:26 1:39:25 13:52:30 11:28:25 2:21:09 21:56:34 2:14:06 23:30:23 20:38:22 21:05:41 5:56:07 17:25:57 3:57:12 4:13:53 11:04:26 5:07:44 6:23:08 18:06:56 4:44:52 20:30:08 4:32:00 14:07:48 8:10:43 20:19:58 9:54:43 16:04:13 3:08:58 4:17:44

Horas Trabajadas

Pago/Hora

Salario/dia

FuncionesAvanzadas PruebaFinal
Ejercicio1 Acontinuacinsepresentalasiguientebasededatos,lacualcontienelosnombresdelos participantesdelos4equiposexistentes.
Equipo A Adalberto Alberto Alicia Alison Ana Ana Maria Anastacia Antonio Armando Arnaldo Arturo Asencio Equipo B Baltasar Bartolo Basilio Beatriz Benjamin Bernardo Berta Betiana Betina Brian Bruce Bruno Equipo C Camila Camilo Carla Carlos Carmen Carol Carolina Cecilia Celene Celeste Celia Cristian Equipo D Damian Daniel Daniela Danilo Dante Dario Demetrio Demostenes Denise Diana Dino 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: Tipo de Operacin: Suma Promedio Maximo Minimo Brasil Importacion

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

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

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

Apartirdelasiguientebasededatos,nuestraempresadelogsticaquesededicaalaentregade diferentesproductosadiferentesempresas,deseaconocerlasfechasdeentregaparacadaunode losproductos. Senosdaaconocerlasiguienteinformacin: TodoslosProductosdelaEmpresaLaTardaseentreganalos15dashbilesdelafechade facturacin.

Empresa La Tardia La Tempranera La Tempranera La Tempranera La Tardia La Tardia La Tardia La Tempranera La Tempranera La Tardia La Tardia La Tempranera La Tempranera La Tardia La Tempranera La Tardia

Fecha de Entrega

EncambioparalaEmpresaLaTempraneraseentreganlosproductosalos3dashbilesdela fechadefacturacin,salvolosDVDquedebenentregarsealsiguientedahbil. Ejercicio4 Plan Circuital


N de Circuito 101 151 201 251 301 501 Desde Hasta Direccion 1 1000 Guana 2015 1001 5000 18 de Julio 2374 5001 9000 21 de septiembre 2323 9001 12000 Rodo 3111 12001 15000 Mercedes 2173 15001 20000 Uruguay 2158

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 Enero Febrero Marzo Abril Mayo Junio Julio Agosto Septiembre Octubre Noviembre Diciembre Equipo A $U 150.000 $U 271.139 $U 310.874 $U 324.147 $U 338.982 $U 362.883 $U 473.192 $U 533.822 $U 653.734 $U 701.385 $U 776.790 $U 913.258 Equipo B $U 157.487 $U 299.764 $U 352.540 $U 465.699 $U 489.592 $U 525.612 $U 671.261 $U 802.015 $U 924.318 $U 1.018.397 $U 1.162.809 $U 1.245.318 Equipo C Equipo D $U 125.868 $U 90.834 $U 163.736 $U 244.286 $U 194.513 $U 246.763 $U 350.106 $U 361.981 $U 382.835 $U 536.825 $U 529.520 $U 554.831 $U 704.240 $U 693.014 $U 875.955 $U 766.389 $U 963.160 $U 905.500 $U 1.089.458 $U 978.142 $U 1.140.784 $U 1.072.761 $U 1.220.691 $U 1.197.392 Equipo E $U 52.481 $U 127.685 $U 210.303 $U 248.181 $U 349.743 $U 455.638 $U 489.846 $U 552.640 $U 722.182 $U 773.879 $U 809.750 $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. DeseamosobservarenunnuevograficolaparticipacindecadaEquipodeVentaparael totaldelasventasendiciembre,atravsdeungraficocircularconefecto3dyseccionado. Aadaunformatoqueincluya: Unaimagendefondoenelreadegrafico. Eltitulodedichograficoser:ParticipacindelosEquiposde VentaenDiciembre2006.

1.4)

Deberfigurarelnombreyelporcentajecorrespondientea cadaEquipo,separadosporunanuevalnea. Laleyendaconlascategorasdeberfigurarsobreelgrafico. UbqueloennuevahojallamndolaGrafico14.

EjercicioN2 Copielasiguientetablaaunanuevahojadellibroconelcualestatrabajandoynmbrela PirmidePoblacional.


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

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
Planificacion Revision Primaria Pruebas de desarrollo 1 Proceso Productivo 2 Proceso Productivo 3 Proceso Productivo Evaluacion de Resultados Replanteo del Proyecto

Fecha Inicial Fecha Final


01/03/2006 16/03/2006 25/03/2006 16/03/2006 01/05/2006 15/05/2006 01/07/2006 10/07/2006 15/03/2006 22/03/2006 15/04/2006 15/05/2006 15/06/2006 30/06/2006 05/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 Enero Febrero Marzo Abril Mayo 180500 190200 170800 165900 189000

EquipoB 176000 120000 135000 210000 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 Uruguay 155 45 145 55 110 90 80 120

Generarungrficodepirmidepoblacional.Adicionaralmismounttuloparacadaunodelos ejes.Mostrarlosvaloresdentrodelgrfico.Aplicarefectosderellenoqueelestudianteconsidere. Grabarestegraficocomopersonalizadoparaaplicarloenfuturosusos(darlecomonombre pirmidespersonalizadas).

PruebaFinal Mdulo:GrficosPersonalizados
EjercicioN1 Copieelsiguientecuadrodedatosenla1hojadesulibrodeExcelalquellamara Prueba_GP_Nombre_Apellido.AlahojanmbrelacomoEjercicio1.
Ventas Anuales Vendedores Martin Alicia Jaime Gustavo Elisa Juan 2000 150 320 260 460 750 120 2001 180 350 280 620 820 375 2002 230 350 300 750 600 400

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)

1.3)

1.4)

Asimismosedeseaobservarungraficodebarrasconefecto3D,dondesemuestreun comparativoporvendedoresparaelao2001y2002,conidnticoformatoqueelgrafico realizadoenelpunto1.1),ubqueloenunanuevahojaalaquellamaraGrafico12. Ademsnospidenrealizarunnuevograficodecolumnasconformatossimilaral1.1)para compararlostotalesdeventasparalosaos2001y2002entretodoslosvendedores, perosingenerarunanuevaserieenlatablaoriginal.Paragenerarelefectodeseadoenel graficomodifiqueelreadeunaoambasseriesparaquequedenconelmismoefectoy generenlasensacinbuscada.UbqueloennuevahojallamndolaGrafico13 Deseamosobservarenunnuevograficolaparticipacindecadavendedorparalasventas delao2001,atravsdeungraficocircularconefecto3dyseccionado.Aadaunformato similaralosgrficosanterioresparalasdiferentesreasdelmismo.Peroeneste deseamosqueaparezcaelnombredelvendedoryelporcentaje(ambosseparadosporun espacio).UbqueloennuevahojallamndolaGrafico14.Eltitulodedichograficoser Ventas2001.

EjercicioN2 Copielasiguientetablaaunanuevahojadellibroconelcualestatrabajandoynmbrela Ejercicio2. Edades PoblacindeArtigassegnsexoygrupoetario Sexo Total 0a3 4a5 6a14 15a19 20a24 25a29 30a49 50a64 65a79 80ymas ARTIGASTotal 78.019 5.426 3.139 14.626 Hombres 39.082 2.798 1.587 7.419 Mujeres 38.937 2.628 1.552 7.207 7.349 3.797 3.552 5.634 2.860 2.774 4.767 19.619 10.169 2.316 9.836 5.255 2.451 9.783 4.914 5.771 2.663 3.108 1.519 551 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 Planificacin ContratacindePersonaltemporal CampaasPiloto CampaasFocalizadas FolleteriaBarrial Folleterianoespecializada Graficaespecializada Radio Televisin

FechaInicio 01/11/2005 16/11/2005 17/11/2005 18/11/2005 01/12/2005 01/12/2005 01/01/2006 15/01/2006 25/02/2006

FechaFinal 15/11/2005 30/11/2005 20/11/2005 30/12/2005 15/04/2006 15/01/2006 25/01/2006 15/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: 9 NombreyApellidodelEmpleado 9 CargoenlaEmpresa Cadete Auxiliar Administrativo Encargado Gerente 9 FechadePago 9 DasdeAusencia Ademsdeberagregarseenlabasededatosnuevascolumnasreferidasa: 9 SueldoNominal 9 Aportes 9 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: 9 Fechaactual,(utilicelafuncinNow()) 9 RegindelaSucursaldesdedondeserealizolallamada Montevideo Maldonado Rocha Rivera 9 PasdeDestino Argentina Espaa EEUU Brasil Otros 9 Minutosenterosdelallamada Apartirdelosanterioresdatosquecargaraelusuarioalejecutarlamacro,sedeberncalcularlos siguientescamposautomticamente: 9 Costoporminuto Argentina;0,5USD. Espaa;2USD. EEUU;1,5USD. Brasil;1USD. Otros;3USD. 9 CostoTotal CostoTotal=Costoporminuto*MinutosEnterosdelallamada 9 Descuento LlamadashechasdesdelasucursalRochaoRivera,tienenun5%dedescuento. 9 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