Ejecutar macro solo en una hoja del libro para exportar a PPT

Tengo un Excel con una macro que consiste en darle a un botón, y se envía tablas y gráficos a una plantilla de PowerPoint (que previamente se ha configurado en la macro). Lo que quiero es saber si existe la posibilidad de marcar varias hojas con enero, febrero, marzo... Y en un formulario poner un combobox y seleccionar por ejemplo enero, y que solo me exporte la información de esa hoja en especial. Debo mencionar que tengo las hojas previamente ocultas.

Adjunto la macro:

Sub Generar_Presentacion()
' Generar variables
Dim pptApp As PowerPoint.Application
Dim pptPres As PowerPoint.Presentation
Dim pptSlide As PowerPoint.Slide
Dim pptShape As PowerPoint.Shape
Dim tableranges() As Excel.Range

' Activar en la pestaña Herramientas/Referencias "Microsoft Scripting Runtime"
Dim pptPath, pptName, lastpptPath As String
Dim FSO As Scripting.FileSystemObject
Dim check As Boolean
Dim i As Integer

Set FSO = New FileSystemObject
On Error Resume Next

' Abre la plantilla predeterminada
pptName = "Plantilla"
pptPath = ThisWorkbook.Path & "\" & pptName & ".pptx"
lastpptPath = FSO.GetParentFolderName(pptPath)

On Error Resume Next
Set pptApp = GetObject("", "PowerPoint.Application")
Err.Clear

If pptApp Is Nothing Then Set pptApp = CreateObject(class:="PowerPoint.Appliaction")
pptApp.Visible = True
pptApp.Activate

On Error GoTo OpenPresentation
Set pptPres = pptApp.Presentations(pptName)
GoTo ContinueHere
OpenPresentation:
Set pptPres = pptApp.Presentations.Open(pptPath)
ContinueHere:

ReDim tableranges(10)

Sheets("Información").Visible = True
Sheets("CapInvesiones").Visible = True
 'COPIA DE LAS TABLAS EN LAS DIFERENTES HOJAS DE LA DIAPOSITIVA
' Ir a la pestaña donde esta la tabla y seleccionar su rango
Set tableranges(Tabeneinv) = ActiveWorkbook.Worksheets ("CapInversiones").Range("BB2:BH26")
tableranges(Tabeneinv).Copy
' Pegar tabla en hoja seleccionada de PowerPoint
With pptPres.Slides(8).Shapes.PasteSpecial(ppPasteDefault)
.Name = ("Tabeneinv" & 5)
.Top = 75
.Left = 63
End With

'COPIA DE LAS GRÁFICAS EN LAS DIFERENTES HOJAS DE LA DIAPOSITIVA
'Copia gráfica negocios
Sheets("Información").Visible = True
Sheets("CapInversiones").Visible = True
Sheets("Información").Select
ActiveSheet.ChartObjects("Grafeneneg").Select
ActiveSheet.ChartObjects("Grafeneneg").Copy
With pptPres.Slides(6).Shapes.PasteSpecial(ppPasteDefault)
.Name = ("Grafeneneg")
.Top = 120
.Left = 250
End With

Sheets("Información").Visible = False
Sheets("CapInversiones").Visible = False

'Cerrar el archivo y emitir mensajes.

MsgBox ("La presentación se generó con éxito"), vbInformation, "AVISO"

End Sub

Añade tu respuesta

Haz clic para o