Macro para guardar versiones de un archivo de excel
Tengo este macro que me dieron, la cual es para guardar varias versiones de un mismo archivo de excel, y así generar un historial. Entonces al guardarlo, como veras, está para que se guarde con el nombre "ARCHIVO"_v1.xlsm, "ARCHIVO"_v2.xlsm y así continuamente . Aquí te lo dejo:
Sub GuardarVersion()
Dim fileName As String, index As Long
If InStr(ActiveWorkbook.Name, "_v") = 0 Then
fileName = ActiveWorkbook.Path & "\" & Left(ActiveWorkbook.Name, InStr(ActiveWorkbook.Name, ".") - 1) & "_v1.xlsm"
ActiveWorkbook.SaveAs (fileName)
Else
index = CInt(Split(Right(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - InStr(ActiveWorkbook.Name, "_v") - 1), ".")(0))
index = index + 1
fileName = ActiveWorkbook.Path & "\" & Left(ActiveWorkbook.Name, InStr(ActiveWorkbook.Name, "_v") - 1) & "_v" & index & ".xlsm"
End If
ActiveWorkbook.SaveAs (fileName)
End Sub
Pero lo que yo quiero, además de que vayan aumentando los números, es que se guarde con el texto que está en la celda B8 .Por eso es que intenté cambiarlo y me quedó algo así.
Sub GuardarVersion()
Dim fileName As String, index As Long
If InStr(ActiveWorkbook.Name, "_v") = 0 Then
fileName = ActiveWorkbook.Path & "\" & Left(ActiveWorkbook.Name, InStr(ActiveWorkbook.Name, ".") - 1) & Range("B8").Value & "_v1.xlsm"
ActiveWorkbook.SaveAs (fileName)
Else
index = CInt(Split(Right(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - InStr(ActiveWorkbook.Name, "_v") - 1), ".")(0))
index = index + 1
fileName = ActiveWorkbook.Path & "\" & Left(ActiveWorkbook.Name, InStr(ActiveWorkbook.Name, "_v") - 1) & Range("B8").Value & "_v" & index & ".xlsm"
End If
ActiveWorkbook.SaveAs (fileName)
End Sub
Al probarlo , si me sale el texto de la celda 8 pero como veras no se elimina el anterior texto , sino que se acumula.Ya que por ejemplo hoy es B8= martes , entonces se guarda como "Facturamartes_v1.xlsm"
Entonces lo que yo deseo que si mañana cambio a B8= miercoles , se guarde "Facturamiercoles_v2" .Pero se guarda "Facturamartesmiercoles_v2". Como ves se acumula el texto. No sé si me puedas ayudar con esto. Además de si se podría poner algo más para indicarle donde se debe de guardar, porque se guardan en mi Escritorio y yo quisiera guardarlo en Disco C.