Spara arbetsblad
I detta tips visas hur vi relativt enkelt kan kopiera över ett arbetsblad till en ny arbetsbok och låta användarna spara arbetsboken i önskad mapp och under önskat namn.
Option Explicit
Sub Spara_Arbetsblad()
'© 2002 Alla rättigheter XL-Dennis
Dim wbBok As Workbook
Dim wsBlad As Worksheet
Dim SparaNamn As Variant
Dim stNamn As String
Set wbBok = ThisWorkbook
Set wsBlad = wbBok.Worksheets("Spara Arbetsblad")
'Här sätts initialnamnet för den nya arbetsboken ihop.
stNamn = wsBlad.Name & Year(Date) & Month(Date) & Day(Date)
'Här visas dialogrutan "Spara" med det föreslagna namnet.
SparaNamn = Application.GetSaveAsFilename(InitialFilename:=stNamn)
'Om användaren klickar på Avbryt-knappen.
If SparaNamn = False Then Exit Sub
Application.ScreenUpdating = False
'Kopierar arbetsbladet till en ny arbetsbok.
wsBlad.Copy
ActiveSheet.Unprotect password:="lösenord"
'Omvandlar alla formler till konstanta värden.
With ActiveSheet.UsedRange
.Copy
.PasteSpecial Paste:=xlValues
End With
Application.CutCopyMode = False
ActiveSheet.Protect password:="lösenord"
'Spara den skapade arbetsboken med namnet från dialogrutan "Spara".
ActiveWorkbook.SaveAs Filename:=SparaNamn
ActiveWorkbook.Close
Application.ScreenUpdating = True
End Sub