Ir al contenido principal

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

Comentarios

  1. Excelente aportación amio Damian, tengo ya otras dudas en mente XD, excelente fin de semana!

    ResponderEliminar
  2. Gracias Edgar, igualmente, que la pases bien.

    ResponderEliminar
  3. Excelente aporte Damian, como siempre oportuna y bien explicita con los ejemplos

    ResponderEliminar
  4. Muy buena, Damian por tu interés para ayudar a los demas

    ResponderEliminar
  5. Gracias por tus palabras, estimado, es un placer.

    ResponderEliminar
  6. Buenas Noches:
    Quiero primero agradecer por tu gran ayuda.
    Mi necesidad es guardar los datos de la evaluación de mis clientes, datos que gestiono en una plantilla de evaluación con el nombre compuesto por la fecha y el nombre del cliente
    (ejemplo 16-7 Luis Eduardo Grisalez)
    Espero tu amable respuesta
    Cordialmente;
    Luis eduardo

    ResponderEliminar
  7. Hola Luis.
    Para que los archivos no se "pisen" (guarden con el mismo nombre) lo correcto estimo que sería colocar la fecha/hora y nombre de tus clientes.
    En la columna de la fecha deberías colocar la función =AHORA() para que el sistema coloque la fecha y hora actual, por ej: 23:50:35
    El tema de los segundos no es un dato menor, ya que así evitarías guardar un archivo con el mismo nombre.
    luego, si en la columna B tienes el nombre, la instrucción sería algo así:

    Ruta= "C:\" & Cells(1,"A") & Cells(1,"B") & ".xls"

    Si analizas la instrucción anterior, te quedaría: la unidad de disco, la fecha/hora (columna A), apellido (columna B) y la extensión XLS del archivo.
    Cualquier duda me avisas. Espero que te sea de utilidad.

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

funciones: convertir numeros a letras con excel

En realidad hace tiempo que vienen consultándome sobre esto... quizás cinco o seis años . Debe ser una de las funciones mas buscadas de Excel, por lejos: la posibilidad de escribir: 1.534,63 y que en una celda aparezca magicamente "un mil quinientos treinta y cuatro c/15/100". Aquí les dejo una solución, basada en funciones , sin utilizar macros, la cual preparé exclusivamente para este Blog. A pesar de los millones de usuarios que requieren esta herramienta, no viene incorporada en Excel, debemos armarla nosotros mismos .  Luego de la imagen irá la explicación de como llegué a lograr esto, dado que es un proceso medianamente complejo , que utiliza tres o cuatro funciones básicas y requiere de varios pasos. así quedará nuestra planilla y siempre devolverá en letras el valor que ingresemos en A1 [+/-] Ver el resto / Ocultar Desde ya aclaro: esta no es " la forma " de hacerlo, simplemente es una mas, evitando el uso de macros. Sobre esta base, comencemos: 1) El núme

macros: como enviar mails desde Excel (vba)

Un gran amigo "on-line", Johan Moreno, de Colombia , me hizo llegar la inquietud de cómo enviar mails desde Excel . Si bien contaba con algunas líneas de código sobre el particular, decidí retomar mi ejemplo y adaptarlo mejor a las circunstancias. Hace unos minutos termino de remitirle un correo con la solución a Johan... desde Excel y con un archivo adjunto, mismo que transcribo a continuación para ayudar a todos con esta tarea. Veamos primero las dos formas principales de enviar mails: mediante Outlook o nuestro Web Mail ( yahoo, gmail, hotmail, etc, etc ) No soy usuario de Outlook en lo absoluto: no confío en los agujeros de seguridad que continuamente aparecen y, por otro lado, t eniendo a mi alcance una herramienta tan poderosa (y gratuita) como Gmail, la cual ahora también permite sincronizar los mensaje con la Pc para verlos offline (deben activarlo en "google labs") ... no creo que me haga usuario ni hoy ni mañana. Igualmente mas adelante daré una solució

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