Avatar billede Klaus W Ekspert
15. juni 2022 - 21:22 Der er 4 kommentarer og
1 løsning

Gem ark i anden workbook med navn fra celle uden formler

Hej
Jeg bruger denne VBA-kode, til at gemme et ark i en anden workbook med navn udfra celle.
Det funger godt nok, men det tager rigtig lang tid for Excel, da der er en del formler i det ark der skal kopiers til en ny workbook. Nogle der kan hjælpe så excel ikke tager formlerne med over.
Hilsen Klaus W

Sub Rektangelafrundedehjørner1_Klik()

Sheets("Bestilling").Copy

    Application.Dialogs(xlDialogSaveAs).Show Range("G2").Value, 51

End Sub
Avatar billede Jan Hansen Ekspert
22. juli 2022 - 09:09 #1
Hej Klaus

Tror følgende vil fungere

Dim Name As String

Set WS = Sheets("Bestilling")
Set NameCell = WS.Range("G2")
Name = NameCell.Value

WS.Copy
WB = Workbook.Add
WB.Name = Name
NewSheet = WB.Sheets(1)

NewSheet.Name = WS.Name
NewSheet.PasteSpecial Paste:=xlPasteValues

WB.SaveAs Name

End Sub
Avatar billede Klaus W Ekspert
22. juli 2022 - 18:14 #2
Hej Jan
Jeg kan ikke få den til at køre eller den køre og køre og laver efter lang tid en kopi med navne Mappe.
Der kommer også en fejl meddelse i VBA-koden
WB = Workbook.Add
Jeg lægger den op i onedrive hvis du vil hjælpe videre.
Hilsen Klaus

https://1drv.ms/x/s!AmLaaGiC5LdoicgQ7ulIWqkfdD185g?e=yjjIZb
Avatar billede Jan Hansen Ekspert
23. juli 2022 - 09:01 #3
Hej igen

mon dette ikke kan bruges:

[Sub MM1()
Application.ScreenUpdating = False
'----------/Døber variable/--------------'
Dim CopyWb As Workbook, PasteWB As Workbook
Dim CopyWS As Worksheet, PasteWS As Worksheet
Dim NameCell As Range
Dim Name As String
'----------/Tildeler variable indhold/--------------'
Set CopyWb = ThisWorkbook
Set CopyWS = CopyWb.Sheets("Bestilling")
Set NameCell = CopyWS.Range("G2")
Set PasteWB = Workbooks.Add
Set PasteWS = PasteWB.Sheets(1)
Name = NameCell.Value
'----------/Navngiver ark 1/--------------'
PasteWS.Name = CopyWS.Name
'----------/Tager en kopi af cellerne i "bestilling"/--------------'
CopyWS.Cells.Copy
'----------/formaterer og overfører data til det nye ark/--------------'
PasteWS.Cells.PasteSpecial xlPasteValues
PasteWS.Cells.PasteSpecial xlPasteFormats
PasteWS.Rows("9").Select
ActiveWindow.FreezePanes = True
PasteWS.Range("A1").Select
Application.CutCopyMode = False
'----------//--------------'
Application.ScreenUpdating = True

Application.Dialogs(xlDialogSaveAs).Show Name, 51
   
Msgbox_BeforeRunning

End Sub

]
Mvh Jan
Avatar billede Jan Hansen Ekspert
23. juli 2022 - 09:03 #4
Sub MM1()
Application.ScreenUpdating = False
'----------/Døber variable/--------------'
Dim CopyWb As Workbook, PasteWB As Workbook
Dim CopyWS As Worksheet, PasteWS As Worksheet
Dim NameCell As Range
Dim Name As String
'----------/Tildeler variable indhold/--------------'
Set CopyWb = ThisWorkbook
Set CopyWS = CopyWb.Sheets("Bestilling")
Set NameCell = CopyWS.Range("G2")
Set PasteWB = Workbooks.Add
Set PasteWS = PasteWB.Sheets(1)
Name = NameCell.Value
'----------/Navngiver ark 1/--------------'
PasteWS.Name = CopyWS.Name
'----------/Tager en kopi af cellerne i "bestilling"/--------------'
CopyWS.Cells.Copy
'----------/formaterer og overfører data til det nye ark/--------------'
PasteWS.Cells.PasteSpecial xlPasteValues
PasteWS.Cells.PasteSpecial xlPasteFormats
PasteWS.Rows("9").Select
ActiveWindow.FreezePanes = True
PasteWS.Range("A1").Select
Application.CutCopyMode = False
'----------//--------------'
Application.ScreenUpdating = True

Application.Dialogs(xlDialogSaveAs).Show Name, 51
   
Msgbox_BeforeRunning

End Sub
Avatar billede Klaus W Ekspert
23. juli 2022 - 16:43 #5
Hej Jan 1000 tak lige i skabet.

KW
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Excel-kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester