Just nu i M3-nätverket
Gå till innehåll

VBA med spara knapp och namn från celler


Stafvadin

Rekommendera Poster

Vet inte vilket exempel du menar.  Men det här är en variant där du sparar filen som Makroaktiverad bninärfil

 



Sub spara()

Dim InitialName As String
Dim FileSaveName As Variant

' skapa ett filnamnsförslag genom att klistra ihop data i A1:C1
InitialName = Range("A1") & "_" & Range("B1") & "_" & Range("C1")

'Visa dialogrutan med det förvald filnamnet.xslm så att användaren kan välja sökväg och ändra filnamn vid behov.
FileSaveName = Application.GetSaveAsFilename(InitialFileName:=InitialName, _
fileFilter:="makroaktiverad arbetsbok (*.xlsb), *.xlsb")

' Om användaren INTE har klickat på avbryt så sparas filen med FÖRVALT format
If FileSaveName <> False Then
ActiveWorkbook.SaveAs Filename:=FileSaveName, FileFormat:=xlExcel12

End If


End Sub


Om du vill ha "modernt" filformat så kan du byta ut: 

FileFormat:=xlExcel12  Mot  

FileFormat:=xlOpenXMLWorkbookMacroEnabled 

Samt

 

fileFilter:="makroaktiverad arbetsbok (*.xlsb), *.xlsb")

fileFilter:="du har inget val -välj: makroaktiverad arbetsbok (*.xlsm), *.xlsm")

 

 

Om du vill att användaren skall kunna välja format i "spara som-rutan" så måste du skriva kod som känner av vilket format som valts och sedan anpassa "FileFormat"

 

Hmmm, eller låna. Här har du allt du inte visste att du ville förtränga om VBA och Save as:


Länk till kommentar
Dela på andra webbplatser

Stafvadin

 

Vet inte vilket exempel du menar.  Men det här är en variant där du sparar filen som Makroaktiverad bninärfil
 
Sub spara()

Dim InitialName As String
Dim FileSaveName As Variant

' skapa ett filnamnsförslag genom att klistra ihop data i A1:C1
InitialName = Range("A1") & "_" & Range("B1") & "_" & Range("C1")

'Visa dialogrutan med det förvald filnamnet.xslm så att användaren kan välja sökväg och ändra filnamn vid behov.
FileSaveName = Application.GetSaveAsFilename(InitialFileName:=InitialName, _
    fileFilter:="makroaktiverad arbetsbok (*.xlsb), *.xlsb")

' Om användaren INTE har klickat på avbryt så sparas filen med FÖRVALT format
If FileSaveName <> False Then
    ActiveWorkbook.SaveAs Filename:=FileSaveName, FileFormat:=xlExcel12
    
End If


End Sub
Om du vill ha "modernt" filformat så kan du byta ut: 
FileFormat:=xlExcel12  Mot  
FileFormat:=xlOpenXMLWorkbookMacroEnabled 
Samt
 
fileFilter:="makroaktiverad arbetsbok (*.xlsb), *.xlsb")
fileFilter:="du har inget val -välj: makroaktiverad arbetsbok (*.xlsm), *.xlsm")
 
 
Om du vill att användaren skall kunna välja format i "spara som-rutan" så måste du skriva kod som känner av vilket format som valts och sedan anpassa "FileFormat"
 
Hmmm, eller låna. Här har du allt du inte visste att du ville förtränga om VBA och Save as:

 

 Hej testa det med får rött på raden "InitialName" bifogar nedan, vad kan det vara?

post-139449-0-15147700-1493795408_thumb.png

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...