Insertar una macro automáticamente en la hoja 1, cada vez que se abra un libro de Excel.

Para Dante Amor.

Dante, buen dia!

Hace poco me ayudaste con una macro para buscar documentos, dando clic en una celda y mandaba llamar documentos en pdf, de una carpeta especifica.

Tengo otras dos macros, llamemos las:

MACRO 1 - Busca varios libros de Excel y los convierte en uno solo.

MACRO 2 - Les da un formato especifico.

Cuando se ejecuta MACRO 1, busca y encuentra los libros a combinar, pero abre un nuevo libro ( Book2, Book 3, etc. ), mi problema es: ¿Cómo puedo hacer para que, cada vez que se cree este libro nuevo, se inserte automáticamente la macro buscadora de documentos, en la Hoja 1, de este nuevo libro?

He tratado de dejarlo como un templete, pero después de correr la MACRO 1, se crea un nuevo libro y no contiene el templete, donde deje guardada la macro buscadora que me enviaste.

Esta fue la macro, que me proporcionaste.

Te agradezco.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Por.Dante Amor
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    '
    ruta = "H:\projects\40502\nest\pdfparts2do\"
    'ruta = "C:\trabajo\"
    'ext = ".dxf"
    ext = ".pdf"
    '
    If Target.Count > 1 Then Exit Sub
    If Target.Value = "" Then Exit Sub
    If Not Intersect(Target, Range("A:A")) Is Nothing Then
        Set h1 = Sheets.Add
        'ChDir ruta
        'nomb = Cells(Target.Row, "B")
        arch = Dir(ruta & Cells(Target.Row, "B") & "*.pdf")
        i = 1
        Do While arch <> ""
            h1.Cells(i, "A") = arch
            i = i + 1
            arch = Dir()
        Loop
        If i > 1 Then
            u = h1.Range("A" & Rows.Count).End(xlUp).Row
            With h1.Sort
                .SortFields.Clear
                .SortFields.Add Key:=h1.Range("A1:A" & u), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
                .SetRange h1.Range("A1:A" & u)
                .Header = xlGuess
                .MatchCase = False
                .Orientation = xlTopToBottom
                .SortMethod = xlPinYin
                .Apply
            End With
            archivo = h1.Cells(u, "A")
            ActiveWorkbook.FollowHyperlink ruta & archivo
        End If
        h1.Delete
    End If
End Sub

1 Respuesta

Respuesta
1

La macro que pusiste no crea libros.

Puedes poner la macro que crea los libros.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas