UniversoExcelForo

Respuesta a consultas.
Fecha de creación: 09.Abril.2012

Fundadores: Wibly,Tyno,Servando,Sakkar,Rosendo2,RMaximo,Railar,Mcoronel,Ioyama,Igtelo,Hugotron,Drochar,Dedos,Alberto,Adolfo

No se pueden hacer consultas de Excel o VBA por mensaje privado.
Utiliza el botón buscar del foro y te ahorras tiempo para obtener "ayuda".

No estás conectado. Conéctate o registrate

Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje [Página 1 de 1.]

mtrilce


Buenas tardes con todos,

Agradezco desde ya la ayuda que me puedan brindar.

Quisiera saber si es posible generar periódicamente (cada 1 de cada mes) una nueva hoja con datos extraídos de un rango previamente específicado y enviarlo como archivo adjunto a través de correo electrónico a una lista de correos previamente definida.

Adjunto un ejemplo.

Muchísimas gracias nuevamente y saludos desde Perú

Marcela
Archivos
Ejemplo generar adjunto y enviar por email.xlsx
No tienes los permisos para descargar los archivos.
(16 KB)

mtrilce


Buenos días, por si es de utilidad: Encontré este caso en el foro que genera un word, pero no he logrado aplicarlo a mi archivo ni tampoco hacer la programación para envío por mail. Quizá ustedes puedan hacerlo. Nuevamente muchas gracias
Archivos
Edwinjo-Copia de word.xls
No tienes los permisos para descargar los archivos.
(83 KB)

Igtelo


Hola Marcela.

Tú lo vas ir haciendo poco a poco. No te "hagas bolas" lo que subiste en tu 2o. mensaje nada tiene que ver con lo que pediste originalmente, tú necesitas documento de Excel y no Word.

1.- El rango que necesitas copiar (O5:S43) y crear un libro nuevo es muy sencillo:
Hecha a andar el grabador de macros y te lo hace, ya que lo tengas y comprendas como funciona lo adaptamos para que te lo guarde con el nombre que quieres.

2.- Para enviar el correo, en aportes de los usuarios tienes un archivo que lo hace.

Tienes tarea para hacer y verás que no es tan complicado...

Saludos
Ignacio Téllez

mtrilce


Estimado Ignacio, buenas tardes

De verdad que lo he intentado mucho antes de escribirles. De todas maneras seguiré intentando. Por favor no me clausures el tema por abandono, pues seguramente voy a demorar.

Si alguien me puede echar una mano, siempre estaré muy agradecida

Saludos,

Marcela

Igtelo


Que tal Marce.

Ok. No lo cierro, jejeje. Te esperamos.

Saludos
Ignacio Téllez

mtrilce


Hola Ignacio,

Pues ahí ando pataleando  Shocked

Estuve buscando en aportes de los usuarios, y no encontré....

Cordiales saludos y gracias por el interés  Wink

Marcela

Igtelo


Hola: Marce, Marcela.
(Así le digo a una amiga).

Pues te tengo malas noticias: "No acepto que te des por vencida", tú puedes!!

1.- Lo de crear tu archivo, tal como lo describes en tu redacción en el post, hazlo en la hoja, el grabador se encarga de hacer la macro.
Sabes seleccionar rangos, copiar, pegado especial como valores y guardar un libro con "x" nombre, sólo hazlo manualmente (previamente ya activaste el grabador) y listo.

2.- ¿Qué buscaste en aportes? Lo de envío de correos allí está.

Si te refieres a que no hay aporte de como usar el grabador, efectivamente, no hay; pero en la red encuentras muchos videos...(Más adelante haré uno y también incluiré la depuración del código, pero más adelante).

Marce, Marcela, échale ganas y verás que lo que hoy te parece difícil, cuando lo logres verás que no era así; te vas a sentir estupendamente bien...

Saludos
Ignacio Téllez
P.d: "No claudiques"

mtrilce


sunny sunny sunny sunny

Lo hice!

Ignacio, me has hecho recordar a mi padre con tus palabras  Sad I love you

No pensé que grabadora de macros funcionara tan fácil...

Ahora, solo me falta descifrar como dejarla programada para que se grabe en la misma carpeta del archivo original, y también ponerle un nombre automáticamente.... Pistas?? ¿ThisWorkbook.Path?

La macro quedó así:

Sub ExportarExcel()
'
' ExportarExcel Macro
' Generar reporte en excel
'

'
    Range("D8:R70").Select
    Selection.Copy
    Workbooks.Add
    Range("B2").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    ActiveWindow.SmallScroll Down:=-15
    Range("B2:D2").Select
    Application.CutCopyMode = False
    ChDir _
        "C:\Users\DELL\Documents\Marcela\Consultorías 2016\MILPO 2016\SME MILPO 2016\VALIDADOS FINAL"
    ActiveWorkbook.SaveAs Filename:= _
        "C:\Users\DELL\Documents\Marcela\Consultorías 2016\MILPO 2016\SME MILPO 2016\VALIDADOS FINAL\Reporte Impacto.xlsx" _
        , FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
    ActiveWindow.Close
End Sub

Igtelo


Marce, Marcela.

Bieeeeeeeeeeeeeeeeeeeen!!!!! Más alegría me da a mí, no te "rajaste!".

¿La pista? Así es, thisworkbook.path. Síguele mujer ahí vas. ¿Que tal se siente?

De que lo resuelves y lo logras, lo logras, tienes nuestro apoyo.
Seguimos y como te dije, poco a poco..

Un abrazo.
Ignacio Téllez

wibly


Hola Marcela / Nacho,

Como en el tema saltó lo del grabador de macros pongo link a un tutorial que hice hace mucho, cuando grababa sin audio... ya haré una versión mejorada, jaja... lo pongo por si alguien lee el tema y le surge la inquietud de como usarlo

grabador de macros

Saludos!

mtrilce


Gracias a ambos....

Ahí voy, ahí voy

Smile

mtrilce


Cool
Logré que se genere el archivo en la misma carpeta, pero no se guarda con el nombre que le puse (Reporte de Impacto), sino me pide darle un nombre para guardar.... ¿Qué estoy haciendo mal?
Rolling Eyes


Sub ExportarExcel()
'
' ExportarExcel Macro
' Generar reporte en excel
'

'
    Range("D8:R70").Select
    Selection.Copy
    Workbooks.Add
    Range("B2").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    ActiveWindow.SmallScroll Down:=-15
    Range("B2:D2").Select
    Application.CutCopyMode = False
Dim ruta As String, nombre As String
ruta = ThisWorkbook.Path & "\"
nombre = "Reporte Impacto " & [D6]
    ActiveWindow.Close
End Sub

Igtelo


Que tal Marce.

Tienes bien definidas tus variables pero no le estás dando la instrucción de guardar.

Así está:
Dim ruta As String, nombre As String
ruta = ThisWorkbook.Path & "\"
nombre = "Reporte Impacto " & [D6]
ActiveWindow.Close

Debe ser así:
Dim ruta As String, nombre As String
ruta = ThisWorkbook.Path & "\"
nombre = "Reporte Impacto " & [D6]

ActiveWorkbook.SaveAs ruta & nombre  'Te concatena la ruta y el nombre

ActiveWindow.Close


Haz pruebas corriendo tus macros por pasos.

Saludos.
Ignacio Téllez

Igtelo


Otra cosa:

Si en D6 tienes dato de fecha no te lo va a guardar, existen ciertos caracteres que Excel no acepta para guardar archivos y renombrar hojas. Ve la ayuda de Excel para que sepas esos 6-8 caracteres.

Para que no tengas problema con tu macro, por el momento en D6 pon la fecha como texto.

Seguimos...

Ignacio Téllez

mtrilce


Buenos días con todos...

Que tengamos una excelente semana...

Ya resolví lo de generar el archivo con su nombre, ahora solo me falta la parte de enviar el reporte por mail de manera automática cada 1 de cada mes...

Ignacio, si no es mucha molestia,  dónde está en "Aportes de Usuarios" lo de enviar mail?? No lo hallo

Saludos,

Marcela

mtrilce


Buenas tardes...

Antes de dar por resuelto el tema, quisiera insistir, con sus disculpas, en una ayuda sobre el envío del archivo a través de gmail,

Muchas gracias desde ya,

Marcela

mtrilce


Cierro el tema acá. Un saludo a todos

Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.