Innholdsfortegnelse:
Video: Excel på norsk: Makro for automatisk kalkulering av deler av arbeidsboken 2025
Denne Excel-makroen lar deg sende en filbane for å vurdere om filen er der. For eksempel kan du ha en prosess som manipulerer en fil et sted på din PC. For eksempel kan det hende du må åpne en eksisterende arbeidsbok for å legge til data på den på daglig basis. I dette tilfellet må du kanskje teste for å se om filen du trenger å manipulere, eksisterer.
Hvordan makroen fungerer
Det første som legges til grunn om denne makroen er at det er en funksjon, ikke en Sub-prosedyre. Ved å gjøre denne makroen en funksjon, kan du sende hvilken som helst filsti til den.
I denne makroen bruker du Dir-funksjonen, som returnerer en streng som representerer navnet på filen som samsvarer med hva du overfører til den. Denne funksjonen kan brukes på mange måter, men her bruker du den for å sjekke om filbanen du passerer til den eksisterer:
Funksjon FileExists (FPath As String) Som Boolean 'Trinn 1: Erklær dine variabler Dim FName As String 'Trinn 2: Bruk Dir-funksjonen til å få filnavnet FName = Dir (FPath)' Trinn 3: Hvis filen eksisterer, returner du True; ellers False Hvis FName "Then FileExists = True _ Else: FileExists = False End Function
Trinn 1 erklærer en streng variabel som inneholder filnavnet som returnerer fra Dir-funksjonen. FName er navnet på streng-variabelen.
< ! - 2 ->I trinn 2 forsøker du å sette FName-variabelen. Du gjør dette ved å sende FPath-variabelen til Dir-funksjonen. Denne FPath-variabelen sendes via funksjonsdeklarasjonene (se første linje av koden). Denne strukturen forhindrer deg i å kreves hardkodes en filbane, som overfører den som en variabel i stedet.
Hvis FName-variabelen ikke kan settes, eksisterer ikke banen du har bestått. F.eks. FName variabel er tom. Trinn 3 bare oversetter det resultatet til et ekte eller falskt uttrykk.
Igjen, denne funksjonen kan brukes til å evaluere hvilken filsti du passerer til den. Skjønnheten ved å skrive makroen som en funksjon.
Følgende makro viser hvordan du bruker denne funksjonen:
Sub Macro1 () Hvis FileExists ("C: TempMyNewBook. xlsx") = True Da eksisterer MsgBox-fil. "Else MsgBox" -filen finnes ikke. "Slutt hvis sluttdel
Slik bruker du makroen
For å implementere denne makroen, kan du kopiere og lime inn begge deler av koden til en standardmodul:
-
Aktiver Visual Basic Editor ved å trykke Alt + F11.
-
Høyreklikk prosjektet / arbeidsboknavnet i prosjektvinduet.
-
Velg Sett inn → Modul.
-
Skriv eller lim inn koden i den nylig opprettede modulen.
