Solicitud de ayuda VBA: Generar una Presentación PowerPoint Profesional

arno29 Mensajes publicados 2 Estado Miembro -  
flo88 Mensajes publicados 28481 Fecha de registro   Estado Colaborador Última intervención   -

Hola a todos,

Me permito solicitar su ayuda porque estoy bloqueado en un proyecto que realmente me importa, y espero que un experto en VBA pueda ayudarme a dar este paso. Les explico el contexto y mi necesidad en detalle para que puedan, espero, tener ganas de acompañarme en esta aventura.

Contexto
Soy entrenador asistente en un club de fútbol amateur que acaba de ascender a la Regional 3. Con el personal técnico, queremos profesionalizar nuestro análisis de partidos para ayudar a nuestros jugadores a progresar. Por lo tanto, he diseñado un archivo de Excel (formato .xlsm, llamado RECAP MATCH) que centraliza todas nuestras estadísticas de los partidos (pases, duelos aéreos, posesión, tiros, córners & centros, etc.).

Nuestro objetivo: transformar automáticamente estos datos en una presentación de PowerPoint profesional, dinámica y motivadora, al nivel de lo que podríamos encontrar en los grandes clubes europeos. Esta presentación sería luego compartida con el equipo, especialmente a través de nuestro grupo de WhatsApp (posiblemente convertida en video).

Mi necesidad VBA

Busco un código VBA que permita, con un clic, generar y actualizar una presentación de PowerPoint a partir de los datos de mi archivo de Excel, según la siguiente arquitectura:

  • Diapositiva 1: Introducción

    • Título dinámico y frase de apertura inspiradora (ej: “Superarse, juntos”)

    • Bloque Partido (Fecha, Competición, Rival) recuperados automáticamente de la hoja PASSES (D5, E5, E8)

    • Logo del club animado, fondo degradado rojo/negro, fuentes profesionales (ej: Atos Narrow, Century Gothic)

  • Diapositivas Temáticas (1 diapositiva de introducción + 1 diapositiva gráfica por tema)

    • Pases, Duelos aéreos, Posesión, Tiros, Centros & Córners

    • Para cada tema:

      • Título dinámico (no solo “PASES”, sino “Nuestro juego en el suelo”, etc.)

      • Frase de enganche generada automáticamente según las estadísticas y el resultado (ganado/perdido/empate)

      • Gráfico profesional generado en VBA (no solo un copiar/pegar de Excel)

      • Sin tabla bruta visible, solo lo esencial, sobrio e impactante

  • Diapositiva Conclusión

    • Frase de síntesis generada automáticamente según el resultado del partido (celda AO5: GANADO/PERDIDO/EMPATE)

    • Mensaje motivador o “picante” para hacer reaccionar a los jugadores

  • Diapositiva Cita Inspiradora

    • Cita deportiva o intelectual, extraída de una base de aproximadamente 50 frases, relacionada con el espíritu de equipo, la progresión, el compromiso, etc.

  • (Opcional) Diapositiva de agradecimientos o eslogan del club

Restricciones y expectativas

  • Automatización total: la presentación debe actualizarse automáticamente con cada cambio de partido (celda A1 = número de partido)

  • Diseño profesional: fuentes modernas, animaciones sutiles, transiciones fluidas, colores del club, posicionamiento armonioso de los elementos

  • Compatibilidad: Office Hogar & Estudiante 2019 (por lo que no todas las animaciones avanzadas son posibles)

  • Ninguna sobrecarga visual: fuente legible incluso en el teléfono, sin tablas brutas, solo gráficos y frases clave

  • Código VBA bien comentado: para que pueda adaptarlo si es necesario, y no tenga problemas para integrarlo

¿Cómo compartir mi archivo y mi presentación?

  • Mi archivo de Excel RECAP MATCH está listo, con todas las hojas temáticas (PASSES, DUELS AERIENS, POSSESSION, TIRS, CENTRES ET CORNERS).

  • Puedo proporcionar un ejemplo de presentación de PowerPoint si es necesario, así como un extracto de mi archivo de Excel para facilitar el desarrollo.

Resumen de la arquitectura deseada

1

Diapositiva de intro ultra profesional

Dar el tono desde el principio

Fondo degradado rojo-negro, logo animado, título, bloque partido animado

2

Pases - intro & frase

Tema con frase impactante y gráfico profesional

Título dinámico + gráfico generado por VBA (no copia de Excel)

3

Pases - visual

Gráfico profesional (barras, %...)

Sobriedad profesional

4

Duelos Aéreos - intro & frase

Igual que la diapositiva 2

Igual

5

Duelos Aéreos - visual

Igual que la diapositiva 3

Igual

6

Posesión - intro & frase

Igual que la diapositiva 2

Igual

7

Posesión - visual

Igual que la diapositiva 3

Igual

8

Tiros - intro & frase

Igual que la diapositiva 2

Igual

9

Tiros - visual

Igual que la diapositiva 3

Igual

10

Centros/Córners - intro & frase

Igual que la diapositiva 2

Igual

11

Centros/Córners - visual

Igual que la diapositiva 3

Igual

12

Conclusión automática (frase motivadora o impactante)

Cerrar y dejar huella

Título + frase + diseño profesional

13

Diapositiva de motivación

Eslogan del club animado ("si no hay esto, no hay nada")

Muy impactante visualmente

14

Cita inspiradora

Transmitir un mensaje fuerte

Texto animado, limpio

¿Por qué este proyecto?

No se trata solo de “hacer bonito”: realmente quiero que esta presentación tenga un impacto en mis jugadores, que los motive, que les dé ganas de progresar y superarse. Quiero transmitir una cultura de progreso y compromiso, y que cada visualización sea memorable.

¡Gracias de antemano a toda persona que tome el tiempo para ayudarme!
Estoy abierto a cualquier sugerencia, y puedo proporcionar todos los archivos necesarios para facilitarles la tarea. Si alguien se siente listo para asumir este desafío, se lo agradecería realmente.

No duden en pedirme más información, estoy disponible para aclarar cada punto si es necesario.

Archivos

mi archivo RECAP MATCH

https://docs.google.com/spreadsheets/d/1qc4AX_kjiaMoge7Fv1JisgSeVIy9wjYe/edit?usp=sharing&ouid=103468815845113435001&rtpof=true&sd=true

mi presentación de PowerPoint


https://docs.google.com/presentation/d/10NUYC2Y3rY3UK4vrKtc2s5KylroWRBmJ/edit?usp=sharing&ouid=103468815845113435001&rtpof=true&sd=true

mi logo del club


https://drive.google.com/file/d/15MrhFm8frfjQVCITiP3CbGyYeLiG-9LQ/view?usp=sharing

¡Gracias a todos por su atención y su valiosa ayuda!

2 respuestas

Bruno83200_6929 Mensajes publicados 724 Fecha de registro   Estado Miembro Última intervención   170
 

Hola,

Aunque es posible con VBA, este proyecto alcanzaría rápidamente los límites de la herramienta para un resultado profesional. Una solución en Python o web sería más adecuada para un diseño moderno, compatibilidad móvil y un mantenimiento simplificado.

Creo que tendrán que recurrir a un profesional para llevar a cabo este proyecto que me parece ambicioso.

A continuación, un ejemplo simplificado de código VBA para crear una presentación de PowerPoint con una diapositiva de introducción, cumpliendo con ciertos requisitos.

Option Explicit Sub GenerateMatchReport() ' Declaración de variables Dim pptApp As Object Dim pptPres As Object Dim sld As Object Dim shp As Object Dim xlWs As Worksheet Dim matchDate As String, competition As String, opponent As String ' Referencia a la hoja PASSES Set xlWs = ThisWorkbook.Sheets("PASSES") matchDate = xlWs.Range("D5").Value competition = xlWs.Range("E5").Value opponent = xlWs.Range("E8").Value ' Crear una nueva presentación de PowerPoint Set pptApp = CreateObject("PowerPoint.Application") pptApp.Visible = True Set pptPres = pptApp.Presentations.Add ' Diapositiva 1 : Introducción Set sld = pptPres.Slides.Add(1, 12) ' ppLayoutBlank With sld ' Fondo degradado rojo/negro .Background.Fill.Gradient.Stops.Add 0, RGB(200, 0, 0) .Background.Fill.Gradient.Stops.Add 1, RGB(0, 0, 0) ' Título dinámico Set shp = .Shapes.AddTextbox(1, 50, 50, 600, 100) With shp.TextFrame.TextRange .Text = "Resumen del Partido : " & competition .Font.Name = "Century Gothic" .Font.Size = 36 .Font.Color.RGB = RGB(255, 255, 255) End With ' Bloque de partido Set shp = .Shapes.AddTextbox(1, 50, 150, 600, 100) With shp.TextFrame.TextRange .Text = "Fecha : " & matchDate & vbCrLf & "Rival : " & opponent .Font.Name = "Century Gothic" .Font.Size = 24 .Font.Color.RGB = RGB(255, 255, 255) End With ' Logo del club (ruta a adaptar) Set shp = .Shapes.AddPicture("C:\Path\To\Logo.png", False, True, 500, 400, 100, 100) With shp.AnimationSettings .EntryEffect = 2 ' ppEffectFade .Animate = True End With End With ' Limpieza Set sld = Nothing Set pptPres = Nothing Set pptApp = Nothing MsgBox "¡Presentación generada con éxito!" End Sub

0
arno29 Mensajes publicados 2 Estado Miembro
 

buenas noches,
muchas gracias de todos modos por este inicio de vba.
después de python no conozco en absoluto el sistema, si es más fácil de hacer quizás sería útil que me adentrara en el tema.

le agradezco por el tiempo que ya ha dedicado a hacer esto para mí.

0
flo88 Mensajes publicados 28481 Fecha de registro   Estado Colaborador Última intervención   Ambassadeur 5 168
 

Hola

PowerPoint ya ofrece un panel importante de herramientas sin necesidad de codificar instrucciones que no se llevarán bien con una presentación en PowerPoint.

Las tablas de datos se pueden realizar de forma dinámica, cruzadas y pegadas en la presentación, se actualizarán con cada apertura.

0