Előfordulhat, hogy néha automatizált módon szeretne Excel-munkafüzetet létrehozni. Például előfordulhat, hogy adatokat kell másolnia egy táblázatból, és be kell illesztenie egy újonnan létrehozott munkafüzetbe. A következő makró egy cellatartományt másol az aktív lapról, és beilleszti az adatokat egy új munkafüzetbe.
Hogyan működik a makró
Amint azt látni fogja, amikor végigolvassa a kód sorait, ez a makró viszonylag intuitív:
Almakró1()
„1. lépés Másolja át az adatokat
Sheets("1. példa").Tartomány("B4:C15").Másolás
'2. lépés Hozzon létre egy új munkafüzetet
Munkafüzetek.Hozzáadás
'3. lépés Illessze be az adatokat
ActiveSheet.Paste Destination:=Tartomány("A1")
'4. lépés Kapcsolja ki az alkalmazások riasztásait
Application.DisplayAlerts = Hamis
5. lépés Mentse el az újonnan létrehozott munkafüzetet
ActiveWorkbook.SaveAs _
Fájlnév:="C:TempMyNewBook.xlsx"
'6. lépés Kapcsolja be újra az alkalmazások riasztásait
Application.DisplayAlerts = Igaz
Vége Sub
Az 1. lépésben egyszerűen másolja át a B4 és C15 cellák közötti adatokat. Vegye figyelembe, hogy a lapot és a tartományt is név szerint adja meg. Ez a megközelítés a legjobb gyakorlat több megnyitott munkafüzet használatakor.
A 2. lépésben a Munkafüzet objektum Hozzáadás metódusát használja munkafüzet létrehozásához. Az üres munkafüzet az Excel menüszalag Fájl→Új→Üres dokumentum menüpontjának manuális kiválasztásával egyenértékű.
A 3. lépésben a Beillesztés módszerrel küldje el a másolt adatokat az új munkafüzet A1 cellájába.
Ügyeljen arra, hogy a kód az ActiveSheet objektumra hivatkozzon. Amikor hozzáad egy munkafüzetet, az új munkafüzet azonnal fókuszba kerül, és az aktív munkafüzet lesz. (Az Excel ugyanezt teszi, ha manuálisan ad hozzá egy munkafüzetet.)
A kód 4. lépésében a DisplayAlerts metódust False értékre állítja, ami hatékonyan kikapcsolja az Excel figyelmeztetéseit. Ezt azért teszi, mert a kód következő lépésében elmenti az újonnan létrehozott munkafüzetet. Ezt a makrót többször is futtathatja, ebben az esetben az Excel többször megpróbálja menteni a fájlt.
Mi történik, ha többször próbál meg menteni egy munkafüzetet? Így van – az Excel figyelmezteti, hogy már létezik ilyen nevű fájl, majd megkérdezi, hogy felül akarja-e írni a korábban létező fájlt. Mivel az Ön célja a munkafüzet létrehozásának automatizálása, el kívánja tiltani ezt a figyelmeztetést.
Az 5. lépésben elmenti a fájlt a SaveAs metódussal. Vegye figyelembe, hogy meg kell adnia a mentési hely teljes elérési útját, beleértve a végső fájlnevet is.
Mivel a 4. lépésben kikapcsolta az alkalmazásmódosításokat, újra be kell kapcsolnia azokat (lásd a 6. lépést). Ha nem, az Excel továbbra is letilt minden figyelmeztetést az aktuális munkamenet során.
Hogyan kell használni a makrót
A makró megvalósításához másolja és illessze be egy szabványos modulba:
Aktiválja a Visual Basic Editort az Alt+F11 megnyomásával.
Kattintson a jobb gombbal a projekt/munkafüzet nevére a projekt ablakában.
Válassza a Beszúrás → Modul menüpontot.
Írja be vagy illessze be a kódot az újonnan létrehozott modulba.
Valószínűleg módosítania kell a munkalap nevét, a tartomány címét és a mentési helyet.