PNG32 PNG32 PNG32 PNG32
PNG32
Forum Excel, VBA, VSTO, Exceltips, Excelhj�lp PNG32 drivs av Excelspecialisten    Logga in     English
PNG32
PNG32 PNG32
PNG32

Logga in

PNG32

Du är inte inloggad. Logga in eller registrera dig för att skriva inlägg eller svara på inlägg.

För frågor om forumet, kontakta oss på webmaster@excelforum.se

PNG32 PNG32
PNG32 PNG32
PNG32

Excelforum

PNG32

 
ForumForumDiskussionerDiskussionerExcelExcelSpara makroSpara makro
Föregående Föregående
 
Nästa Nästa
Nytt inlägg
 2020-04-06 10:56
 

Jag vill spara ett makro som till viss del ändrar originaldokumentet, ex tar bort flikar som jag inte längre behöver efter att makrot körts. Sedan sparar jag en inte lika tung fil utan flikarna. Jag vill ändå att dessa flikar ska finnas kvar i originaldokumentet. Hur gör jag för att spela in och spara makrot utan att spara dokumentet när flikarna är borttagna. Känns som jag hamat i ett moment 22. 

Nytt inlägg
 2020-04-06 12:30
 

 https://docs.microsoft.com/en-us/office/vba/api/excel.workbook.savecopyas

Nytt inlägg
 2020-04-08 07:47
 
 Ändrad av Christian  på 2020-04-08 07:48:21
Hej hej

Det är ett moment 22. Är nog svårt om inte omöjligt att få till det med en inspelning. Krävs manuella modifikationer på nästan all kod.. NEdan finns lite kod du kan använda. se till att ändra namn på bladen så att de motsvarar bladen du inte vill ska kopieras över till nya boken.

Sub CopyToNewWB()

Dim c As New Collection: Set c = addSheets(c)
Dim i As Long

Application.ScreenUpdating = False
Application.DisplayAlerts = False

Dim tmpWB As Workbook: Set tmpWB = Workbooks.Add
Dim tWB As Workbook: Set tWB = ThisWorkbook

For i = c.Count To 1 Step -1
tWB.Worksheets(c.Item(i)).Copy after:=tmpWB.Sheets(1)
Next i

tmpWB.Sheets(1).Delete

Application.ScreenUpdating = True
Application.DisplayAlerts = True

End Sub
Private Function addSheets(c As Collection) As Collection

Dim ws As Worksheet
Dim ExludeFromCol As Variant: ExludeFromCol = Array("Blad2", "Blad3")
Dim i As Long
Dim exclude As Boolean

'Lägg till sheets till collection
For Each ws In ThisWorkbook.Sheets
exclude = False
For i = 0 To UBound(ExludeFromCol, 1)
If ws.Name = ExludeFromCol(i) Then
exclude = True
End If
Next i
If Not exclude Then
c.Add ws.Name
End If
Next ws

Set addSheets = c

End Function
Föregående Föregående
 
Nästa Nästa
ForumForumDiskussionerDiskussionerExcelExcelSpara makroSpara makro

PNG32 PNG32
Excelforum drivs av Excelspecialisten som bedriver utbildning i Excel och VBA, tillhandahåller support och hjälp med Excel, utvecklar program i Excel. Är ni i behov av en konsult inom Excel, VBA eller VSTO, eller söker en excelkurs, kontakta oss.
Copyright 2013 ExcelSpecialisten XLS AB   Användarvillkor  Personliga uppgifter