Hierbij de code:
Private Sub CBtnOk_Click()
' Definities
Password = "bg9bzqb3"
Invoer = FrmPassword.TBPassword.Value
Titel1 = "Fout"
Bericht1 = "Wachtwoord is niet correct. Let op de spelling, en controleer of CAPS-lock niet aanstaat!"
Stijl1 = vbRetryCancel + vbCritical + vbDefaultButton1
Titel2 = "Tot Ziens!"
Bericht2 = "U gaat terug naar het Invulblad"
Stijl2 = vbOKOnly + vbInformation
' Formulier uit geheugen verwijderen
Unload FrmPassword
' Controleren of ingevoerd wachtwoord juist is
If Invoer = Password Then
'routine uitvoeren
' Uren van de mensen waar uren ingevuld zijn,
' wegschrijven naar totaal overzicht
' Beveiliging werkbladen uitschakelen
With Worksheets("Wavin Lash")
.Activate
.Cells(11, 6).Select
.Cells(11, 6).Activate
End With
Worksheets("Invulblad").Unprotect Password:="Drowssap"
Worksheets("Wavin Lash").Unprotect Password:="Drowssap"
Worksheets("Totalen Overzicht").Unprotect Password:="Drowssap"
' Zoeken naar een naam
For Each NaamCel In Range("Naam2")
If Not NaamCel.Value = "" Then
naam = NaamCel.Value
rij = NaamCel.Row
' is er iets ingevuld in deze rij?
For c = 6 To 26
Set Zoekcel = Worksheets("Wavin Lash").Cells(rij, c)
If Not Zoekcel.Value = "" Then
Exit For
End If
Next c
If Not Zoekcel.Value = "" Then
' Eerste lege cel in kolom B zoeken
Set Doelcel = Worksheets("Totalen overzicht").Cells(4, 2)
Do While Not IsEmpty(Doelcel)
Set nextcell = Doelcel.Offset(1, 0)
Set Doelcel = nextcell
Loop
' weeknummer in de eerste kolom van doelblad plaatsen
r = Doelcel.Row
datumplak = Worksheets("Totalen overzicht").Cells(r, 1).Address(RowAbsolute:=False, ColumnAbsolute:=False)
Worksheets("Wavin Lash").Range("C6").Copy
Worksheets("Totalen overzicht").Range(datumplak).PasteSpecial _
Paste:=xlPasteValues
' bereik bepalen op doelblad
Bereik = Doelcel.Address(RowAbsolute:=False, ColumnAbsolute:=False)
' bron bepalen op bronblad
Bronbegin = Worksheets("Wavin Lash").Cells(rij, 1).Address(RowAbsolute:=False, ColumnAbsolute:=False)
Broneinde = Worksheets("Wavin Lash").Cells(rij, 26).Address(RowAbsolute:=False, ColumnAbsolute:=False)
' bronwaarden kopieren naar doelblad
Worksheets("Wavin Lash").Range(Bronbegin, Broneinde).Copy
Worksheets("Totalen overzicht").Range(Bereik).PasteSpecial _
Paste:=xlPasteValues
End If
End If
Next NaamCel
' knoppen verbergen...
Blad2.UrenVerwerken.Visible = False
' het actieve excel-bestand verzenden via e-mail
Weeknummer = Str(Worksheets("Invulblad").Range("e6").Value)
Onderwerp = "Urenlijst Wavin Lash Week" + Weeknummer
ActiveWorkbook.SendMail Recipients:=Array("de diverse e-mail-adressen"), Subject:=Onderwerp
' urenlijst leeg maken
Worksheets("Invulblad").Range("NormUren").ClearContents
Worksheets("Invulblad").Range("BijzUren").ClearContents
' weeknummer aanpassen
Worksheets("Invulblad").Activate
VorigJaar = Year(Date) - 1
EVJ = DateSerial(VorigJaar, 12, 31)
NwWeekNr = DateDiff("ww", EVJ, Date, vbMonday, vbFirstFourDays) + 1
With Worksheets("Invulblad")
.Range("E6") = NwWeekNr
.Cells(6, 5).Select
.Cells(6, 5).Activate
End With
' knoppen weer zichtbaar maken
Blad2.UrenVerwerken.Visible = True
' Werkbladen beveiligen
Worksheets("Invulblad").Protect Password:="Drowssap"
Worksheets("Wavin Lash").Protect Password:="Drowssap"
Worksheets("Totalen Overzicht").Protect Password:="Drowssap"
' bestand opslaan
ActiveWorkbook.Save 'en hier gaat het fout...
Else
Knop = MsgBox(Bericht1, Stijl1, Titel1)
Select Case Knop
Case Is = 4
FrmPassword.Show
Case Is = 2
Result = MsgBox(Bericht2, Stijl2, Titel2)
Worksheets("Invulblad").Activate
End Select
End If
End Sub
Wat schort er aan?