Print side | Luk vindue

Gem ark/side med ark navn

Udskrevet fra: Dansk Regneark Forum
Kategori: Hjælp til regneark.
Forum navn: Makro og VBA
Forum beskrivelse: Hjælp til Makroer og VBA-programmering
Web-adresse: https://forum.excel-regneark.dk/forum_posts.asp?TID=3807
Udskrevet den: 28.Apr.2024 kl. 16:30


Emne: Gem ark/side med ark navn
Besked fra: Leonhardt
Emne: Gem ark/side med ark navn
Posteringsdato: 19.Feb.2019 kl. 18:47
Hej 

Er der en der ved om jeg kan lave en makro, som vil gem være Ark/side eller hedder det en fane.
jeg har et ark, hvor jeg ligge en masse rå data ind i ark 1, så har jeg lavet en makro, som del hver afdeling ud på hver deres ark. også klipper og sæt jeg ind i et som hver afdeling får deres egne fil. 

men kan man lave en makro til det??.

MVH
René


-------------
Jeg bruger 365 og 2016



Svar:
Besked fra: Ib Hansen
Posteringsdato: 20.Feb.2019 kl. 11:19
Prøv denne.
Den gemmer arket samme sted som det oprindelige ark, men lukker ikke arket, efter det er gemt.
Private Sub CommandButton1_Click()
    MName = ActiveSheet.Name & ".xlsm"
    MDir = ActiveWorkbook.Path
    ActiveWorkbook.SaveAs Filename:=MDir & "\" & MName
End Sub

Ps. Koden fundet ved Google søgning og det er altid en god ide at starte der Wink


-------------
Excel 2010 Dk og 2019 Dk på samme computer.
Bruger dog stadig mest 2010..
Men sådan er der jo så majet :o)


Besked fra: Leonhardt
Posteringsdato: 20.Feb.2019 kl. 18:05
Hej Ib

Jeg har prøvet flere af dem jeg har goolge, men de gør det samme som den her, gemmer hele fil med alle ark. og ikke kun den et Ark pr ny fil.

MVH
René


-------------
Jeg bruger 365 og 2016


Besked fra: Michael D
Posteringsdato: 22.Feb.2019 kl. 09:46
Hej Leonhardt,

Du skal først kopiere arkene i et nyt workbook og derefter gem. Se f.eks.:


Sub copy_and_save_sh_to_wb()
Dim newWb       As Workbook
Dim sh          As Worksheet
Dim n           As String
Dim currDir     As String

currDir = ThisWorkbook.Path

For Each sh In ThisWorkbook.Worksheets
    
    n = sh.Name
    Set newWb = Application.Workbooks.Add
    sh.Copy before:=newWb.Worksheets(1)
    Application.DisplayAlerts = False
        newWb.Worksheets(2).Delete
        newWb.SaveAs currDir & "\" & n & ".xlsx"
        newWb.Close
    Application.DisplayAlerts = True
    
Next sh

End Sub


Håber det hjælper.

vh,
Michaël



Print side | Luk vindue