Standaard sheet layout kopieeren bij aanmaken nieuwe sheet

Status
Niet open voor verdere reacties.

Royzilla

Gebruiker
Lid geworden
10 apr 2014
Berichten
187
Goedemorgen beste Helpmij-ers,

Om maar meteen met de deur in huis te vallen, ik ben bezig met wat tabellen en data. Dit wordt bij gehouden voor elk jaar. Is er een mogelijkheid dat er met behulp van een Macro de standaard sheet (indit geval sheet1) gekopieeërd wordt als er gedrukt wordt op "New Sheet". Zodat als deze dan aangeklikt is dat er meteen de standaard layout staat?

Mijn layout heb ik staan in een voorbeeld bestandje. Kan iemand me een beetje helpen? :D!
Bekijk bijlage TestFile.xlsm
 
Ik gebruik zelf deze macro:
Code:
Sub Opslaan()
ActiveWorkbook.SaveAs "F:map1" & Sheets("Blad1").Range("C3") & Sheets("Blad1").Range("C4").Value & ".xls"
End Sub

Hiermee word de bestandsnaam dus een samenvoeging van Cell C3 en C4 van mijn 1e blad en in de map F:map1 opgeslagen. Misschien is de aanpassing van xls naar xlsm nodig. Voor mij heeft deze altijd gewerkt, weet ook niet of die aanpassing veel effect heeft.

Edit: Je moet dus wel de 1e keer het bestand opslaan als standaard en daarna met invulling van de gekozen cellen de macro starten. Ik heb hier zelf een knop opslaan voor op het blad gezet.
 
Laatst bewerkt:
Code:
 Sheets("LEEG").Visible = True
          Sheets("LEEG").Copy After:=Worksheets(Worksheets.Count)
          ActiveWindow.ActiveSheet.Name = NewPageName
          Sheets("LEEG").Visible = False

Deze code gebruik ik in mijn document waarbij ik dus een standaard werkblad heb gemaakt genaamd "LEEG". Als er op een knop wordt gedrukt maakt hij dus een nieuw formulier aan. NewPageName is hierbij een variabele waarbij ik in een invoerformulier de gebruiker vraag welke naam het nieuwe tabblad moet hebben.
 
Sla eerst het 'sjabloon' werkblad eenmalig op als een apart Excelbestand:

Code:
Sub M_snb()
    Sheet1.Copy
    ActiveWorkbook.SaveAs "G:\OF\sjabloon 001.xlsm", ThisWorkbook.FileFormat
    ActiveWorkbook.Close 0
End Sub

Daarna kun je zo vaak je wil en in welk bestand dan ook een nieuw werkblad invoegen op basis van dat sjabloon:

Code:
Private Sub knop_nieuw_Click()
    Sheets.Add(, Sheets(Sheets.Count), , "G:\OF\sjabloon 001.xlsm").Name = InputBox("werkbladnaam", "")
End Sub
 
Vraagje aan SNB

Ik heb een nieuw Excelbestand aangemaakt. Heb in Sheet1 mijn layout die ik steeds wil kopiëren.
Als ik dan dat stukje code toevoeg, en ik sla hem op in een map, krijg ik een error maar zie ik hem even later wel tussen de projecten staan.

Error:
Run-time error '1004':
Application-defined or object error.

Code:
Sub M_snb()
    Sheet1.Copy
    ActiveWorkbook.SaveAs "D:\Users\APSBA\Documents\sjabloon 001.xlsm", ThisWorkbook.FileFormat
    ActiveWorkbook.Close 0
End Sub
 
F8 is de sleutel bij het localiseren van foutmeldingen.

Ik ga ervan uit dat het een 'gewoon' werkblad is: geen samengevoegde cellen , geen beveiliging, etc.
 
Nog bedankt :) het is opgelost want hij was nog niet opgeslagen in de jusite map, het werkt prima nu!

Dankjewel!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan