|  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programvara
  • Adobe Illustrator
  • animation Software
  • antivirusprogram
  • ljudprogram
  • Säkerhetskopiera data
  • Bränn CD-skivor
  • Bränn DVD
  • Data Compression
  • Database Software
  • Desktop Publishing
  • Desktop Video
  • Digital Video Software
  • Drupal
  • Educational Software
  • Engineering Software
  • Filtillägg Typer
  • Financial Software
  • Freeware , Shareware & Abandonware
  • GIMP
  • Graphics Software
  • Home Recording Software
  • Microsoft Access
  • Microsoft Excel
  • Microsoft Publisher
  • Microsoft Word
  • Open Source Code
  • Andra datorprogram
  • PC-spel
  • Photoshop
  • Portable Document Format
  • PowerPoint
  • presentationsprogram
  • Produktivitet Software
  • quicktime
  • Remote Desktop Management
  • SQL Server
  • Skype
  • Programvara betaversioner
  • Programvara Konsulter
  • Software Development Companies
  • Software Licensing
  • Spreadsheets
  • Skatt förberedelse programvara
  • Utility Software
  • Web Clip Art
  • Windows Media Player
  • Ordbehandlingsprogram
  • Facebook
  • Twitter
  • Instagram
  • LinkedIn
  • TikTok
  • WhatsApp
  • WordPress
  • Chrome
  • Discord
  • Amazon
  • * Dator Kunskap >> Programvara >> Microsoft Excel >> Content

    Hur kan du skapa ett makro i Excel som sparar inkomstarbetsboken och sedan skapar ny varje vecka?

    `` VBA

    Under varje vecka

    'Förklara variabler

    Dim WB som arbetsbok

    Dim WS som kalkylblad

    Dim FilePath som String

    Dim filnamn som sträng

    Dim NewFileName som String

    Dim WeekstartDate som datum

    Dim helgdatum som datum

    "Ställ in veckans startdatum (du kan justera detta baserat på din veckans början, t.ex. söndag eller måndag)

    WeekStartDate =datum - vardag (datum, vbmonday) + 1 'Detta ställer startdagen till måndag

    'Ställ in veckans slutdatum

    WeekendDate =WeekStartDate + 6

    "Ställ in sökvägen till mappen där du vill spara filerna. Ändra detta till önskad mapp

    Filepath ="C:\ Path \ to \ din \ inkomstfolder \" '<--- viktigt: Ändra detta!

    'Kontrollera om mappen finns, och om inte, skapa den

    Om dir (filePath, vbDirectory) ="" Sedan

    Mkdir filepath

    Slut om

    "Ställ in basfilnamnet (t.ex." inkomst ")

    Filnamn ="inkomst"

    "Ställ in det nya filnamnet (t.ex." Income_2023-10-23_to_2023-10-29.xlsx ")

    NewFileName =FileName &"_" &Format (WeekStartDate, "YYYY-MM-DD") &"_TO_" &Format (WeekendDate, "YYYY-MM-DD") &".xlsx"

    'Skapa en fullständig filväg

    FilePath =FilePath &NewFileName

    ' ***

    'Spara den aktuella arbetsboken med veckans filnamn

    ' ***

    'Få en hänvisning till den aktuella arbetsboken

    Ställ in WB =Thisworkbook

    'Inaktivera skärmuppdatering för att påskynda processen

    Application.ScreenUpdating =False

    'Spara arbetsboken

    WB.Saveas FilePath, FileFormat:=Xlopenxmlworkbook 'Använd Xlopenxmlworkbook för .xlsx -format

    ' ***

    'Skapa en ny arbetsbok (baserad på aktuell eller en mall)

    ' ***

    'Alternativ 1:Skapa en ny tom arbetsbok

    'Arbetsböcker.Add

    'Alternativ 2:Skapa en ny arbetsbok baserad på den befintliga arbetsbokens struktur (kopiera den)

    Set WB =Workbooks.Add (Thisworkbook.FullName) 'Thisworkbook.FullName använder den aktuella arbetsboken som mallen

    'Alternativ 3:Skapa från en specifik mallfil (om du har en mallinställning)

    'Dim mallfilepath som sträng

    'MallFilePath ="C:\ Path \ to \ din \ mall \ inkommeteemplate.xltx"' Ändra detta till din mallväg

    'Ställ in wb =arbetsböcker.Add (mall:=mallFilepath)

    'Valfritt:Byt namn på det första arket i den nya arbetsboken till något meningsfullt

    Ställ in ws =wb.blad (1)

    ws.name ="Weekly inkomstdata"

    'Aktivera skärmuppdatering

    Applikation.screenupdating =true

    'Visa en meddelandelåda som bekräftar åtgärden

    Msgbox "Aktuell inkomst arbetsbok sparas som:" &newFileName &vbcrlf &_

    "En ny arbetsbok har skapats för nästa vecka.", Vbinformation, "Weekly Income Update"

    'Rengör objektvariabler (bästa praxis)

    Ställ in WB =ingenting

    Ställ in WS =ingenting

    Slutsub

    `` `

    Förklaring och hur man använder:

    1. Öppna VBA -redaktören:

    - Tryck på `alt + f11` för att öppna Visual Basic Editor (VBE).

    2. Sätt in en modul:

    - Gå till VBE till `Insert> Module '. Detta skapar en ny modul där du klistrar in koden.

    3. klistra koden:

    - Klistra in koden som anges ovan i modulen.

    4. Anpassa koden (viktigt!):

    * `FilePath =" C:\ Path \ to \ din \ inkomstfolder \ "` : Kritisk:Ändra detta till den faktiska mappvägen där du vill spara dina inkomstarbetsböcker. Se till att mappen finns, eller koden kommer att försöka skapa den. Släpande bakslash (`\`) är viktig. Exempel:`" D:\ Myincomes \ "`

    * `WeekStartDate =datum - vardag (datum, vbmonday) + 1`: Denna linje beräknar början av veckan, förutsatt att din vecka börjar på måndag. Om din vecka börjar på söndagen, ändra den till:`WeekStartDate =datum - vardag (datum, vbsunday) + 1` om din vecka börjar på en annan dag, justera därefter (t.ex.` vBtuesday 'för tisdag). Det fungerar genom att hitta dagen i veckan * idag * och subtrahera så många dagar, så början av veckan är alltid konsekvent.

    * `filnamn =" inkomst "` :Detta ställer in basnamnet på din fil. Du kan ändra detta om du vill använda ett annat basnamn, till exempel `" myBusinessIme "" eller "" xyzincomes "`.

    * Välj * en * av arbetsbokens skapandealternativ: Koden innehåller tre alternativ för att skapa den nya arbetsboken. Avmark den du vill använda genom att ta bort `'' i början av linjen:

    * `'arbetsböcker.Add` :Skapar en helt tom arbetsbok.

    * `set wb =workbooks.add (thisworkbook. fullname)` :Skapar en ny arbetsbok som är en * kopia * av den aktuella arbetsboken. Detta är troligtvis det bästa alternativet om du vill bevara rubriker, formler eller formatering från vecka till vecka.

    * `'TemplateFilePath =" C:\ Path \ to \ din \ mall \ inkommeteemplate.xltx "` och `'set wb =workbooks.add (mall:=mallFilepath)` :Skapar en ny arbetsbok baserad på en mallfil. Du måste skapa en mallfil (`.xltx`) med önskad formatering och layout och sedan ställa in variabeln` mallfilepath` till rätt väg. Viktigt: UNCOMMENT * Båda * av dessa rader om du vill använda mallalternativet. Glöm inte att ändra `" C:\ Path \ till \ din \ mall \ inkommeteemplate.xltx "`!

    5. Kör makro:

    - Gå tillbaka till Excel -kalkylbladet.

    - Tryck på `ALT + F8 'för att öppna dialogrutan" Makro ".

    - Välj `WeeklyImomemanagement 'från listan över makron.

    - Klicka på "Kör".

    Hur det fungerar:

    * sparar den aktuella arbetsboken:

    * `FilePath =FilePath &NewFileName` konstruerar hela sökvägen och filnamnet för den sparade arbetsboken.

    * `WB.Saveas FilePath, FileFormat:=Xlopenxmlworkbook` sparar den aktuella arbetsboken i den angivna mappen med det genererade namnet med formatet '.xlsx'. Detta är avgörande för kompatibilitet och för att säkerställa att du använder det moderna Excel -filformatet.

    * skapar en ny arbetsbok:

    * Uttalandet `Workbooks.Add '(eller mallbaserat) skapar en helt ny, tom arbetsbok. Eller, som nämnts tidigare, använder den nuvarande som en mall.

    * filnamnskonvention:

    * `NewFileName =filnamn &" _ "&format (WeekStartDate," yyyy-mm-dd ") &" _to_ "&format (helgDatum," yyyy-mm-dd ") &" .xlsx "` genererar ett filnamn som inkluderar början och slutet av veckans. Detta gör det enkelt att identifiera uppgifterna för varje vecka. Funktionen "Format" säkerställer att datumen är i ett konsekvent, sorterbart format (YYYY-MM-DD).

    * Felhantering och skapande av mappar (förbättrad):

    * `Om dir (filePath, VBDirectory) =" "Kontrollerar MKDir FilePath" om målmappen finns. Om det inte gör det skapar det mappen. Detta förhindrar fel om mappen inte redan finns.

    * skärmuppdatering:

    * `Application.ScreenUpdating =False` och` Application.ScreenUpdating =True` Inaktivera och återaktivera skärmuppdatering. Detta gör att makroen springer snabbare och förhindrar flimring.

    * Objektvariabel sanering:

    * `Ställ in wb =ingenting` och` set ws =ingenting 'är bra praxis. De släpper minnet som används av objektvariablerna `WB` och` WS 'efter att de inte längre behövs. Detta hjälper till att förhindra minnesläckor, särskilt i längre makron.

    Viktiga överväganden:

    * Backup: Säkerhetskopiera alltid dina arbetsböcker innan du kör några makron som modifierar eller sparar dem.

    * Macro Security: Excel har makro -säkerhetsinställningar. Du kan behöva justera dem så att makron kan köras. Gå till `File> Options> Trust Center> Trust Center Inställningar> Makroinställningar 'och välj" Aktivera alla makron "(rekommenderas inte för allmänt bruk; använd med försiktighet) eller" Inaktivera alla makron med meddelande "(rekommenderas, men du måste aktivera makron varje gång du öppnar arbetsboken). Ett bättre tillvägagångssätt är att använda ett digitalt signerat makro.

    * testning: Testa makroen noggrant med en provarbetsbok innan du använder den med dina riktiga data.

    * placering av makro: Makroen måste sparas i en arbetsbok som har makron aktiverat (antingen `.xlsm` eller det äldre '.xls' -formatet om du har äldre Excel -versioner). Helst skulle du spara makro i din personliga makroarbetsbok så det är tillgängligt för alla Excel -arbetsböcker. Att göra det:

    1. I VBE, gå till Visa> Project Explorer.

    2. Om du ser "Personal.xlsb" (eller liknande) i projektutforskaren är den personliga makroarbetsboken redan skapad. Om inte, spela in ett dummy makro (utvecklarflik> Spela in makro, spara det i den personliga makroarbetsboken) för att skapa den.

    3. Dra modulen som innehåller koden från den aktuella arbetsboken till "Personal.xlsb" i Project Explorer.

    4. Spara den personliga makroarbetsboken.

    utlöser makro (automatisering):

    Du kan automatisera makrokörningen på flera sätt:

    * -knappen på kalkylbladet: Sätt i en knapp (utvecklarflik> Infoga> -knappen). Tilldela makro till knappen.

    * band: Lägg till en anpassad flik eller knapp i Excel -bandet och tilldela makroet till det.

    * Workbook_BeforEclose Event: Sätt koden i händelsen "Workbook_Beforeclose" i modulen "Thisworkbook". Detta kommer att köra makro * innan * arbetsboken stängs. Varning: Detta kan vara oväntat beteende om användaren inte är medveten om att makroen körs.

    * Windows Task Scheduler (avancerad): Använd Windows Task Scheduler för att schemalägga Excel -arbetsboken för att öppna och köra makro vid en viss tidpunkt varje vecka. Detta är den mest automatiserade metoden. Du måste använda kommandoradsalternativen för Excel för att öppna arbetsboken och köra makroen (t.ex. `excel.exe" c:\ path \ to \ din \ workbook.xlsm " /m" WeeklyImomemanagement "`). Detta kräver mer installation.

    Genom att följa dessa steg och anpassa koden kan du effektivt hantera dina veckoinkomstdata med detta Excel -makro. Kom ihåg att testa det noggrant innan du förlitar sig på den för viktiga data.

    Tidigare:

    nästa:
    relaterade artiklar
    ·Är Microsoft Excel -filer överförbara från Mac till…
    ·Vad är scenarier i Excel?
    ·När du konverterar ett Open Office -kalkylblad till Ex…
    ·Ett numeriskt värde som har sitt ursprung i en Excel -…
    ·Hur gör du Microsoft Excel -samtal?
    ·Vad är meningen med fel i Macro-Excel?
    ·Vad är kopieringshandtaget i Excel?
    ·Standardformatet som Excel gäller för siffror som int…
    ·Är A16 en absolut adress i Excel?
    ·I excel om värdet är i en kolumn automatiskt sätt fo…
    Utvalda artiklarna
    ·Är tabeller en stor del av Excel?
    ·Hur nära McAfee Total Protection
    ·Hur man ändrar Microsoft Marks Word offert till Straig…
    ·Hur man laddar en PDF -fil till en webbläsare i ASP.NE…
    ·Vad gör att du kan gå igenom ditt dokument?
    ·Hur får man tillbaka ett Word- dokument som inte spara…
    ·Vad sägs om en affisch du gör på datorn för teknikk…
    ·Konvertera Megaupload
    ·Hur Lås Trial Spel
    ·Vad är ett korrekt sätt att få Access Microsoft Exce…
    Copyright © Dator Kunskap https://www.dator.xyz