macro voor MacroEnabledWorkbook ipv Workbook

Status
Niet open voor verdere reacties.

Kristinho1978

Gebruiker
Lid geworden
2 jul 2015
Berichten
96
Vraagje - Ik had eerst een bestandje ReportCopy.xlsx, maar dat heb ik omgezet naar een xlsm file.

Nu werkt hellaas onderstaande macro in mijn Consolidatiefile niet meer, waarschijnlijk omdat deze naar een "Workbook" verwijst. Dat zal wel een ander naampje moeten worden :)
Wat zou ik moeten veranderen aan de macro zodat ie weer werkt?





Sub Naming()

Dim WBK As Workbook
Dim Werkboek As String
Dim Path As String
Dim LastRow As Long
Dim i As Long

Path = "C:\Reports\"

Sheets("Reportcopy files").Select

With ActiveSheet
LastRow = .Cells(.Rows.Count, "B").End(xlUp).Row
End With

For i = 5 To LastRow
Application.StatusBar = "Step " & i & "/" & LastRow
Werkboek = Cells(i, 2) & ".xlsm"

Application.ScreenUpdating = False
Set WBK = Workbooks.Add("C:\Consolidation file\Reportcopy.xlsm")
WBK.SaveAs Path & Werkboek
WBK.Close True
Set WBK = Nothing
Application.ScreenUpdating = True

Next i

End Sub
 
Maak er eens dit van:
WBK.SaveAs Path & Werkboek, FileFormat:=52
 
Laatst bewerkt:
Wees slim: gebruik .xlsb (.fileformat 50) in plaats van .xlsm (.fileformat 52)

Misschien loopt dit wel veel sneller:

Code:
Sub M_snb()
  sn=Sheets("Reportcopy files").columns(2).specialcells(2)

  with workbooks.add("C:\Consolidation file\Reportcopy.xlsm")
    .savesas "C:\Reports\" & sn(1,1) & ".xlsb",50
    .close 0
  end with

   for j=2 to ubound(sn)
     name "C:\Reports\" & sn(1,1) & ".xlsb" As "C:\Reports\" & sn(j,1) & ".xlsb"
   next
End Sub
 
Laatst bewerkt:
Op zich een goed advies, maar als het document gebruikt wordt voor uitwisseling met een ander OpenXML product gaat dat niet werken. Dat moet TS dus maar even bepalen :)
 
Dat is wat mij is verteld, de exacte ins en outs weet ik (nog) niet.
 
Valt waarschijnlijk in de categorie 'sprookjes'.
Zonder meer kennis lijkt mij jouw stelling te stellig.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan