• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

VBa code voor opslaan sheet

Status
Niet open voor verdere reacties.

Spekker

Gebruiker
Lid geworden
17 dec 2016
Berichten
142
hoi allemaal
ik heb een file gemaakt met daarin verschillende tab bladen, nu wil ik graag 1 van deze tabladen appart opgaan slaan.
nu heb ik een VBA code gevonden maar deze zet het niet in de map waar ik deze wil hebben.

dit is de code:
Private Sub CommandButton4_Click()

Dim strFileName As Variant
Dim strPath As String
strFileName = Range("K1").Text
strFileName = Application.GetSaveAsFilename(InitialFileName:=strPath & strFileName, _
FileFilter:=" Excel 2007 Files (*.xlsm), *.xslm", _
FilterIndex:=1, _
Title:="Kies de juiste map en pas eventueel de bestandsnaam aan!")
If strFileName = False Then
MsgBox "Oh oh... je hebt niet opgeslagen! "
Else
ActiveSheet.Copy
ActiveWorkbook.SaveAs Filename:=strFileName
MsgBox "Gelukt! Opgeslagen als: " & strFileName
End If

End Sub

het mag ook een andere vba code zijn dat maakt mij niet uit als die sheet maar apart wordt opgeslagen

en dit is de locatie waar het neer gezet moet worden "S:\Sup_HR\Security\01 Werklijsten Profi-Sec\15 uitgifte sleutels"

ik hoop dat jullie mij kunnen helpen

Groet Arie
 
Dan zet je die locatie toch in cel K1 ?
Of je geeft dat in als waarde voor de variabele strFileName.
 
Laatst bewerkt:
Dat staat in de code die je plaatste.
Plaats anders een voorbeeld document.
 
Zet dit achter een knop op het blad Index (Of waar je dat dan ook maar wil)
Code:
Private Sub OpslaanSleutelJan()
    Dim Bestand As String
    
    Bestand = "S:\Sup_HR\Security\01 Werklijsten Profi-Sec\15 uitgifte sleutels\Sleutel Jan.xlsx"
    Sheets("Sleutel Jan").Copy
    
    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    
    ActiveWorkbook.SaveAs Bestand, 51
    ActiveWorkbook.Close False
    
    MsgBox "Blad Sleutel Jan opgeslagen als: " & Bestand
    
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
End Sub
 
Laatst bewerkt:
Ja deze werkt idd maar ik wil hem opslaan als de tekst uit Cel K1, en ook in deze AVB code kan ik niet zien waar ik dit moet instellen
 
En wat staat er precies in K1 en op welk blad?
Volgens mij staat het woord Bestand toch duidelijk in de code.
 
op het blad Sleutel Jan staat in de cel de datum, die wil ik graag gebruiken als file naam want die verschild dan per dag en worden de file's niet overschreven
 
Ook niet duidelijk. De datum staat in H1 en niet in K1.
Maar goed.
Code:
Private Sub CommandButton4_Click()
    Dim Bestand As String
    
    Bestand = "S:\Sup_HR\Security\01 Werklijsten Profi-Sec\15 uitgifte sleutels\" & Range("H1").Value & ".xlsx"
    Sheets("Sleutel Jan").Copy
    
    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    
    ActiveWorkbook.SaveAs Bestand, 51
    ActiveWorkbook.Close False
    
    MsgBox "Blad Sleutel Jan opgeslagen als: " & Bestand
    
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
End Sub
 
Oke dank je wel voor je snele antwoord
maar krijg nu een debug op de volgende regel
ActiveWorkbook.SaveAs Bestand, 51
 
Je krijgt geen debug.
Je krijgt een foutmelding in bent daarna in debug mode.
Waar het dan om gaat is de foutmelding zelf.
 
Het komt dus omdat de cel niet alleen een datum bevat maar datum en tijd.
Wijzig dan Range("H1").Value in Range("H1").Text
 
Krijg de melding
run-time erro r'1004':
zeg ik dan Debug dan zie ik dat hij op de regel ActiveWorkbook.SaveAs Bestand, 51 dat daar de fout zit
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan