• 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 huidig bestand opslaan met als naam een celwaarde + datum en tijd

Status
Niet open voor verdere reacties.

Saturnus twente

Gebruiker
Lid geworden
4 aug 2010
Berichten
33
Hallo,

voor een bestand wil ik doormiddel van een knop het bestand opslaan waar ik in zit met als naam de waarde uit Cel A2 in de zelfde map waar dit bestand al staat.
en als deze al bestaat mag hij hem overschrijven.

ik hoor graag.

alvast bedankt
 
Code:
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Range("A2").Value
Application.DisplayAlerts = True

Met vriendelijke groet,


Roncancio
 
Bedankt

Bedankt,

Maar het werkt niet helemaal goed...

hij zet hem niet in huidige directory maar in documenten
en hij laat de extentie weg

Groet Gert-Jan
 
Welke extensie moet het bestand krijgen?
Bijvoorbeeld:

Code:
Sub SlaOp()
    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs "I:\transport\Jewetog\" & Range("A2").Value & ".xlsx", FileFormat:=51
    Application.DisplayAlerts = True
End Sub
 
Timshel,

de extentie is goed xlsx... maar ik begrijp
dit stuk je even niet..
Code:
 "I:\transport\Jewetog\"

Groet Gert-Jan
 
Je wilt hem toch opslaan in de huidige map van het document, alleen met een andere naam?
ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & Range("A2").Value & ".xlsx", FileFormat:=51

Zorg er wel voor dat in A2 geen tekens staan die niet in de naam van een bestand voor mogen komen.
 
Laatst bewerkt:
Dat is het pad.
Aan te passen aan je eigen omgeving.

Met vriendelijke groet,


Roncancio
 
Wat Roncancio zegt.
Ik weet niet in welk pad je het bestand wil opslaan dus ik heb voor dit voorbeeld een pad uit mijn duim gezogen.
Vul het pad in dat van toepassing is.
 
De volgende code is een code die ik ooit opgesteld heb voor mijn werk. Misschien heb je er wat aan.
Het rood gekleurde geeft een cel aan die moet dienen als naam voor het bestand + de huidige datum.
Tevens laat deze code jezelf een opslaglocatie opgeven.

Code:
Sub Exporteer_gegevens()

Dim MyPath As String
Dim MyFileName As String
Dim mySheet As Worksheet

MyFileName = [COLOR="#FF0000"]Sheets("Input Leverancier info").Range("A3").Value & "_" & Format(Date, "DD-MM-YYYY")[/COLOR]
    If Not Right(MyFileName, 4) = ".xls" Then MyFileName = MyFileName & ".xls"
    
        Set Newbook = Workbooks.Add
        Workbooks("LogicTrade - Besteladvies.xlsm").Worksheets("Afmetingen").Range("A1:D5000").Copy
        Newbook.Worksheets("Blad1").Range("A1").PasteSpecial (xlPasteAll)
        Newbook.Worksheets("Blad1").Columns("A:D").AutoFit
    
    With Application.FileDialog(msoFileDialogFolderPicker)
    .Title = "Select a Folder"
    .AllowMultiSelect = False
    .InitialFileName = ""
    If .Show <> -1 Then GoTo NextCode
    MyPath = .SelectedItems(1) & "\"
End With
NextCode:
    If MyPath = "" Then GoTo ResetSettings
    Newbook.SaveAs filename:=MyPath & MyFileName & ".xls", FileFormat:=56, Local:=True
    
ResetSettings:
  'Reset Macro Optimization Settings
    Application.DisplayAlerts = False
    Newbook.Close
    Application.DisplayAlerts = True
    Application.EnableEvents = True
    Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = True
End Sub
 
Allemaal bedankt
ik heb bovenstaand geprobeerd en getest.. maar het gaat niet zo als ik het zou willen

ik heb nu dit


Code:
Sub SlaOp()
    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & Range("A3").Value & ".xls", FileFormat:=56
    Application.DisplayAlerts = True
End Sub


maar wat moet ik hier toevoegen dat ik zelf een locatie kan kiezen om het bestand op teslaan mat als naam Cel A3
alvast bedankt

groet Gert-jan
 
Dat staat al in #9 van Roeland bij:
With Application.FileDialog(msoFileDialogFolderPicker)
 
Edmoore,

dankje maar ik ben nog niet z'n VBA specialist dat ik het al begrijp...

want het is niet het zomaar tussen plakken......:rolleyes:

zou je me eits verder willen helpen?

groet Gert-Jan
 
Code:
Sub SlaOp()

Dim MyPath As String
Dim MyFileName As String

Application.DisplayAlerts = False

MyFileName = ActiveSheet.Range("A3").Value
    If Not Right(MyFileName, 4) = ".xls" Then MyFileName = MyFileName & ".xls"
    
    With Application.FileDialog(msoFileDialogFolderPicker)
    .Title = "Select a Folder"
    .AllowMultiSelect = False
    .InitialFileName = ""
    If .Show <> -1 Then GoTo NextCode
    MyPath = .SelectedItems(1) & "\"
    End With

NextCode:
    If MyPath = "" Then GoTo Cancel
    ActiveWorkbook.SaveAs filename:=MyPath & MyFileName, FileFormat:=56, Local:=True
    
Cancel:
    Application.DisplayAlerts = True
End Sub

Heb bovenstaand niet getest, maar denk dat het wel zou moeten werken

EDIT(1)*
Merk dat hij één standaard pad wilt gebruiken terwijl je zelf een folder opgeeft.
Mijn fout, één moment.

EDIT(2)*
Done :)
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan