- Henvisning til en projektmappe ved hjælp af VBA
- Oprettelse af et nyt projektmappeobjekt
- Åbn en projektmappe ved hjælp af VBA
- Gem en arbejdsbog
- Gem alle åbne projektmapper
- Gem og luk alle arbejdsbøger
- Gem en kopi af projektmappen (med tidsstempel)
- Opret en ny projektmappe for hvert regneark
- Tildel projektmappeobjekt til en variabel
- Looping gennem åbne arbejdsbøger
- Fejl under arbejdet med projektmappeobjektet (fejl i driftstiden '9')
- Få en liste over alle åbne projektmapper
- Åbn den specificerede projektmappe ved at dobbeltklikke på cellen
- Hvor skal man placere VBA -koden
I denne vejledning vil jeg dække hvordan man arbejder med projektmapper i Excel ved hjælp af VBA.
I Excel er en 'Workbook' et objekt, der er en del af 'Workbooks' -samlingen. I en projektmappe har du forskellige objekter, f.eks. Regneark, diagramark, celler og områder, diagramobjekter, former osv.
Med VBA kan du gøre mange ting med et projektmappeobjekt - f.eks. Åbne en bestemt projektmappe, gemme og lukke projektmapper, oprette nye projektmapper, ændre projektmappens egenskaber osv.
Så lad os komme i gang.
Alle de koder, jeg nævner i denne vejledning, skal placeres i Visual Basic Editor. Gå til afsnittet 'Hvor skal man placere VBA -koden' for at vide, hvordan det fungerer.Hvis du er interesseret i at lære VBA på den nemme måde, så tjek min Online Excel VBA -træning.
Henvisning til en projektmappe ved hjælp af VBA
Der er forskellige måder at referere til et projektmappeobjekt i VBA. Den metode, du vælger, afhænger af, hvad du ønsker at få gjort. I dette afsnit vil jeg dække de forskellige måder at henvise til en projektmappe sammen med nogle eksempler på koder.
Brug af projektmappens navne
Hvis du har det nøjagtige navn på den projektmappe, du vil henvise til, kan du bruge navnet i koden.
Lad os begynde med et enkelt eksempel.
Hvis du har to projektmapper åbne, og du vil aktivere projektmappen med navnet - Eksempler. Xlsx, kan du bruge nedenstående kode:
Sub ActivateWorkbook () Workbooks ("Eksempler.xlsx"). Aktiver End Sub
Bemærk, at du skal bruge filnavnet sammen med udvidelsen, hvis filen er blevet gemt. Hvis det ikke er blevet gemt, kan du bruge navnet uden filtypen.
Hvis du ikke er sikker på, hvilket navn du skal bruge, skal du tage hjælp fra Project Explorer.
Hvis du vil aktivere en projektmappe og vælge en bestemt celle i et regneark i denne projektmappe, skal du angive hele adressen på cellen (herunder projektmappen og regnearksnavnet).
Sub ActivateWorkbook () Workbooks ("Eksempler.xlsx"). Regneark ("Sheet1"). Aktiver område ("A1"). Vælg End Sub
Ovenstående kode aktiverer først Sheet1 i eksemplet. Xlsx projektmappe og vælger derefter celle A1 i arket.
Du vil ofte se en kode, hvor der henvises til et regneark eller en celle/område uden at henvise til projektmappen. Dette sker, når du refererer til regnearket/områderne i den samme projektmappe, der har koden i og også er den aktive projektmappe. I nogle tilfælde skal du dog angive projektmappen for at sikre, at koden fungerer (mere om dette i afsnittet ThisWorkbook).
Brug af indeksnumre
Du kan også henvise til projektmapperne baseret på deres indeksnummer.
Hvis du f.eks. Har tre projektmapper åbne, viser følgende kode dig navnene på de tre projektmapper i en meddelelsesboks (en ad gangen).
Sub WorkbookName () MsgBox Workbooks (1) .Name MsgBox Workbooks (2) .Name MsgBox Workbooks (3) .Name End Sub Sub
Ovenstående kode bruger MsgBox - som er en funktion, der viser en meddelelsesboks med den angivne tekst/værdi (hvilket er projektmappens navn i dette tilfælde).
En af de problemer, jeg ofte har med at bruge indeksnumre med projektmapper, er, at du aldrig ved, hvilken der er den første projektmappe, og hvilken der er den anden og så videre. For at være sikker skal du køre koden som vist ovenfor eller noget lignende for at gå gennem de åbne projektmapper og kende deres indeksnummer.
Excel behandler projektmappen først for at have indeksnummeret som 1 og det næste som 2 og så videre.
På trods af denne ulempe kan brug af indeksnumre være praktisk. Hvis du f.eks. Vil gå igennem alle de åbne projektmapper og gemme alle, kan du bruge indeksnumrene. I dette tilfælde, da du ønsker, at dette skal ske for alle projektmapper, er du ikke bekymret for deres individuelle indeksnumre.
Nedenstående kode vil gå gennem alle de åbne projektmapper og lukke alle undtagen den projektmappe, der har denne VBA -kode.
Sub CloseWorkbooks () Dim WbCount As Integer WbCount = Workbooks.Count For i = WbCount To 1 Step -1 If Workbooks (i) .Name ThisWorkbook.Name Then Workbooks (i). Close End If Next i End Sub
Ovenstående kode tæller antallet af åbne projektmapper og går derefter igennem alle projektmapperne ved hjælp af For hver loop.
Den bruger IF -betingelsen til at kontrollere, om navnet på projektmappen er det samme som det på projektmappen, hvor koden køres.
Hvis det ikke er et match, lukker det projektmappen og flytter til det næste.
Bemærk, at vi har kørt sløjfen fra WbCount til 1 med et trin på -1. Dette gøres som med hver loop, antallet af åbne projektmapper falder.
Denne arbejdsbog er detaljeret beskrevet i det senere afsnit.
Brug af ActiveWorkbook
ActiveWorkbook, som navnet antyder, refererer til den projektmappe, der er aktiv.
Nedenstående kode viser dig navnet på den aktive projektmappe.
Sub ActiveWorkbookName () MsgBox ActiveWorkbook.Name End Sub
Når du bruger VBA til at aktivere en anden projektmappe, vil ActiveWorkbook -delen i VBA derefter referere til den aktiverede projektmappe.
Her er et eksempel på dette.
Hvis du har en projektmappe aktiv, og du indsætter følgende kode i den og kører den, viser den først navnet på den projektmappe, der har koden, og derefter navnet på Exempler. Xlsx (som aktiveres af koden).
Sub ActiveWorkbookName () MsgBox ActiveWorkbook.Name Workbooks ("Eksempler.xlsx"). Aktiver MsgBox ActiveWorkbook.Name Afslut Sub
Bemærk, at når du opretter en ny projektmappe ved hjælp af VBA, bliver den nyoprettede projektmappe automatisk den aktive projektmappe.
Brug af ThisWorkbook
ThisWorkbook refererer til den projektmappe, hvor koden udføres.
Hver projektmappe ville have et ThisWorkbook -objekt som en del af det (synligt i Project Explorer).
'ThisWorkbook' kan gemme almindelige makroer (svarende til dem, vi tilføjer moduler) samt hændelsesprocedurer. En hændelsesprocedure er noget, der udløses baseret på en hændelse - f.eks. At dobbeltklikke på en celle eller gemme en projektmappe eller aktivere et regneark.
Enhver hændelsesprocedure, som du gemmer i denne 'ThisWorkbook', ville være tilgængelig i hele projektmappen sammenlignet med de begivenheder på arkniveau, der kun er begrænset til de specifikke ark.
Hvis du f.eks. Dobbeltklikker på ThisWorkbook-objektet i Project Explorer og kopierer og indsætter nedenstående kode i den, viser det celleadressen, når du dobbeltklikker på en af cellerne i hele projektmappen.
Private Sub Workbook_SheetBeforeDoubleClick (ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean) MsgBox Target.Address End Sub
Mens ThisWorkbooks hovedrolle er at gemme hændelsesprocedure, kan du også bruge den til at henvise til den projektmappe, hvor koden udføres.
Nedenstående kode returnerer navnet på den projektmappe, hvor koden udføres.
Sub ThisWorkbookName () MsgBox ThisWorkbook.Name End Sub
Fordelen ved at bruge ThisWorkbook (over ActiveWorkbook) er, at den i alle tilfælde vil referere til den samme projektmappe (den, der har koden i den). Så hvis du bruger en VBA -kode til at tilføje en ny projektmappe, ændres ActiveWorkbook, men ThisWorkbook vil stadig henvise til den, der har koden.
Oprettelse af et nyt projektmappeobjekt
Følgende kode vil oprette en ny projektmappe.
Sub CreateNewWorkbook () Workbooks.Add End Sub
Når du tilføjer en ny projektmappe, bliver den den aktive projektmappe.
Følgende kode tilføjer en ny projektmappe og viser dig derefter navnet på den pågældende projektmappe (som ville være standardnavnet Book1 -type).
Sub CreateNewWorkbook () Workbooks.Add MsgBox ActiveWorkbook.Name End Sub
Åbn en projektmappe ved hjælp af VBA
Du kan bruge VBA til at åbne en bestemt projektmappe, når du kender filstien til projektmappen.
Nedenstående kode åbner projektmappen - Exempler. Xlsx, som er i mappen Dokumenter på mit system.
Sub OpenWorkbook () Workbooks.Open ("C: \ Users \ sumit \ Documents \ Example.xlsx") Afslut Sub
Hvis filen findes i standardmappen, som er mappen, hvor VBA gemmer nye filer som standard, kan du bare angive projektmappens navn - uden hele stien.
Sub OpenWorkbook () Workbooks.Open ("Eksempler.xlsx") Afslut Sub
Hvis den projektmappe, du prøver at åbne, ikke findes, ser du en fejl.
For at undgå denne fejl kan du tilføje et par linjer til din kode for først at kontrollere, om filen findes eller ej, og hvis den findes, så prøv at åbne den.
Nedenstående kode vil kontrollere filplaceringen, og hvis den ikke findes, viser den en tilpasset meddelelse (ikke fejlmeddelelsen):
Sub OpenWorkbook () If Dir ("C: \ Users \ sumit \ Documents \ Exemples.xlsx") "" Then Workbooks.Open ("C: \ Users \ sumit \ Documents \ Example.xlsx") Else MsgBox "Filen gør ikke findes ikke "End If End Sub
Du kan også bruge dialogboksen Åbn til at vælge den fil, du vil åbne.
Sub OpenWorkbook () Ved fejl Genoptag Næste Dim FilePath As String FilePath = Application.GetOpenFilename Workbooks.Open (FilePath) End Sub
Ovenstående kode åbner dialogboksen Åbn. Når du vælger en fil, du vil åbne, tildeler den filstien til FilePath -variablen. Workbooks.Open bruger derefter filstien til at åbne filen.
Hvis brugeren ikke åbner en fil og klikker på knappen Annuller, bliver FilePath Falsk. For at undgå at få en fejl i dette tilfælde har vi brugt erklæringen 'On Error Resume Next'.
Relaterede: Lær alt om fejlhåndtering i Excel VBAGem en arbejdsbog
For at gemme den aktive projektmappe skal du bruge nedenstående kode:
Sub SaveWorkbook () ActiveWorkbook.Save End Sub
Denne kode fungerer for de projektmapper, der allerede er gemt tidligere. Da projektmappen også indeholder ovenstående makro, vil den, hvis den ikke er blevet gemt som en .xlsm (eller .xls) fil, miste makroen, når du åbner den næste gang.
Hvis du gemmer projektmappen for første gang, viser den dig en prompt som vist herunder:
Når du sparer for første gang, er det bedre at bruge indstillingen 'Saveas'.
Nedenstående kode vil gemme den aktive projektmappe som en .xlsm -fil på standardplaceringen (som er dokumentmappen i mit system).
Sub SaveWorkbook () ActiveWorkbook.SaveAs Filnavn: = "Test.xlsm", FileFormat: = xlOpenXMLWorkbookMacroEnabled End Sub
Hvis du vil have, at filen skal gemmes et bestemt sted, skal du nævne det i værdien Filnavn. Nedenstående kode gemmer filen på mit skrivebord.
Sub SaveWorkbook () ActiveWorkbook.SaveAs Filnavn: = "C: \ Users \ sumit \ Desktop \ Test.xlsm", FileFormat: = xlOpenXMLWorkbookMacroEnabled End Sub
Hvis du vil have brugeren til at få mulighed for at vælge det sted, hvor filen skal gemmes, kan du bruge opkald til dialogboksen Saveas. Nedenstående kode viser dialogboksen Saveas og giver brugeren mulighed for at vælge det sted, hvor filen skal gemmes.
Sub SaveWorkbook () Dim FilePath As String FilePath = Application.GetSaveAsFilename ActiveWorkbook.SaveAs Filename: = FilePath & ".xlsm", FileFormat: = xlOpenXMLWorkbookMacroEnabled End Sub
Bemærk, at du i stedet for at bruge FileFormat: = xlOpenXMLWorkbookMacroEnabled også kan bruge FileFormat: = 52, hvor 52 er koden xlOpenXMLWorkbookMacroEnabled.
Gem alle åbne projektmapper
Hvis du har mere end én projektmappe åben, og du vil gemme alle projektmapper, kan du bruge nedenstående kode:
Sub SaveAllWorkbooks () Dim wb som projektmappe for hver wb i projektmapper wb. Gem næste wb End Sub
Ovenstående gemmer alle projektmapper, herunder dem, der aldrig er blevet gemt. De projektmapper, der ikke tidligere er blevet gemt, vil blive gemt på standardplaceringen.
Hvis du kun vil gemme de projektmapper, der tidligere er blevet gemt, kan du bruge nedenstående kode:
Sub SaveAllWorkbooks () Dim wb som projektmappe for hver wb i projektmapper Hvis wb.Path "" Så wb.Save End If Next wb End Sub
Gem og luk alle arbejdsbøger
Hvis du vil lukke alle projektmapper, undtagen den projektmappe, der har den aktuelle kode i den, kan du bruge koden herunder:
Sub CloseandSaveWorkbooks () Dim wb som projektmappe for hver wb i projektmapper Hvis wb.Name ThisWorkbook.Name Så wb.Close SaveChanges: = True End If Next wb End Sub
Ovenstående kode vil lukke alle projektmapper (undtagen projektmappen, der har koden - ThisWorkbook). Hvis der er ændringer i disse projektmapper, vil ændringerne blive gemt. Hvis der er en projektmappe, der aldrig er blevet gemt, viser den dialogboksen Gem som.
Gem en kopi af projektmappen (med tidsstempel)
Når jeg arbejder med komplekse data og dashboard i Excel -projektmapper, opretter jeg ofte forskellige versioner af mine projektmapper. Dette er nyttigt, hvis noget går galt med min nuværende projektmappe. Jeg ville i det mindste have en kopi af den gemt med et andet navn (og jeg ville kun miste det arbejde, jeg udførte efter at have oprettet en kopi).
Her er VBA -koden, der vil oprette en kopi af din projektmappe og gemme den på den angivne placering.
Sub CreateaCopyofWorkbook () ThisWorkbook.SaveCopyAs Filnavn: = "C: \ Users \ sumit \ Desktop \ BackupCopy.xlsm" Afslut sub
Ovenstående kode vil gemme en kopi af din projektmappe hver gang du kører denne makro.
Selvom dette fungerer godt, ville jeg føle mig mere tryg, hvis jeg havde gemt forskellige kopier, når jeg kørte denne kode. Grunden til at dette er vigtigt er, at hvis jeg laver en utilsigtet fejl og kører denne makro, vil det gemme arbejdet med fejlene. Og jeg ville ikke have adgang til arbejdet, før jeg lavede fejlen.
For at håndtere sådanne situationer kan du bruge nedenstående kode, der gemmer en ny kopi af værket, hver gang du gemmer det. Og det tilføjer også en dato og tidsstempel som en del af projektmappens navn. Dette kan hjælpe dig med at spore enhver fejl, du gjorde, da du aldrig mister nogen af de tidligere oprettede sikkerhedskopier.
Private Sub Workbook_BeforeSave (ByVal SaveAsUI As Boolean, Cancel As Boolean) ThisWorkbook.SaveCopyAs Filnavn: = "C: \ Users \ sumit \ Desktop \ BackupCopy" & Format (Now (), "dd-mm-åå-hh-mm-ss -AMPM ") &" .xlsm "End Sub
Ovenstående kode ville oprette en kopi hver gang du kører denne makro og tilføje et dato/tidsstempel til projektmappens navn.
Opret en ny projektmappe for hvert regneark
I nogle tilfælde kan du have en projektmappe, der har flere regneark, og du vil oprette en projektmappe for hvert regneark.
Dette kan være tilfældet, når du har månedlige/kvartalsvise rapporter i en enkelt projektmappe, og du vil opdele disse i en projektmappe for hvert regneark.
Eller hvis du har afdelingsvise rapporter, og du vil opdele disse i individuelle projektmapper, så du kan sende disse individuelle projektmapper til afdelingsledere.
Her er koden, der vil oprette en projektmappe for hvert regneark, give det samme navn som regnearket og gemme den i den angivne mappe.
Sub CreateWorkbookforWorksheets () Dim ws As Worksheet Dim wb As Workbook For Every ws In ThisWorkbook.Worksheets Set wb = Workbooks.Add ws.Copy Before: = wb.Sheets (1) Application.DisplayAlerts = False wb.Sheets (2) .Delete Application.DisplayAlerts = True wb.SaveAs "C: \ Users \ sumit \ Desktop \ Test \" & ws.Name & ".xlsx" wb.Close Next ws End Sub
I ovenstående kode har vi brugt to variable 'ws' og 'wb'.
Koden går gennem hvert regneark (ved hjælp af For Every Next loop) og opretter en projektmappe til den. Det bruger også kopimetoden for regnearksobjektet til at oprette en kopi af regnearket i den nye projektmappe.
Bemærk, at jeg har brugt SET -sætningen til at tildele variablen 'wb' til enhver ny projektmappe, der er oprettet af koden.
Du kan bruge denne teknik til at tildele et projektmappeobjekt til en variabel. Dette er dækket i det næste afsnit.
Tildel projektmappeobjekt til en variabel
I VBA kan du tildele et objekt til en variabel og derefter bruge variablen til at referere til det objekt.
For eksempel i nedenstående kode bruger jeg VBA til at tilføje en ny projektmappe og derefter tildele denne projektmappe til variablen wb. For at gøre dette skal jeg bruge SET -sætningen.
Når jeg har tildelt projektmappen til variablen, bliver alle egenskaberne i projektmappen også tilgængelige for variablen.
Sub AssigntoVariable () Dim wb As Workbook Set wb = Workbooks.Add wb.SaveAs Filnavn: = "C: \ Users \ sumit \ Desktop \ Exempler.xlsx" End Sub
Bemærk, at det første trin i koden er at erklære 'wb' som en variabel i projektmappe. Dette fortæller VBA, at denne variabel kan indeholde projektmappeobjektet.
Den næste sætning bruger SET til at tildele variablen til den nye projektmappe, som vi tilføjer. Når denne opgave er udført, kan vi bruge wb -variablen til at gemme projektmappen (eller gøre noget andet med det).
Looping gennem åbne arbejdsbøger
Vi har allerede set et par eksempler på koder ovenfor, der brugte looping i koden.
I dette afsnit vil jeg forklare forskellige måder at gennemgå åbne projektmapper ved hjælp af VBA.
Antag, at du vil gemme og lukke alle de åbne projektmapper, undtagen den med koden i, så kan du bruge nedenstående kode:
Sub CloseandSaveWorkbooks () Dim wb som projektmappe for hver wb i projektmapper Hvis wb.Name ThisWorkbook.Name Så wb.Close SaveChanges: = True End If Next wb End Sub
Ovenstående kode bruger For hver loop til at gå igennem hver projektmappe i Workbooks -samlingen. For at gøre dette skal vi først erklære 'wb' som variablen til projektmappe.
I hver loopcyklus analyseres hvert projektmappes navn, og hvis det ikke matcher navnet på den projektmappe, der har koden, lukkes det efter at have gemt dets indhold.
Det samme kan også opnås med en anden sløjfe som vist nedenfor:
Sub CloseWorkbooks () Dim WbCount As Integer WbCount = Workbooks.Count For i = WbCount To 1 Step -1 If Workbooks (i) .Name ThisWorkbook.Name Then Workbooks (i). Close SaveChanges: = True End If Next i End Sub
Ovenstående kode bruger For Next -sløjfen til at lukke alle projektmapper undtagen den, der har koden i den. I dette tilfælde behøver vi ikke at deklarere en projektmappevariabel, men i stedet skal vi tælle det samlede antal åbne projektmapper. Når vi har tællingen, bruger vi For Next -løkken til at gå igennem hver projektmappe. Vi bruger også indeksnummeret til at referere til projektmapperne i dette tilfælde.
Bemærk, at i ovenstående kode loopes vi fra WbCount til 1 med trin -1. Dette er nødvendigt som med hver loop, projektmappen bliver lukket, og antallet af projektmapper bliver reduceret med 1.
Fejl under arbejdet med projektmappeobjektet (fejl i driftstiden '9')
En af de mest almindelige fejl, du kan støde på, når du arbejder med projektmapper, er - Run -time Error '9' - Subscript out of range.
Generelt er VBA -fejl ikke særlig informative og overlader det ofte til dig at finde ud af, hvad der gik galt.
Her er nogle af de mulige årsager, der kan føre til denne fejl:
- Den projektmappe, du prøver at få adgang til, findes ikke. For eksempel, hvis jeg prøver at få adgang til den femte projektmappe ved hjælp af projektmapper (5), og der kun er fire projektmapper åbne, får jeg denne fejl.
- Hvis du bruger et forkert navn til at referere til projektmappen. Hvis f.eks. Dit projektmappes navn er Exempler. Xlsx, og du bruger Eksempel. Xlsx. så viser den dig denne fejl.
- Hvis du ikke har gemt en projektmappe, og du bruger udvidelsen, får du denne fejl. Hvis f.eks. Dit projektmappes navn er Bog 1, og du bruger navnet Bog1.xlsx uden at gemme det, får du denne fejl.
- Den projektmappe, du prøver at få adgang til, er lukket.
Få en liste over alle åbne projektmapper
Hvis du vil have en liste over alle de åbne projektmapper i den aktuelle projektmappe (projektmappen, hvor du kører koden), kan du bruge nedenstående kode:
Sub GetWorkbookNames () Dim wbcount As Integer wbcount = Workbooks.Count ThisWorkbook.Worksheets.Add ActiveSheet.Range ("A1"). Activate For i = 1 To wbcount Range ("A1"). Offset (i - 1, 0). Value = Workbooks (i) .Name Næste i End Sub
Ovenstående kode tilføjer et nyt regneark og viser derefter navnet på alle de åbne projektmapper.
Hvis du også ønsker at få deres filsti, kan du bruge nedenstående kode:
Sub GetWorkbookNames () Dim wbcount As Integer wbcount = Workbooks.Count ThisWorkbook.Worksheets.Add ActiveSheet.Range ("A1"). Activate For i = 1 To wbcount Range ("A1"). Offset (i - 1, 0). Value = Workbooks (i) .Path & "\" & Workbooks (i) .Name Næste i End Sub
Åbn den specificerede projektmappe ved at dobbeltklikke på cellen
Hvis du har en liste over filstier til Excel-projektmapper, kan du bruge nedenstående kode til blot at dobbeltklikke på cellen med filstien, og den åbner projektmappen.
Private Sub Workbook_SheetBeforeDoubleClick (ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean) Workbooks.Open Target.Value End Sub
Denne kode vil blive placeret i vinduet ThisWorkbook -kode.
At gøre dette:
- Dobbeltklik på ThisWorkbook -objektet i projektudforskeren. Bemærk, at ThisWorkbook -objektet skal være i projektmappen, hvor du vil have denne funktionalitet.
- Kopier og indsæt ovenstående kode.
Nu, hvis du har den nøjagtige sti for de filer, du vil åbne, kan du gøre det ved blot at dobbeltklikke på filstien, og VBA ville øjeblikkeligt åbne denne projektmappe.
Hvor skal man placere VBA -koden
Gad vide, hvor VBA -koden går i din Excel -projektmappe?
Excel har en VBA -backend kaldet VBA -editoren. Du skal kopiere og indsætte koden i vinduet VB Editor -modulkode.
Her er trinene til at gøre dette:
- Gå til fanen Udvikler.
- Klik på indstillingen Visual Basic. Dette åbner VB -editoren i backend.
- Højreklik på et objekt til projektmappen, hvor du vil indsætte koden, i ruden Project Explorer i VB Editor. Hvis du ikke kan se Project Explorer, skal du gå til fanen View og klikke på Project Explorer.
- Gå til Indsæt og klik på Modul. Dette vil indsætte et modulobjekt til din projektmappe.
- Kopier og indsæt koden i modulvinduet.
Du kan også lide følgende Excel VBA -vejledninger:
- Sådan optages en makro i Excel.
- Oprettelse af en brugerdefineret funktion i Excel.
- Sådan oprettes og bruges tilføjelsesprogram i Excel.
- Sådan gendannes makroer ved at placere det i den personlige makro -projektmappe.
- Få listen over filnavne fra en mappe i Excel (med og uden VBA).
- Sådan bruges Excel VBA InStr -funktion (med praktiske EKSEMPLER).
- Sådan sorteres data i Excel ved hjælp af VBA (en trinvis vejledning).