Excel VBA-werkmap openen

De meest voorkomende bewerkingen in het dagelijks leven zijn het openen van Excel-werkmappen wanneer u met Excel werkt. U kunt niet in Excel werken zonder de Excel-werkmappen of het Excel-bestand te openen. Dus in dit artikel gaan we bespreken hoe we een Excel-werkmap kunnen openen met behulp van VBA.

Methoden om Exel-werkmappen te openen in VBA

Er zijn twee methoden om Excel-werkboeken te openen in VBA en we gaan beide methoden in dit artikel behandelen.

U kunt deze VBA-werkmap Open Excel-sjabloon hier downloaden - VBA-werkmap Open Excel-sjabloon

Methode # 1 - Excel VBA Workbooks.open-methode

De eerste methode in de VBA is het gebruik van de ingebouwde functie Workbooks.open . Er zijn 15 optionele argumenten in de functie "Workbooks.open" en om alle 15 argumenten te dekken kost het veel tijd. We zullen dus proberen enkele basisprincipes van Workbooks.open te begrijpen en kijken hoe we deze functie in VBA kunnen gebruiken om de Workbooks te openen.

Dus de eerste stap in deze methode is dat u de bestandsnaam van de Excel-werkmappen moet kennen. Hieronder vindt u de instructie om de werkmappen te openen. ”Workbooks.open“ Bestandsnaam ”

Of

Workbooks.Open Bestandsnaam: = ”Bestandsnaam”

De "Bestandsnaam" is de naam van de werkmappen die u wilt openen. Maar u moet hier voorzichtig zijn, omdat u het volledige pad moet opgeven waar het bestand wordt opgeslagen en de naam van het bestand met de extensie van de bestanden (.XLS, .XLSX, .xlsm, enz.). We kunnen het voorbeeld van onderstaande macro nemen om deze functie te begrijpen.

Voorbeeld

Stel dat u een Excel-bestand wilt openen met de naam "Testbestand" dat is opgeslagen in de D-schijf van de computer. Maak een macro in een Excel-werkmap met ingeschakelde macro's. Volg de onderstaande stappen om de methode Excel VBA Workbooks.open te gebruiken.

Stap 1: Klik op Bestand.

Stap 2: Klik op Opties .

Stap 3: Klik op lint aanpassen .

Stap 4: Controleer of het veld Ontwikkelaar is gemarkeerd zoals hieronder en klik op OK.

Stap 5: Zodra u het ontwikkelaarentabblad hebt, klikt u op Visual basic zoals weergegeven in de onderstaande screenshot.

Nadat u op Visual Basics hebt geklikt, moet u beginnen met coderen voor uw macro.

Stap 6: Voer de onderstaande code in de VBA-module in.

Code:

 Sub Open_workbook () End Sub 

Deze code geeft de naam voor uw werkmap.

Stap 7: Voer de code in waarmee de werkmap kan worden geopend die is opgeslagen op de D-schijf van de computer.

Code:

 Sub Open_workbook () Workbooks.Open Bestandsnaam: = "D: \ Test File.xlsx" End Sub 

Stap 8: Voer de code uit door op F5 te drukken of door op Play te klikken. Nadat u de macro hebt uitgevoerd, ziet u dat het Excel-bestand automatisch wordt geopend. Zoals u in de bovenstaande code kunt zien, opent de macro het Excel-bestand met de naam "Test File.xlsx" dat is opgeslagen in de D-schijf van de computer. Het hierboven genoemde pad is vrij eenvoudig omdat er geen mappen en submappen zijn om de werkmappen op te halen.

Dit wordt een uitdaging omdat veel mensen het pad niet herinneren en als het pad van het bestand waarin het is opgeslagen een beetje verandert, de macro niet werkt. De macro werkt niet, zelfs als de naam van het bestand met een enkele letter verandert. Dus als het pad / de naam van het bestand verandert, moet u de VBA-code van de Macro wijzigen. Dit maakt de Job vervelend en het is ook niet foutloos. Dus om ervoor te zorgen dat uw macro perfect werkt zonder u een fout te geven, gebruiken we de tweede methode die gemakkelijk te hanteren is en geen foutmelding geeft, zelfs als u de padnaam niet meer weet of de naam van het bestand verandert .

Methode # 2 - Krijg een open bestandsnaam

Zoals u weet met welke uitdagingen we te maken hebben in de Eerste methode van de padverandering en de Bestandsnaam, vermijdt deze methode beide uitdagingen. Deze methode geeft de optie om op uw computer naar de locatie te bladeren waar uw bestand is opgeslagen en opent die specifieke werkmappen die u wilt openen.

Deze methode werkt eigenlijk in twee delen.

Het eerste deel van deze methode is Application.GetOpenFileName. Met dit deel kunt u door uw computer bladeren en het pad selecteren waar uw bestand wordt opgeslagen. Het eerste deel opent niet het bestand dat u wilt openen.

Het tweede deel is het openen van het bestand waarvan u nog afhankelijk moet zijn van de Eerste methode (VBA Workbooks.open-methode). Er zijn 5 argumenten in de Application.GetOpenFileName, maar we zullen alleen naar de basis kijken zoals we het in de eerste methode hebben gedaan. Laten we nu proberen deze methode te begrijpen met behulp van een voorbeeld.

Voorbeeld

Stel dat u het "testbestand" wilt openen dat is opgeslagen op de D-schijf van de computer, dan hoeft u alleen de onderstaande stappen te volgen.

Stap 1: Volg stap 1 in het eerste voorbeeld voor het openen van Visual Basic Editor of Open Visual Basic Editor op het tabblad Developer.

Stap 2: Voer de onderstaande code in die de naam voor uw macro geeft.

Code:

 Sub Open_workbook_example2 () End Sub 

Stap 3: Voer de onderstaande code in. In deze verklaring wordt de bestandsnaam als variabel verklaard omdat we hier geen pad of bestandsnaam opgeven omdat deze van tijd tot tijd kan worden gewijzigd.

Code:

 Sub Open_workbook_example2 () Dim Myfile_Name As Variant End Sub 

Stap 4: Voer de onderstaande code in. Deze instructie opent het onderstaande dialoogvenster en u kunt door de mappen bladeren om naar het pad te gaan waar het bestand is opgeslagen. Ook wordt tijdens het browsen het Excel-bestand weergegeven omdat we een filter voor de Excel-bestanden hebben geplaatst.

Code:

 Sub Open_workbook_example2 () Dim Myfile_Name As Variant Myfile_Name = Application.GetOpenFilename (FileFilter: = "Excel-bestanden (*. Xl *), *. Xl *)") End Sub 

Stap 5: Voer de onderstaande code in. Deze instructie is de instructie If Then die wordt gebruikt wanneer het bestand .Name niet gelijk is aan false. Open vervolgens het geselecteerde Excel-bestand.

Code:

 Sub Open_workbook_example2 () Dim Myfile_Name As Variant Myfile_Name = Application.GetOpenFilename (FileFilter: = "Excel Files (*. Xl *), *. Xl *)") Als Myfile_Name False dan Workbooks.Open Bestandsnaam: = Myfile_Name End Sub 

Stap 6: Voer de onderstaande code in. Deze instructie sluit de voorwaarde Als dan in de Macro.

Code:

 Sub Open_workbook_example2 () Dim Myfile_Name As Variant Myfile_Name = Application.GetOpenFilename (FileFilter: = "Excel Files (*. Xl *), *. Xl *)") Als Myfile_Name False dan Workbooks.Open Bestandsnaam: = Myfile_Name End If End Sub 

Stap 7: Voer nu de code uit door op F5 te drukken of door op de knop Afspelen te klikken. U ziet het dialoogvenster om door het bestand te bladeren wordt geopend. Blader naar het bureaublad waar uw bestand is opgeslagen. Nu kunt u het bestand in de D-schijf zien. Selecteer het bestand en klik op openen.

Zoals we net in ons voorbeeld hebben gezien, hoeven we ons geen zorgen te maken over de bestandsnaam en de padnaam waar het bestand is opgeslagen. We kunnen eenvoudig naar de map navigeren waarin ons bestand is opgeslagen en het bestand selecteren dat we willen openen. We kunnen dus gemakkelijk concluderen dat deze methode veel efficiënter is in vergelijking met de eerste methode.

Dingen om te onthouden

  • Zorg ervoor dat de padnaam en de bestandsnaam correct zijn tijdens het gebruik van de eerste methode. De macro werkt niet als er een pad of bestandsnaam is gewijzigd per letter of spatie.
  • Zorg ervoor dat de filters in de code in de 2e methode correct zijn. Er zijn veel formaten van Excel die mogelijk niet zichtbaar zijn vanwege een filter.
  • Zorg ervoor dat de aangifte en de code die in de VBA wordt gebruikt juist zijn om fouten te voorkomen.

Aanbevolen artikelen

Dit is een handleiding voor VBA Workbook Open. Hier bespreken we twee verschillende methoden om de werkmap te openen met behulp van Excel VBA-code, samen met praktische voorbeelden en een downloadbare Excel-sjabloon. U kunt ook de volgende artikelen bekijken voor meer informatie -

  1. Volledige gids voor VBA-werkmap
  2. HYPERLINK-formule in Excel
  3. Bestanden openen met VBA FileDialog
  4. Excel-spreadsheetvoorbeelden

Categorie: