opslaan bestand werkt niet (meer)

Status
Niet open voor verdere reacties.

LeonieK12

Gebruiker
Lid geworden
9 jan 2013
Berichten
36
Besten,

ik ben bezig met het maken van een formulier, met hierop een knop om de info uit het formulier op te slaan in een bestand. Dit bestand moet de naam krijgen met de waarde uit een cel (C2 in dit geval). Nu heeft de macro gewerkt, en na enige wijzigingen werkt hij niet meer. Hopelijk kan iemand aangeven waar ik overheen kijk. De bestandslocatie heb ik in de code hieronder ingekort, en die klopt (4 dubbele check inmiddels) ;-).

Code:
Private Sub cmbPersKKOpslaan_Click()

'zoeken naar lege cel na C3 (=C3) en deze activeren
Cells.Find(what:="", After:=Range("C3"), LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False).activate

'invullen functie
    With Sheets("technische kennis CNS")
        ActiveCell.Offset(0, 0) = Me.cmbFunctie.Value
    End With
        
'zoeken naar lege cel in rij jaar en deze activeren (WERKT)
Cells.Find(what:="", After:=Range("C4"), LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False).activate

'invullen van de score (WERKT)
    With Sheets("technische kennis CNS")
        ActiveCell.Offset(0, 0) = Me.txtJaar.Value
        ActiveCell.Offset(1, 0) = etc. 
    End With
  
'opslaan persoonlijke kenniskaart met naam van werknemer
Dim Bestandsnaam As String
Bestandsnaam = "G:.....\" & Range("C2").Value & ".xlsm"
ThisWorkbook.SaveAs Bestandsnaam
    
 'openen werkboek afdelingsoverzicht kenniskaart CNS 
Workbooks.Open ("G:\04_Monodisciplinary\01_Knowledge_Development\Knowledge Management\kennis in kaart\2.under construction\K.I.K. templates under construction\proefversies\CNS\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 = True
        
 'zoeken naar 1e lege cel in afdelingsoverzicht discipline CNS (WERKT)
    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
            ActiveCell.Offset(0, 0) = Me.cmbFunctie.Value
            etc.
        End With
        
'opslaan afdelingsoverzicht discipline CNS
ThisWorkbook.Save
ActiveWorkbook.Close
              
'alle velden leeg maken
        Me.txtAppBowStern.Value = ""
        etc.
End Sub
 
Leonie,

In je code wordt gekeken naar de cel C2 om de naam te bepalen (Bestandsnaam = "G:.....\" & Range("C2").Value & ".xlsm").
Er wordt echter niet gekeken welk tabblad op dat moment actief is. Kan het zijn dat hij de cel C2 van een verkeerd
tabblad gebruikt? Ik stel voor om je bestandsnaam op te halen met:
Bestandsnaam = "G:.....\" & Sheets("DitIsDeCorrecteSheet").Range("C2").Value & ".xlsm"

Veel Succes.
 
Beste Elsendoorn2134,

hartelijk dank voor de suggestie, het werkt. Deze komt declaratie komt mij niet onbekend voor, maar ik was inmiddels een beetje blind gestaard ;-). Ik ga weer verder hobby-en.

Leonie
 
En.....

Vermijd 'Select' en 'Activate' in VBA.
 
beste SNB,

Hartelijk dank voor je aanvulling. Deze opmerking heb ik al regelmatig voorbij zien komen in de verschillende topics en op de verschillende fora. Ik ben echter al heel blij dat mijn code nu grotendeels werkt. Wellicht dat ik hem nog eens ga verbeteren als ik klaar ben, maar voorlopig ben ik al heel blij met wat ik heb geknutseld zonder enige VBA ervaring ;-).
 
Wees niet te snel tevreden....
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan