[ xl_kid @ 21.03.2012. 13:18 ] @
Poštovani, imam tabelu za određene izveštaje sa 1000000 pivota i formula u njoj. Tabela je veličine 30Mb. Pokušavam napraviti macro kako bih exportovao određene sheet-ove u novu tabelu i tako sređenu je slati. |
[ xl_kid @ 21.03.2012. 13:18 ] @
[ Ivek33 @ 21.03.2012. 19:51 ] @
Ako sam te dobro razumio
Vjerojatno makronaredbi ima i ovdje na ES-u (koristi pretragu), a u međuvremenu pogledaj link - Skupina VBA Macro-a za kopiranje Sheets u novu Workbook [ xl_kid @ 08.08.2013. 08:31 ] @
imam problem sa kodom pa mi je potrebna pomoć. posle pokretanja macro-a izbaci mi "run-time error 1004" kliknem na End lepo prebaci podatke u novu tabelu samo što mi malo zatupi excel. problem mi oznaci na kraju koda "nm.Delete"
evo i koda Option Explicit Sub CreateDataSheet() Dim ws As Worksheet Dim sDataOutputName As String With Application .Cursor = xlWait .StatusBar = "Saving DataSheet..." .ScreenUpdating = False ' Copy specific sheets ' *SET THE SHEET NAMES TO COPY BELOW* ' Array("Sheet Name", "Another sheet name", "And Another")) ' Sheet names go inside quotes, seperated by commas On Error GoTo ErrCatcher Sheets(Array("RAZRADA UKUPNO", "RAZRADA KUPCI BG", "RAZRADA KUPCI LA", "RAZRADA KUPCI NI", _ "RAZRADA GRUPA BG", "RAZRADA GRUPA LA", "RAZRADA GRUPA NI")).Copy On Error GoTo 0 ' Paste sheets as values ' Remove External Links, Hperlinks and hard-code formulas ' Make sure A1 is selected on all sheets For Each ws In ActiveWorkbook.Worksheets With ws.UsedRange .Value = .Value End With 'ws.Cells.Copy 'ws.[A1].PasteSpecial Paste:=xlValues ws.Cells.Hyperlinks.Delete 'Application.CutCopyMode = False Cells(1, 1).Select ws.Activate Next ws Cells(1, 1).Select ' Remove named ranges RemNamedRanges ' Sheets("Cover Sheet").Select ' sDataOutputName = Sheets("CalcSheet").Range("N9").Value & "\" & Sheets("CalcSheet").Range("B2").Value ' Save it with the NewName and in the same directory as original ActiveWorkbook.SaveCopyAs sDataOutputName & " MyNewDataWorkbook - Data Sheet.xlsx" ActiveWorkbook.Close SaveChanges:=False .Cursor = xlDefault .StatusBar = False .ScreenUpdating = True End With Exit Sub ErrCatcher: MsgBox "Specified sheets do not exist within this workbook" End Sub Sub RemNamedRanges() Dim nm As Name On Error Resume Next For Each nm In ActiveWorkbook.Names nm.Delete '***************************** ovde mi javlja grešku********************* Next On Error GoTo 0 End Sub [ Jpeca @ 08.08.2013. 10:16 ] @
Postavi primer radne sveske gde javlja grešku. Ja sam probao rutinu RemNamedRanges() i kod mene radi bez problema
[ xl_kid @ 08.08.2013. 10:20 ] @
velika je, 16mb
izbrisao sam nekoliko sheet-ova kako bih mogao da je pošaljem [ Jpeca @ 08.08.2013. 10:43 ] @
Meni uradi i ne prijavi nikakvu grešku.
U primeru koji si dao uopšte nema imenovanih opsega koji bi bili izbrisani sa procedurom RemNamedRanges() tako da tu proceduru možeš da izbaciš ako ti pravi problem? [ xl_kid @ 08.08.2013. 11:15 ] @
rešio sam problem, izbrisao sam proceduru
Hvala :) Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|