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.
Nincsenek kapcsolódó bejegyzések.
2010. 02. 28.
·
htmlinfo ·
Nincsenek megjegyzések
Címkék: Excel, makró, mentés, tipp · Kategória:: Tippek



Szólj hozzá!