Como hacer para que un macro con nombre me avise si al guardar se repite con uno ya existente?

Tengo una macro para guardar un documento en pdf el cual tiene como nombre el valor de una celda y se guarda en una carpeta deseada..

Solo tengo una duda.. En ocasiones se repite el nombre y eso hace que se sustituya el anterior por el que se acaba de generar, el problema es que necesito ambos

Que puedo hacerle a mi macro para que me avise cuando se repita el nombre sin que borre el anterior o mejor aun que al nombre le aparezca un guion seguido de un numero (ejemplo: 12705514-1)

mi macro es la sig.

Sub pdf()
'
' pdf Macro
'

'
nombre = Cells(6, 2).Value
ruta = Cells(1, 8).Value

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ruta & nombre, Quality:=xlQualityStandard _
, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
True
End Sub

1 Respuesta

Respuesta
2

H  o l a:

Te anexo la macro actualizada.

Primero te crea el archivo 12705514.pdf, luego el 12705514-1.pdf, 12705514-2.pdf, etc

Sub pdf()
'Act.Por.Dante Amor
    ' pdf Macro
    nombre = Cells(6, 2).Value
    ruta = Cells(1, 8).Value
    '
    If Right(ruta, 1) <> "\" Then ruta = ruta & "\"
    If LCase(Right(nombre, 4)) = ".pdf" Then
        nombre = Left(nombre, Len(nombre) - 4)
    End If
    n = 1
    una = True
    Do While True
        If una Then
            If Dir(ruta & nombre & ".pdf") = "" Then Exit Do
            una = False
        End If
        If Dir(ruta & nombre & "-" & n & ".pdf") <> "" Then
            n = n + 1
        Else
            nombre = nombre & "-" & n & ".pdf"
            Exit Do
        End If
    Loop
    If Right(nombre, 4) <> ".pdf" Then nombre = nombre & ".pdf"
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
        Filename:=ruta & nombre, _
        Quality:=xlQualityStandard, IncludeDocProperties:=True, _
        IgnorePrintAreas:=False, OpenAfterPublish:=False
    MsgBox "Archivo pdf creado: " & ruta & nombre, vbInformation, "CREAR PDF"
End Sub
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas