Wijzigen van Private Workbook bij opslaan naar nieuw bestand

Status
Niet open voor verdere reacties.

amarob

Gebruiker
Lid geworden
23 feb 2014
Berichten
68
Hallo,

Ik heb een beslisboom gemaakt in Excel. Bij het openen van het bestand wordt de beslisboom helemaal leeg gemaakt zodat men een schone beslisboom heeft die ingevuld kan worden. Er zit ook een macro in om het bestand op te slaan als een nieuw bestand in een andere werkmap. Reden daarvoor als de medewerker niet klaar is met het invullen van de beslisboom en zijn werk niet verloren wilt laten gaan. Maar bij het openen van dat nieuwe bestand wordt dan automatisch de beslisboom weer leeg gehaald wat bij dat nieuwe bestand niet de bedoeling is. Is het nu mogelijk om in de code van het opslaan van dat nieuwe bestand de code te wijzigen van de private sub workbook open? De rode tekst in onderstaande code is in het nieuwe bestand niet meer van toepassing. Maar wel op een dusdanige manier dat deze ongewijzigd blijft in het oorspronkelijke bestand.

Alvast bedankt voor jullie hulp.



Private Sub Workbook_Open()

Sheets("beslisboom").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="321welkom"

Application.Calculation = xlAutomatic


Sheets("beslisboom").Select
Application.Run _
"alles_leeg_maken"


ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFormattingCells:=True, AllowFiltering:=True, Password:="321welkom"

Range("C5").Select
ActiveWindow.SmallScroll Down:=-90

End Sub

Sub opslaan_tussentijds()
'
' opslaan_tussentijds Macro
'

'

Sheets("beslisboom").Select
FacName = ActiveSheet.Range("C6").Value & "-" & Range("C7").Value & "-" & Range("C5").Value

ActiveWorkbook.SaveAs Filename:= _
"K:\MO\CAV tussentijds opslaan\CAV beslisboom - " & FacName & ".xlsm" _
, FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
Application.Quit
End Sub
 
Laatst bewerkt:
Maak een knop op het werkblad waarmee de gebruiker een beslisboom leeg kan maken, dan hoef je er in de Workbook_Open niets mee te doen.
Of controleer of ThisWorkbook.Path gelijk is aan "K:\MO\CAV tussentijds opslaan" en als dat zo is dan het leeg maken overslaan.
 
Laatst bewerkt:
Edmoor
Bedankt voor je reactie. Die knop waarmee de gebruiker de beslisboom zelf leeg kan maken die had ik al ingebouwd. Maar om te voorkomen als ze die vergeten te gebruiken heb ik die dus ook ingebouwd bij het openen van het bestand. Maar met negatief bijeffect van het probleem dat ik heb aangekaart.

Je 2e opmerking begrijp ik niet helemaal. Hoe doe ik dat dan?
 
Plaats de code eerst eens tussen codetages en nog beter plaats het bestand.

Code:
if ThisWorkbook.Path = "K:\MO\CAV tussentijds opslaan" then
 
Code:
thisworkbook.fullname
Lijkt me meer bestand tegen ondeskundigheid.
 
Edmoor en VenA
Bedankt voor jullie reactie. Bij elkaar heeft het mij tot de oplossing gebracht. En doet de code van het oorspronkelijke bestand en van het nieuwe bestand datgene wat ik wil.
heel veel dank voor jullie hulp.
 
Als de kopie per ongeluk in dezelfde map komt heb je alsnog niets.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan