Ir al contenido principal

Entradas

como empezar a programar macros

Esta no será una entrada que trate sobre "la forma de hacer algo" con VBA, sino que está realizada en base a una consulta que recibí en un post, junto a otras varias por el estilo que hicieran llegar a mi casilla de correo. La pregunta casi siempre es: " donde puedo aprender a programar macros " o " que sitio web me recomiendas para 'empezar' con las macros ". Digamos que, para hacerla fácil, con poner dos o tres links respondería a la consulta y listo, pero el tema va un poco mas allá y merece ser tratado, ya que mucha gente desea y/o necesita aprender sobre esta materia. Si bien no es el "camino óptimo" (el cual tampoco creo que exista), comentaré como fue mi experiencia personal con Excel y su poderoso entorno VBA. [+/-] Ver el resto / Ocultar Nunca realicé ningún curso sobre programación de macros. Es mas, hasta pasados los 25 años no tenía PC (hoy tengo 38, así que calculen que en aquellas "épocas" [ya hablo como viejo] n...

cargar varias imagenes en una hoja de calculos

Ya vimos varias entradas sobre el manejo de imágenes desde Excel , tanto con macros como sin ellas. Pero el tema  siempre da para mas: me plantean un interrogante que hasta el momento no tratamos: mi lector necesita colocar 40 imágenes en una hoja de cálculos, cada una de ellas dentro de un control independiente.  La tarea nos insumirá un par de líneas de código en VBA , debiendo prestar atención a ciertos "requisitos" para que esto funcione correctamente. estoy un poco vago y cargué solo 6, pero el procedimiento que llevaremos a cabo nos permitirá insertar la cantidad de imágenes que necesitemos. [+/-] Ver el resto / Ocultar Continuando con la misma lógica que la aplicada en los posts anteriores, el nombre de cada imagen será "autoincremental", de esta forma: " Imagen1.jpg ", " Imagen2.jpg ", " Imagen3.jpg ".........., " Imagen40.jpg ", para que así nos sea posible ubicarlas en el mismo directorio , a través de un sencillo b...

busqueda multiple en una y todas las hojas

En varias entradas del blog podrán leer distintas "técnicas de búsqueda", realizadas siempre con el objetivo de saber si ese dato que tanto nos preocupa existe o no dentro de una hoja o rango. Dichas técnicas pueden o no hacer uso de las macros; muchas veces con funciones como BUSCARV() o COINCIDIR() , y otras tantas, alcanza. Para la consulta que me realizan en esta oportunidad no veo mejor alternativa que hacer uso de VBA . dado que no es un búsqueda "común y corriente". La pregunta es la siguiente: " como puedo hacer para buscar un valor dentro de todas las hojas del libro, almacenando la celda en donde están y luego permitir que el usuario vaya hasta esa dirección ". La respuesta no es muy complicada, pero tiene sus cosas. Empecemos. mi Lector seguro se inspiró en la herramienta "Buscar" de Excel al realizarme esta consulta. [+/-] Ver el resto / Ocultar Analicemos la imagen: le estoy pidiendo que me busque el valor "a" d...

autoincremento al guardar archivo de excel

Un estimado lector, Edgar, quien me realizó un par de consultas en la entrada sobre como enviar mails desde Excel (con Outlook), necesita que el archivo anexado al correo electrónico tenga un valor autoincremental en su nombre, mismo que va aumentando en cada envío. El tema sería así: supongamos que anexo a los correos un libro llamado "EnvioDeDatos.xls". Nuestra macro se debería encargar de hacer esto: EnvioDeDatos-1.xls EnvioDeDatos-2.xls EnvioDeDatos-3.xls y así ir "subiendo" ese número automáticamente. Está claro que mi amigo necesita ir guardando un "historial" de envíos, lo cual puede llegar a ser de mucha utilidad ante futuros reclamos. Si bien esta entrada será mas sobre programación que sobre Excel en sí..... no puedo dejar de responderla, y menos si tiene como origen una consulta realizada sobre las entradas del blog. [+/-] Ver el resto / Ocultar Empecemos. Vamos a "configurar" una hoja en nuestro libro para guardar todos los parám...

buscarv con varios resultados

Es de las preguntas mas recurrentes que he tenido: ¿se puede lograr que la función BUSCARV() devuelva varios resultados? Si recordamos el uso de esta función, sabremos que la misma buscar en valor en el rango especificado, retornando un solo resultado. Si en la tabla tenermos varios registros iguales BUSCARV() solo nos devolverá el primero de ellos, omitiendo el resto. Entonces ¿se puede? Bueno, aplicando otra técnica sencilla que se me ocurrió al intentar solucionar el planteamiento de un lector... si, puedo hacerlo.... pero sin usar BUSCARV(). la idea es que coloquemos en E1 el código del producto a buscar y a partir de E2 nos devuelva todas las coincidencias de la tabla. [+/-] Ver el resto / Ocultar Vamos a necesitar una columna "auxiliar" para llevar a buen término este proyecto. Con macros el tema sería mas sencillo, pero aquí la cuestión es resolverlo con las funciones de Excel, sin VBA. Paso a paso: Como primer medida chequeamos que valores de la columna A coincide co...

guardar hojas de excel como csv

Un archivo CSV (   comma-separated values: valores separados por comas ) se puede definir como un archivo TXT, en donde los campos (valores) se encuentran separados por una coma ( , ). Así de simple, no encierran mayores misterios. Y son extremadamente útiles para el almacenamiento de grandes cantidades de datos, ya que no poseen formatos y cada caracter es un byte, lo que los convierte en algo realmente liviano y "transportable". Ejemplo sacado de Wikipedia: 987,juan,87345,10 norte 342 876,pedro,43649,8 oriente 342 123,jorge,03342,av. libertad 23 69,vicente,61560,valencia nº183 18,lorenzo,06490,sol nº 18 19,lucía,06480,luna nº 8 [+/-] Ver el resto / Ocultar Como ya intuirán, son muy sencillos de importar a una hoja de cálculos, dado que esas comas nos permitirán separar los campos y colocar cada uno de ellos en una columna distinta. El tema aquí es que Excel nos permite exportar datos hacia CSV, desde la opción "guardar como...": solo deberemos tener en cuenta s...

importardatosdinamicos con excel

Aunque parezca un error de ortografía, el título de la entrada es correcto.  Nos dedicaremos a explorar un poco a esta casi desconocida función de Excel ( IMPORTARDATOSDINAMICOS() = GetPivotData en inglés ). Aparte veremos pequeños consejos para elaborar "tableros de control", tan prácticos para nuestros proyecto. Acorde con su nombre, esta función nos permitirá obtener datos que provengan de una Tabla Dinámica, la cual es desde siempre una de las herramientas mas poderosas con la que contamos en Excel. Cuando trabajamos con grandes cantidades de datos la mayor preocupación es siempre como resumirlos y así lograr reportes que sean "analizables", y no un registro detrás del otro. Las Tablas Dinámicas nos permiten eso, mas aún teniendo en cuenta que no solo podemos obtener datos del propio Excel, si no de otras varias y distintas fuentes (access, txt, dbf, páginas web, etc, etc, etc). Pero así y todo muchas veces el análisis de esos reportes resultantes se torna compl...