Código para abrir un libro nuevo incluyendo botón y que este contenga una macro para ejecutar

Quisiera pedir un poco de su ayuda para solucionar un requerimiento.
Tengo una macro que abre un nuevo libro y este libro se abre ya conteniendo un botón llamado "MACRO", lo que quiero saber es como hacer para que ese botón tenga por default una macro asignada para poderla ejecutar, es decir que cuando se abra el nuevo libro ya contenga el botón y el botón al mismo tiempo ya tenga la macro para poder ser ejecutada, la macro podría se cualquiera que quisiera colocarle, en este caso sería la que esta en el modulo 2 del libro.

Sub Cualquier_Macro()
'ESTA ES LA MACRO QUE DEBE EJECUTAR, O CUALQUIERA QUE ESTE EN ESTE MÓDULO
'prepara la hoja para la impresión
With ActiveSheet.PageSetup
.PrintArea = ""
.Orientation = xlPortrait 'xlLandscape
.PaperSize = xlPaperA4 'hoja A4
.BlackAndWhite = False 'incluir colores o no
.FitToPagesWide = 1 'reduce el tamaño de la hoja (ancho)
.FitToPagesTall = 1 'reduce el tamaño de la hoja (alto)
.CenterHorizontally = False 'centrar horizontalmente
.CenterVertically = False 'centrar verticalmente
End With
'imprimir las celdas seleccionadas (2 copias)
ActiveWindow.Selection.PrintOut copies:=2, collate:=True
End Sub

Espero me puedan orientar un poco amigos, cualquier opinión , consejo o aportación les será muy agradecida.

1 Respuesta

Respuesta
1

El botón de tu libro que abre el 2do libro sería algo como esto:

Sub llamada()

Workbooks. Open ruta & libro 'aquí coloca en las variables los datos del libro que debe ser abierto

End Sub

Y en tu 2do libro, en el evento Open llamas a la macro del botón:

Private Sub Workbook_Open()
Call macroCualquiera
End Sub

Espero te sirvan las ideas. No olvides valorarlas.

Sdos.

Elsa

500Macros

Hola Elsa, mira utilizo este código para abrir un nuevo libro, una disculpa porque olvide colocarlo.

Sub Exportar()
Dim objExcel As Object
Dim NombreArchivo As String
    Set objExcel = Workbooks.Add
    objExcel.Activate
    NombreArchivo = ActiveWorkbook.Name
With Application.Workbooks(NombreArchivo).Worksheets(1).Cells(1, 1) = "HOJA DE PRUEBA"
    'CREACIÓN DE BOTÓN
    ActiveSheet.Buttons.Add(489.75, 27.75, 78.75, 39).Select
    Selection.Characters.Text = "MACRO"
    With Selection.Characters(Start:=1, Length:=5).Font
        .Name = "Arial Narrow"
        .FontStyle = "Normal"
        .Size = 11
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = 1
    End With
    Range("K6").Select
    End With
End Sub

Ahí se aprecia como abro el nuevo libro y la macro para colocar un botón, sólo necesito que ese botón ejecute la macro de arriba.

Entonces no necesitas 'ejecutar' la macro sino 'asignarla' a tu botón creado.

Luego de dibujarlo y seleccionarlo agrega la instrucción que dejo en negrita:

'CREACIÓN DE BOTÓN
    ActiveSheet.Buttons.Add(489.75, 27.75, 78.75, 39).Select

Selection.OnAction = "CualquierMacro"

'aquí siguen tus instrucciones

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas