combinatie van verschillende werkboeken opslaan, sluiten en niet sluiten

Status
Niet open voor verdere reacties.

LeonieK12

Gebruiker
Lid geworden
9 jan 2013
Berichten
36
Besten,

Ik ben nog bezig met mijn excel-klus. Ik heb een bestand met daarin een formulier (LEGE KENNISKAART CNS). Dit formulier moet ingevuld worden en dan moet de inhoud als nieuw bestand worden opgeslagen / weggeschreven (naam van het bestand komt uit cel C2 van lege kenniskaart cns). Daarnaast moeten de gegevens uit het formulier in een ander bestand worden weggeschreven (afdelingsoverzicht discipline CNS). Dit gaat op zich best goed. Nu wil ik graag dat het bestand Lege Kenniskaart CNS ook geopend blijft. Ik zie graag jullie suggesties.


Code:
Private Sub cmbPersKKOpslaan_Click()

'heleboel overbodige code bij mijn vraag verwijderd....

        ActiveCell.Offset(48, 0) = Me.txtLocVibr.Value
    End With
    
       
    'opslaan persoonlijke kenniskaart met naam van werknemer
    Dim Bestandsnaam As String
    Bestandsnaam = "G:\..........\" & Sheets("technische kennis CNS").Range("C2").Value & ".xlsm"
    ThisWorkbook.SaveAs Bestandsnaam
    
 'openen werkboek afdelingsoverzicht kenniskaart CNS (= bestaande bestand, WERKT > AFDELINGSOVERZICHT OPENT NU ZICHTBAAR, ACTIVEWINDOW.VISIBLE = TRUE OMZETTEN NAAR FALSE OM NIET ZICHTBAAR TE KRIJGEN)
    Workbooks.Open ("G:\.........\afdelingsoverzicht kenniskaart CNS.xlsm")

'activeren juiste sheet, d.w.z. sheet met juiste jaartal
    Application.Goto Sheets(txtJaar.Value).Cells(1)
    
'afdelingsoverzicht kenniskaart CNS wordt niet zichtbaar geopend
    ActiveWindow.Visible = False
        
 'zoeken naar 1e lege cel in afdelingsoverzicht discipline CNS 
    Cells.Find(what:="", After:=Range("A2"), LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False).activate
    
 'invullen waarden uit formulier in afdelingsoverzicht discipline CNS
     With ActiveCell
           ........
        End With
        
'opslaan afdelingsoverzicht discipline CNS
ActiveWorkbook.Save

        ..........
End Sub
 
Hallo Elsendoorn,

hartelijk dank voor je reactie. Ik ga daar eens even kijken.
 
Beste Elsendoorn en anderen,

Ik ben aan het spelen geweest met de voorgestelde methode (Workbook.SaveCopyAs). Dit levert in mijn code echter niet het gewenste resultaat op. De gegevens van het formulier worden in de het bestand lege kenniskaart CNS ingevuld en dit wordt opgeslagen, onder de reeds bestaande naam lege kenniskaart CNS. Wat ik graag zou willen is dat het bestand lege kenniskaart CNS ook daadwerkelijk leeg blijft (en dus als een template te gebruiken is) en geopend blijft. De persoonlijke kenniskaart moet ook open blijven, en de het afdelingsoverzicht moet weer sluiten na invullen van de gegevens. Iemand nog eens suggestie?

Alvast bedankt.
 
Even anders denken:

1 bestand met 1 userform en 1 werkblad waar de gegevens (iedere userform-gegeven krijgt een eigen kolom in het werkblad) uit het userform moeten worden weggeschreven.
Ik veronderstel dat de gegevens van iedere persoon in 1 rij in het werkblad worden weggeschreven; iedere persoon heeft een unieke identificatiecode en bij iedere persoon staat ook tot welke afdeling hij/zij behoort.
Dat begint al aardig op een database te lijken.
Maak in je denken een onderscheid tussen de invoer van gegevens (userform), de opslag van gegeveens (een zo kaal mogelijke database in een werkblad) en de presentatie van gegevens (bijv. een gefilterd werkblad, een draaitabel of grafiek)

Wil je een overzicht per persoon, dan filter je in het werkblad op de unieke identificatiecode van de persoon.
Wil je een overzicht per afdeling, dan filter je in het werkblad op de unieke code van de afdeling.

Zo heb je maar 1 Werkboek, met 1 werkblad en 1 userform nodig.
 
Laatst bewerkt:
SNB,

hartelijk dank voor je input. Je voorstel voor de opbouw van de bestand, userforms en werkbladen is logisch, echter wil ik ook per persoon een bestandje opbouwen, met daarin gegevens over meerdere jaren. Dus vandaar dat er per persoon ook informatie opgeslagen moet worden. Ik heb inmiddels ook een oplossing gevonden voor mijn 'probleem'. De opslaan commando's heb ik niet veranderd, en ik heb een knop toegevoegd waarmee het lege document geopend wordt als dit niet open is. En als het al wel open is wordt dit geactiveerd. Doordat deze knop ook wordt meegekopieerd bij opslaan, komt hij in alle bestanden te staan (wat ook gewenst is). Nu worden de gewenste bestanden gemaakt en de gegevens op de gewenste plaats weggeschreven.

Een ieder hartelijk dank voor de input en ik ga weer verder hobby-en en stoeien met mijn excelproject.
 
...echter wil ik ook per persoon een bestandje opbouwen, met daarin gegevens over meerdere jaren. Dus vandaar dat er per persoon ook informatie opgeslagen moet worden....
Reden temeer om geen aparte bestanden te maken maar voor ieder persoon zoveel rijen als je gegevens per jaar van hem/haar op wil slaan in de database op te nemen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan