Mentsük többfelé!

A napokban egy jelentős számú munkalapból álló Excel táblázatnál merült fel az igény, hogy minden munkalapot külön fájlba mentve, mindenkinek csak az őt érintő adatokat küldjük el e-mailben. A feladat nem egyszeri alkalomra szól, havonta (esetleg gyakrabban is) ismétlődik.

Ha ismétlődik, akkor automatizálni kell. Automatizálásra pedig a többi korszerű táblázatkezelő mellett -makrózhatóságával – az Excel is nyújt lehetőséget:

Sub CreateWorkbooks()
'Az aktuális munkafüzetben levő minden egyes munkalap
'számára létrehozunk egy munkafüzetet.

Dim wbDest As Workbook
Dim wbSource As Workbook
Dim sht As Object 'Lehet táblázat, munkalap, akármi.
Dim strSavePath As String

On Error GoTo ErrorHandler

Application.ScreenUpdating = False
'Elrejtük a képernyő változásait

strSavePath = "C:\Temp\" 'A mentés helye
Set wbSource = ActiveWorkbook
For Each sht In wbSource.Sheets
sht.Copy
Set wbDest = ActiveWorkbook
wbDest.SaveAs strSavePath & sht.Name
wbDest.Close 'Bezárjuk a létrehozott munkafüzeteket.
Next

Application.ScreenUpdating = True

Exit Sub

ErrorHandler: 'Ha gond merülne fel
MsgBox "Hiba történt. Hibaszám=" & Err.Number & ".
Hiba lerása=" & Err.Description & "."

End Sub

A fent kódot elegendő bemásolni a több részletben mentendő munkafüzetben a Visual Basic Editor kódszerkesztőjébe, menteni egyet, visszatérni a munkafüzethez és a Makró indítása gombra kattintani. A megjelenő párbeszédablakban ki kell választani a (jó esetben) egyetlen makrót, és OK.

  • Share/Bookmark

Nincsenek kapcsolódó bejegyzések.

2010. 02. 28. · htmlinfo · Nincsenek megjegyzések
Címkék: , , ,  · Kategória:: Tippek

Szólj hozzá!


  • Kezelés