Ejercicio 5 Prompt Excel

Ejercicio 5 – Prompt para Excel Avanzado

๐Ÿ“˜ Ejercicio 5 – Reporte Ejecutivo Multiplataforma (Excel + Word + Outlook + PowerPoint)

๐Ÿ“Œ Planteamiento del problema:

Una empresa busca **automatizar un reporte ejecutivo semanal** usando mรบltiples aplicaciones de Office. La macro debe hacer lo siguiente:

  • ✅ Tomar datos de ventas desde Excel (hoja Ventas).
  • ✅ Generar un resumen en Word con anรกlisis textual.
  • ✅ Crear una presentaciรณn en PowerPoint con 3 diapositivas:
    • ๐Ÿ“Š Una grรกfica de ventas.
    • ๐Ÿ“ˆ Comparativa de metas vs. resultados.
    • ๐Ÿ“Œ Mensaje de cierre.
  • ✅ Enviar un correo automรกtico vรญa Outlook a la gerencia adjuntando el PDF del reporte Word y la presentaciรณn PowerPoint.

๐Ÿ‘‰ Este ejercicio busca que redactes un prompt con suficiente detalle para que la IA entienda cรณmo conectar las 4 aplicaciones y genere un flujo de trabajo integral.

"Escribe una macro en VBA que:
1️⃣ Use los datos de ventas en la hoja 'Ventas'.
2️⃣ Cree un resumen en Word con total de ventas, promedio y producto mรกs vendido.
3️⃣ Genere una presentaciรณn en PowerPoint con:
   - Diapositiva 1: Tรญtulo y resumen general.
   - Diapositiva 2: Grรกfico de ventas.
   - Diapositiva 3: Conclusiรณn y recomendaciones.
4️⃣ Guarde el reporte de Word como PDF.
5️⃣ Envรญe un correo desde Outlook a gerencia@empresa.com con el PDF y la presentaciรณn adjuntos."
  
Sub ReporteEjecutivo()
    Dim ws As Worksheet
    Dim WordApp As Object, WordDoc As Object
    Dim PPTApp As Object, PPTPres As Object, Slide As Object
    Dim OutlookApp As Object, Correo As Object
    Dim totalVentas As Double, promVentas As Double, grafico As ChartObject
    Dim rutaWord As String, rutaPDF As String, rutaPPT As String
    
    Set ws = Sheets("Ventas")
    
    ' === 1️⃣ CALCULAR DATOS EN EXCEL ===
    totalVentas = Application.WorksheetFunction.Sum(ws.Range("C2:C20"))
    promVentas = Application.WorksheetFunction.Average(ws.Range("C2:C20"))
    
    ' === 2️⃣ CREAR REPORTE EN WORD ===
    Set WordApp = CreateObject("Word.Application")
    WordApp.Visible = False
    Set WordDoc = WordApp.Documents.Add
    
    WordDoc.Content.Text = "๐Ÿ“Š Reporte de Ventas Semanal" & vbCrLf & _
                           "Total de ventas: $" & totalVentas & vbCrLf & _
                           "Promedio de ventas: $" & Round(promVentas, 2)
    
    rutaWord = Environ("USERPROFILE") & "\Documents\ReporteVentas.docx"
    rutaPDF = Environ("USERPROFILE") & "\Documents\ReporteVentas.pdf"
    
    WordDoc.SaveAs rutaWord
    WordDoc.ExportAsFixedFormat rutaPDF, 17
    WordDoc.Close
    
    ' === 3️⃣ CREAR PRESENTACIร“N EN POWERPOINT ===
    Set PPTApp = CreateObject("PowerPoint.Application")
    PPTApp.Visible = True
    Set PPTPres = PPTApp.Presentations.Add
    
    ' Diapositiva 1
    Set Slide = PPTPres.Slides.Add(1, 1)
    Slide.Shapes(1).TextFrame.TextRange.Text = "Reporte Ejecutivo"
    Slide.Shapes(2).TextFrame.TextRange.Text = "Resumen general de ventas"
    
    ' Diapositiva 2 con grรกfico (asumiendo un grรกfico en Excel)
    ws.ChartObjects(1).Chart.CopyPicture
    Set Slide = PPTPres.Slides.Add(2, 1)
    Slide.Shapes.Paste
    
    ' Diapositiva 3
    Set Slide = PPTPres.Slides.Add(3, 1)
    Slide.Shapes(1).TextFrame.TextRange.Text = "Conclusiones"
    Slide.Shapes(2).TextFrame.TextRange.Text = "Se recomienda reforzar promociones en la zona norte."
    
    rutaPPT = Environ("USERPROFILE") & "\Documents\ReporteVentas.pptx"
    PPTPres.SaveAs rutaPPT
    
    ' === 4️⃣ ENVIAR CORREO DESDE OUTLOOK ===
    Set OutlookApp = CreateObject("Outlook.Application")
    Set Correo = OutlookApp.CreateItem(0)
    With Correo
        .To = "gerencia@empresa.com"
        .Subject = "Reporte Ejecutivo Semanal"
        .Body = "Adjunto el reporte en PDF y la presentaciรณn ejecutiva."
        .Attachments.Add rutaPDF
        .Attachments.Add rutaPPT
        .Send
    End With
    
    MsgBox "✅ Reporte completo enviado a la gerencia."
End Sub
  

No hay comentarios:

Publicar un comentario

Polรญticas de Privacidad