base datos en excel con fotos.docx

29
Exportar es cualquier bien o servicio enviado fuera del territorio nacional. La exportación es el tráfico legítimo de bienes y/o servicios desde un territorio aduanero hacia otro territorio aduanero. Las exportaciones pueden ser cualquier producto enviado fuera de la frontera aduanera de un Estado o bloque económico. Las exportaciones son generalmente llevadas a cabo bajo condiciones específicas. La complejidad de las diversas legislaciones y las condiciones especiales de estas operaciones pueden presentarse, además, se pueden dar toda una serie de fenómenos fiscales. Mientras que la importación es el transporte legítimo de bienes y servicios nacionales exportados por un país, pretendidos para el uso o consumo interno de otro país. Las importaciones pueden ser cualquier producto o servicio recibido dentro de la frontera de un Estado con propósitos comerciales. Las importaciones son generalmente llevadas a cabo bajo condiciones específicas. ¿Alguna vez has pensado en desarrollar un catálogo de productos en Excel? ¿O quizás una base de datos que incluya fotos por cada registro que contiene? ¿Una lista con los empleados de tu empresa, sus datos y una foto de referencia? La técnica que te vamos a enseñar hoy tiene una nutrida variedad de aplicaciones. ¡Hoy aprenderás a mostrar una imagen externa dentro de una hoja Excel! Cómo mostrar una imagen externa seleccionando un dato de una lista desplegable en Excel Para los fines de este tutorial vamos a suponer que tenemos una lista de empleados con datos varios y necesitamos que al seleccionar alguno podamos visualizar su foto. Por ello nos apoyaremos con imágenes externas desde una carpeta llamada “fotos”, la cual siempre estará localizada en el mismo lugar donde coloque el libro Excel que se encargará de mostrar las imágenes. Las imágenes para nuestro ejemplo tienen un tamaño de 358 x 480 pixeles, dimensionadas seleccionadas para que se muestren

Upload: juan-centeno-cordova

Post on 17-Sep-2015

14 views

Category:

Documents


0 download

TRANSCRIPT

Exportar es cualquier bien o servicio enviado fuera del territorio nacional. La exportacin es el trfico legtimo de bienes y/o servicios desde un territorio aduanero hacia otro territorio aduanero. Las exportaciones pueden ser cualquier producto enviado fuera de la frontera aduanera de un Estado o bloque econmico. Las exportaciones son generalmente llevadas a cabo bajo condiciones especficas. La complejidad de las diversas legislaciones y las condiciones especiales de estas operaciones pueden presentarse, adems, se pueden dar toda una serie de fenmenos fiscales. Mientras que la importacin es el transporte legtimo de bienes y servicios nacionales exportados por un pas, pretendidos para el uso o consumo interno de otro pas. Las importaciones pueden ser cualquier producto o servicio recibido dentro de la frontera de un Estado con propsitos comerciales. Las importaciones son generalmente llevadas a cabo bajo condiciones especficas.Alguna vez has pensado en desarrollar un catlogo de productos en Excel? O quizs una base de datos que incluya fotos por cada registro que contiene? Una lista con los empleados de tu empresa, sus datos y una foto de referencia? La tcnica que te vamos a ensear hoy tiene una nutrida variedad de aplicaciones. Hoy aprenders a mostrar una imagen externa dentro de una hoja Excel!Cmo mostrar una imagen externa seleccionando un dato de una lista desplegable en ExcelPara los fines de este tutorial vamos a suponer que tenemos una lista de empleados con datos varios y necesitamos que al seleccionar alguno podamos visualizar su foto.Por ello nos apoyaremoscon imgenes externas desde una carpeta llamada fotos, la cual siempre estarlocalizada en el mismo lugar donde coloque el libro Excel que se encargar de mostrar las imgenes.Las imgenes para nuestro ejemplo tienen un tamao de358 x 480 pixeles, dimensionadas seleccionadas para que se muestren de forma perfecta de acuerdo a nuestros datos. Si deseas cambiar las dimensiones deber cambiar algunos pasos en este ejemplo.Descargaen este enlace las imgenes que emplearemos en este tutorial.

Paso 1: Preparar la hoja Excel en donde queremos mostrar imagen externa.Lo primero que vamos a hacer es preparar la hoja donde mostraremos el proyecto; para este ejemplo selecciona las columnas desde la A hasta la Z y define un ancho de columna igual a 20 pixeles.

Paso 2: Colocar datos de lasimgenesexternas a mostrar.A continuacin cargalos datos que tepermitirnmostrar una imagen externa en tu libro Excel; para los fines de este tutorial ubicaremos la informacinen la misma hoja, pero bien puedes ubicar los datos de referencia en otra hoja de clculo o inclusive en otro libro Excel.Cambia el ancho de columna de K a 100 pixeles y de la columna L a 40 pixeles, dado que en ella ubicaremos nuestros datos de referencia. A continuacin de la celda K7 a la celda K10 creauna sencilla lista con cuatro nombres de empleado (Ana, Marcelo, Carlos y Lin) y de la celda L7 a la celda L10 carga cuatro nmeros de ID de empleado (nmeros del1 al 4).

Paso 3: Crear lista desplegable.Como paso siguiente crea una lista desplegable a partir de los datos de referencia. Esta lista desplegable nos permitir seleccionar que imagen deseamos ver.Seleccionala celda K2, donde vas a ubicarla lista desplegable y ve al menDATOS, y hazclicen la opcinValidacinde datos.Hecho esto en la pestaaConfiguracincambia el valorPermitir a Lista y selecciona el origen de tus datos (en nuestro caso de la celda K7 ala K10).

Paso 4: Crear frmula de ubicacin a partir de las funciones BUSCARV y SI.Nosvaldremos del valor del ID que definimos en la columna L para ubicar la imagen correcta. Para identificar cul es el ID asociado a un nombre utilizaremos la funcin BUSCARV. Tambin emplears lafuncinSI para anular que se muestrealgnvalor si no se tiene seleccionado un nombre.Para hacerlo escribeen la celda E8:=SI(K2="","",BUSCARV($K$2,$K$7:$L$9$,2,FALSO))

Paso 5: Crear cdigo VBA.Ahora es el momento de crearel cdigo VBA que har la magia! Para ellove al menProgramador y hazclic donde dice VerCdigo, hecho esto aparecer la ventana de Microsoft Visual Basic para Aplicaciones.De forma automtica seabrir el cdigo existente en la Hoja1 del libro de Excel que estas usando, as que solo resta escribir o copiar y pegar lo siguiente:Private Sub Worksheet_Change(ByVal Target As Range)On Error Resume NextIf Target.Cells = Range("K2") Thenfoto = Range("E8").ValueApplication.ScreenUpdating = Falsefoto = foto & ".jpg"ruta = ActiveWorkbook.Path & "\fotos\" & fotoMe.Shapes("foto_del").DeleteSet fotografia = Me.Pictures.Insert(ruta)With Range("C5:H12")Arriba = .TopIzquierda = .LeftAncho = .Offset(0, .Columns.Count).Left - .LeftAlto = .Offset(.Rows.Count, 0).Top - .TopEnd WithWith fotografia.Name = "foto_del".Top = Arriba.Left = Izquierda.Width = Ancho.Height = AltoEnd WithSet fotografia = NothingApplication.ScreenUpdating = TrueEnd IfEnd SubPaso 6: Probar nuestro proyecto para mostrar una imagen externaen nuestro libro Excel.Por ultimo, solo nos resta probar nuestro proyecto guardando el libro Excel en el mismo directorio donde tengas alojada la carpeta fotos en la que almacenamos las imgenes de la base de datos. Recuerda guardar el libro Excel como tipo: Libro de Excel habilitado para macros (*.xlsm). Las fotos a emplear deben usar como nombre de archivo el mismo nmero de ID que utilizamos en la base de datos de nuestro libro y deben estar en formato JPG.En este momento ya puedes probar como funciona tu nueva base de datos con imgenes externas. Deberas obtener un resultado muy similar al de la imagen anexa.

Puedes descargar nuestro archivo de prctica con los resultados de aplicar esta tcnica haciendo clic en este enlace.Te result til? No dejes de compartir este artculo con otros a travs de las redes sociales de tu preferencia, y no olvides darnos tu +1 en Google+ y unirte a nuestra lista de correo para descubrir semana a semana en tu bandeja de entrada nuestros mejores y ms nuevos artculoCmo crear un catlogo de imgenes en ExcelLas personas utilizan Excel para almacenar diversos tipos de informacin y en muchas ocasiones dicha informacin necesita tener una imagen asociada por lo que se hace necesario crear un catlogo de imgenes en Excel que pueda estar vinculado a nuestra base de datos.Crear el catlogo de imgenes en ExcelExisten diversos mtodos para crear un catlogo de imgenes en Excel. Algunos usuarios de Excel prefieren implementar el catlogo incrustando la imagen asociada a cada registro dentro de la hoja de Excel. Sin embargo, si tienes una base de datos con muchos registros terminars con un libro de Excel excesivamente grande por el tamao de las imgenes lo cual dificultar su manejo.Siempre recomiendo utilizar un mtodo con VBA porque eso nos permite dejar los archivos de las imgenes en una carpeta local del equipo y solamente cargar las imgenes conforme son utilizadas dentro de nuestra base de datos de Excel.La clave para crear el catlogo de imgenesLa clave para tener un catlogo de imgenes en Excel es tener una hoja donde se relacione la llave primaria de nuestros registros con la imagen correspondiente. Si no ests familiarizado con el trmino llave primaria te recomiendo leer el artculo Diseo de bases de datos.En el siguiente ejemplo podrs observar que tengo una lista de 5 pelculas en Blu-ray y cada una de ellas tiene una clave de producto nica.

Las imgenes de cada producto estarn guardadas dentro de un directorio llamada imagenes y tendrn el mismo nombre que el cdigo de producto al que pertenecen. El tener las imgenes con el mismo nombre que la clave del producto facilitar su manipulacin en gran manera.

Insertar un Control de imagenPara poder observar la imagen de cara producto insertar un Control de imagen que es un tipo de control ActiveX. Para hacerlo debo ir a la ficha Programador y en el botn Insertar seleccionar el control adecuado.

El Control de imagen se ver de la siguiente manera:

Crear la macro para mostrar imagenPara este ejemplo har que la imagen se muestre al momento de seleccionar una celda de la columna Cdigo y para ello utilizar el evento Worksheet_SelectionChange. Haz clic derecho sobre el nombre de la hoja y selecciona la opcin Ver cdigo y dentro del Editor de Visual Basic selecciona el evento SelectionChange. A continuacin podrs ver el cdigo VBA para dicho evento:

La parte importante de este cdigo es que cuando seleccionamos cualquier celda dentro del rango A2:A6 se modificar la propiedad Picture del objeto Image1. La instruccin LoadPicture es responsable de cargar la imagen almacenada en nuestro disco duro local:LoadPicture(ActiveWorkbook.Path & "\imagenes\" & Target & ".jpg")La instruccin ActiveWorkbook.Path devuelve el directorio actual del archivo Excel y le concatena el directorio imagenes que es donde se encuentran nuestros archivos. Posteriormente se concatena la variable Target que contiene el valor de la celda seleccionada y se agrega la extensin de lo archivos de imagen que para nuestro ejemplo son archivos JPG.Probando el catlogo de imgenes en ExcelA continuacin probar que la macro recin creada funciona correctamente pata nuestro catlogo de imgenes en Excel:

Existen variantes sobre este mtodo y seguramente en otro artculo tendremos la oportunidad de explorar diferentes mtodos para mostrar las imgenes asociadas a un registro de nuestra base de datos en Excel. Para continuar con las pruebas puedes descargar el libro de trabajo utilizado junto con las imgenes de ejemplo. INICIO FUNCIONES ACERCADiseo de bases de datosEl diseo de una base de datos es de suma importancia ya que de ello depender que nuestros datos estn correctamente actualizados y la informacin siempre sea exacta. Si hacemos un buen diseo de base de datos podremos obtener reportes efectivos y eficientes.En esta ocasin proporcionar algunas recomendaciones a seguir al momento de realizar el diseo y modelo de una base de datos. No importa la herramienta que se utilice para almacenar la informacin, puede ser Excel, Access o sistemas gestoresde bases datos ms complejos como Microsoft SQL Server pero siempre debes disear y modelar una base de datos antes de tomar la decisin de crearla.Conceptos bsicos sobre el diseo de bases de datosEn cualquier base de datos la informacin est almacenada en tablas las cuales a su vez estn formadas por columnas y filas. La base de datos ms simple consta de una sola tabla aunque la mayora de las bases de datos necesitarn varias tablas.

Las filas de una tabla tambin reciben el nombre de registros y las columnas tambin son llamadas campos.Disear y modelar una base de datosAl disear una base de datos determinamos las tablas y campos que darn forma a nuestra base de datos. El hecho de tomarnos el tiempo necesario para identificar, organizar y relacionar la informacin nos evitar problemas posteriores.Es por eso que para disear una base de datos es necesario conocer la problemtica y todo el contexto sobre la informacin que se almacenar en nuestro repositorio de datos. Debemos determinar la finalidad de la base de datos y en base a eso reunir toda la informacin que ser registrada. A continuacin los 5 pasos esenciales para realizar un buen diseo y modelo de una base de datos.1. Identificar las tablasDe acuerdo a los requerimientos que tengamos para la creacin de nuestra base de datos, debemos identificar adecuadamente los elementos de informacin y dividirlos en entidades (temas principales) como pueden ser las sucursales, los productos, los clientes, etc.

Para cada uno de los objetos identificados crearemos una tabla. Si en una base de datos los objetos principales son los empleados y los departamentos de la empresa entonces tendremos una tabla para cada uno de ellos. Si en otra base de datos los objetos principales son los libros, autores y editores entonces necesitaremos tres tablas en nuestra base de datos.2. Determinar los camposCada entidad representada por una tabla posee caractersticas propias que lo describen y que lo hacen diferente de los dems objetos. Esas caractersticas de cada entidad sern nuestros campos de la tabla los cuales describirn adecuadamente a cada registro. Por ejemplo, una tabla de libros impresos tendr los campos ISBN, ttulo, pginas, autor, etc.

3. Determinar las llaves primariasUna llave primaria es un identificador nico para cada registro (fila) de una tabla. La llave primaria es un campo de la tabla cuyo valor ser diferente para todos los registros. Por ejemplo, para una tabla de libros, la llave primaria bien podra ser el ISBN el cual es nico para cada libro. Para una tabla de productos se tendra una clave de producto que los identifique de manera nica.

4. Determinar las relaciones entre tablasExamina las tablas creadas y revisa si existe alguna relacin entre ellas. Cuando encontramos que existe una relacin entre dos tablas debemos identificar el campo de relacin. Por ejemplo, en una base de datos de productos y categoras existir una relacin entre las dos tablas porque una categora puede tener varios productos asignados. Por lo tanto el campo con el cdigo de la categora ser el campo que establezca la relacin entre ambas tablas.

5. Identificar y remover datos repetidosFinalmente examina cada una de las tablas y verifica que no exista informacin repetida. El tener informacin repetida puede causar problemas de consistencia en los datos adems de ocupar ms espacio de almacenamiento.Por ejemplo, una tabla de empleados que contiene el cdigo del departamento y el nombre del departamento comenzar a repetir la informacin para los empleados que pertenezcan al mismo departamento.

Qu pasara si el nombre del departamento cambiara de Informtica a Tecnologa? Tendramos que ir registro por registro modificando el nombre correspondiente y podramos dejar alguna incongruencia en los datos. Una mejor solucin es tener una tabla exclusiva de departamentos y solamente incluir la clave del departamento en la tabla de empleados.

De esta manera dejamos de repetir el nombre del departamento en la tabla de empleados y ahorramos espacios de almacenamiento. Y en caso de un cambio de nombre de departamento solamente debemos realizar la actualizacin en un solo lugar.El diseo de bases de datos es un tema muy extenso y es difcil considerar todos sus aspectos en un solo artculo. Sin embargo, al seguir estas 5 reglas bsicas del diseo de bases de datos estaremos dando un paso hacia adelante en las buenas prcticas de creacin y gestin de bases de datos.

Controles ActiveX en ExcelLos controles ActiveX son un tipo de controles que nos permiten agregar funcionalidad de formularios a nuestros libros de Excel. Existe otro tipo de controles que es conocido como Controles de formulario y que tienen una funcionalidad similar, sin embargo existen algunas diferencias entre ambos tipos.Controles ActiveX y controles de formularioLos controles de formulario fueron introducidos desde la versin 4 de Excel y por lo tanto han estado presentes en la aplicacin por ms tiempo que los controles ActiveX los cuales comenzaron a ser utilizados a partir de Excel 97. Ya que los controles ActiveX fueron introducidos posteriormente ofrecen ms posibilidades de configuracin y formato que los controles de formulario. Ambos tipos de controles se encuentran en la ficha Programador.

La diferencia ms significativa entre ambos es la manera en como podemos obtener informacin de los controles al momento de interactuar con el usuario. Los controles de formulario solamente respondern despus de que el usuario ha interactuado con ellos, como despus de haber pulsado el botn. Por el contrario, los controles ActiveX responden de manera continua a las acciones del usuario lo cual nos permite realizar acciones como cambiar el tipo de puntero del mouse que se muestra al colocar el puntero del ratn sobre el botn.Propiedades de los controles ActiveXA diferencia de los controles de formulario, los controles ActiveX tienen una serie de propiedades que podemos configurar pulsando el botn Propiedades que se encuentra dentro del grupo Controles de la ficha Programador.

Antes de poder ver las propiedades de un control ActiveX debemos pulsar el botn Modo Diseo el cual nos permitir seleccionar el control y posteriormente ver sus propiedades. Cada tipo de control ActiveX mostrar una ventana de Propiedades con sus propias caractersticas. A continuacin un ejemplo de la ventana Propiedades para un botn de comando ActiveX:

Controles ActiveX con subrutinas VBAOtra diferencia entre los controles de formulario y los controles ActiveX es que los primeros pueden tener asignada una macro y al hacer clic sobre el control de formulario se iniciar la ejecucin de dicha macro.Los controles ActiveX no tienen asignada una macro explcitamente sino que podemos asignar cdigo VBA para cada evento del control. Un evento de un control ActiveX puede ser el evento de hacer clic sobre el control, el evento de hacer doble clic, el evento de obtener el foco sobre el control ActiveX, entre otros eventos ms. Para asignar cdigo a uno de los eventos de un control ActiveX solamente debemos hacer clic derecho sobre l y seleccionar la opcin Ver cdigo.

Esto mostrar el Editor de Visual Basic con una subrutina para el evento Click() donde podremos escribir nuestro cdigo.

En la lista desplegable de la derecha podemos observar la lista de eventos disponibles para nuestro control ActiveX y para los cuales podemos escribir cdigo VBA. Al seleccionar cualquiera de dichos eventos se insertar una nueva subrutina que podremos utilizar. Son precisamente la gran cantidad de eventos disponibles para los controles ActiveX lo que los hace controles muy poderosos que podemos utilizar en nuestros formularios.Otra ventaja de los controles ActiveX en ExcelEn la versin de Excel 2010 algunos controles de formulario han dejado de ser soportados y no podemos utilizarlos ms en nuestras hojas. Ese es el caso del control de formulario conocido como campo de texto. Sin embargo, dentro de la lista de controles ActiveXseguimos teniendodisponible elcontrol llamado Cuadro de texto lo cual puede hacer atractiva la opcin de utilizar controles ActiveX en Excelen lugar de controles de formulario. INICIO FUNCIONES ACERCAMostrar la ficha ProgramadorSi quieres escribir una nueva macro o ejecutar una macro previamente creada, entonces debes habilitar la ficha Programador dentro de la cinta de opciones. Para mostrar esta ficha sigue los siguientes pasos.Mostrar la ficha Programador en Excel 2010Haz clic en la ficha Archivo y elige la seccin Opciones. Se mostrar el cuadro de dilogo Opciones de Excel donde debers seleccionar la opcin Personalizar cinta de opciones.

En el panel de la derecha debers asegurarte de seleccionar la ficha Programador.

Acepta los cambios y la ficha se mostrar en la cinta de opciones.

Grupos de la ficha ProgramadorEl grupo Cdigo tienes los comandos necesarios para iniciar el Editor de Visual Basic donde se puede escribir directamente cdigo VBA. Tambin nos permitir ver la lista de macros disponibles para poder ejecutarlas o eliminarlas. Y no podramos olvidar mencionar que en este grupo se encuentra el comando Grabar macro el cual nos permite crear una macro sin necesidad de saber sobre programacin en VBA.El grupo Complementos nos permite administrar y habilitar complementos como el Solver.El grupo Controles incluye funcionalidad para agregar controles especiales a las hojas de Excel como los controles de formulario que son botones, casillas de verificacin, botones de opcin entre otros ms que sern de gran utilidad para ampliar la funcionalidad de Excel.El grupo XML permite importar datos de un archivo XML as como opciones tiles para codificar archivos XML. Finalmente el grupo Modificar solamente contiene el comando Panel de documentos.Aunque pueden parecer intimidantes los comandos de la ficha Programador con el paso del tiempo te irs familiarizando poco a poco con cada uno de ellos.

El Editor de Visual BasicEl Editor de Visual Basic, VBE por sus siglas en ingls, es un programa independiente a Excel pero fuertemente relacionado a l porque es el programa que nos permite escribir cdigo VBA que estar asociado a las macros.Existen al menos dos alternativas para abrir este editor, la primera de ellas es a travs del botn Visual Basic de la ficha Programador.

El segundo mtodo para abrir este programa es, en mi opinin, el ms sencillo y rpido y que es a travs del atajo de teclado: ALT + F11.El Editor de Visual Basic contiene varias ventanas y barras de herramientas.

En la parte izquierda se muestra el Explorador de proyectos el cual muestra el proyecto VBA creado para el libro actual y adems muestra las hojas pertenecientes a ese libro de Excel. Si por alguna razn no puedes visualizar este mdulo puedes habilitarlo en la opcin de men Ver y seleccionando la opcin Explorador de proyectos.

El Explorador de proyectos tambin nos ayuda a crear o abrir mdulos de cdigo que se sern de gran utilidad para reutilizar todas las funciones de cdigo VBA que vayamos escribiendo.Dentro del Editor de Visual Basic puedes observar una ventana llamada Inmediato que est en la parte inferior. Esta ventana es de mucha ayuda al momento de escribir cdigo VBA porque permite introducir instrucciones y observar el resultado inmediato. Adems, desde el cdigo VBA podemos imprimir mensajes hacia la ventana Inmediato con el comando Debug.Print de manera que podamos depurar nuestro cdigo. Si no puedes observar esta ventana puedes mostrarla tambin desde el men Ver.El rea ms grande en blanco es donde escribiremos el cdigo VBA. Es en esa ventana en donde escribimos y editamos las instrucciones VBA que dan forma a nuestras macros.