5 manieren om een werkmap in excel op te slaan
Als u een Excel-werkmap wilt opslaan met VBA, moet u de SAVE-methode gebruiken om een macro te schrijven. En in deze macro moet u de werkmap opgeven die u wilt opslaan en vervolgens de SAVE-methode gebruiken. Wanneer u deze code uitvoert, werkt deze als de sneltoets (Ctrl + S).
- Geef de werkmaphoed op die u wilt opslaan.
- Typ een periode om een lijst met alle eigenschappen en methoden te krijgen.
- Selecteer hieruit de methode “Opslaan” of tik op “Opslaan”
- Voer aan het einde de code uit om de werkmap op te slaan.
In deze zelfstudie bekijken we verschillende manieren om een werkmap op te slaan. Zorg er dus voor dat u de VBA-editor opent vanaf het tabblad Ontwikkelaars om de code uit deze zelfstudie te gebruiken.
Actieve werkmap opslaan
Als u in dit geval de actieve werkmap wilt opslaan, kunt u een code zoals de volgende code gebruiken, in plaats van de werkmap bij naam op te geven.
ActiveWorkbook.Save
Wanneer u ActiveWorkbook als werkmap gebruikt, verwijst VBA altijd naar de werkmap die actief is, ongeacht het bestand waarin u de code schrijft.
Sla de werkmap op waarin u code schrijft
Als u het bestand waarin u de code schrijft, wilt opslaan, moet u “ThisWorkbook” gebruiken in plaats van de naam van de werkmap.
ThisWorkbook.Save
Bewaar alle geopende werkmappen
Hier kunnen we een lus gebruiken om alle geopende werkmappen te doorlopen en ze één voor één op te slaan. Kijk naar de onderstaande code.
Sub vba_save_workbook() 'variable to use as a workbook Dim wb As Workbook 'For each to loop through each open workbook and save it For Each wb In Workbooks wb.Save Next wb End Sub
De bovenstaande code gebruikt FOR EACH-lus in elke werkmap en gebruikt de SAVE-methode voor elk bestand één voor één.
Opmerking: als u een werkmap probeert op te slaan met de SAVE-methode die nog niet is opgeslagen, geeft Excel een dialoogvenster weer waarin u om toestemming wordt gevraagd om dit bestand op te slaan. Vervolgens moet u kiezen of u dit bestand op de standaardlocatie wilt opslaan. in standaardformaat.
Dit is het punt: aangezien u een macro gebruikt om de werkmap op te slaan, moet dit bestand worden opgeslagen in het macro-compatibele formaat en de beste manier om met deze situatie om te gaan is door de SAVE AS-methode te gebruiken (we zullen zien in het volgende gedeelte van deze tutorial).
Opslaan als Excel-bestand
Om een bestand dat nog niet is opgeslagen, op te slaan met VBA, moet u de SAVE AS-methode gebruiken. Bij deze methode kunt u de bestandsnaam en het pad instellen waar u het bestand wilt opslaan, en daarnaast zijn er nog tien andere argumenten die u kunt instellen.
expression.SaveAs (FileName, FileFormat, Password, WriteResPassword, ReadOnlyRecommended, CreateBackup, AccessMode, ConflictResolution, AddToMru, TextCodepage, TextVisualLayout, Local)
In de volgende code heb je geen argumenten met de methode ‘SAVE AS’.
Wanneer u deze code uitvoert, wordt u een aantal dingen gevraagd, zoals welk formaat u wilt gebruiken om het bestand op te slaan, of wilt u het bestaande bestand dat al met dezelfde naam is opgeslagen, overschrijven. Het is dus beter om het gebruik van sommige argumenten te definiëren.
Opslaan als bestand op de huidige locatie
Standaard gebruikt VBA de huidige locatie om het bestand op te slaan. Wanneer u code schrijft met de SAVE AS-methode en alleen de naam opgeeft, gaat dit bestand rechtstreeks naar de huidige map. U kunt in de volgende code zien waar u de actieve werkmap hebt opgeslagen.
Sub save_as_file() ActiveWorkbook.SaveAs Filename:="myNewWorkbook" End Sub
Opslaan als bestand op een specifieke locatie
Met het argument bestandsnaam kunt u ook het pad gebruiken als u een andere locatie wilt gebruiken om het bestand op te slaan.
Sub save_as_file() ActiveWorkbook.SaveAs _ Filename:="C:UsersDellDesktopmyNewBook" End Sub
In de bovenstaande code heb je het pad in het argument Bestandsnaam en VBA gebruikt dat pad naar het bestand.
Opmerking: u kunt deze methode ook gebruiken om te controleren of een werkmap in een map bestaat of niet voordat u de SAVE AS-methode gebruikt om deze op een bepaalde locatie op te slaan. U kunt hier meer leren over de SAVE AS-methode.