• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Met macro ingevoegde rij vergrendelen na invullen

Status
Niet open voor verdere reacties.

SieJa

Nieuwe gebruiker
Lid geworden
11 mrt 2022
Berichten
3
Vraagje,

Ik wil graag een Excel bestand waarbij ik middels een button (macro) een rij invoeg in een beveiligd blad, het blad moet vergrendeld zijn behalve de button dus, zodra van de ingevoegde rij de cellen zijn gevuld moet het blad weer beveiligd worden, wel moet de onderliggende formule worden uitgevoerd. ook moeten de naar onderen geplaatste rijen zichtbaar blijven maar wel vergrendeld.

Als iemand een idee/oplossing heef hoor ik het graag.
 

Bijlagen

Als het blad vergrendeld is kan je niks in de cellen invullen.
Probeer dit eens achter die knop:
Code:
Private Sub CommandButton1_Click()
    ActiveSheet.Unprotect
    Range("C9:G9").Locked = True
    Range("C9").EntireRow.Insert Shift:=x1Down
    Range("D3").Formula = "=SUM(D9:D15)"
    Range("D4").Formula = "=SUM(E9:E15)"
    Range("C9:G9").Locked = False
    ActiveSheet.Protect
End Sub
 
Laatst bewerkt:
Dank Edmoor

Dit is inderdaad zoals ik heb bedoelt, heb nog een regel toegevoegd dat er een melding komt dat alle velden moeten worden ingevuld, maar is het ook zo te maken dat er pas weer een nieuwe regel kan worden toegevoegd als de reeks C9:D9 is ingevuld?

Mvg SieJa
 
Zo bijvoorbeeld:
Code:
Private Sub CommandButton1_Click()
    For Each cl In Range("C9:G9")
        If cl.Value = "" Then
            MsgBox "Een verplicte cel is niet gevuld:" & vbCrLf & UCase(cl.Offset(-1)), vbCritical, "Verplicht"
            cl.Activate
            Exit Sub
        End If
    Next cl

    ActiveSheet.Unprotect
    Range("C9:G9").Locked = True
    Range("C9").EntireRow.Insert Shift:=x1Down
    Range("D3").Formula = "=SUM(D9:D15)"
    Range("D4").Formula = "=SUM(E9:E15)"
    Range("C9:G9").Locked = False
    ActiveSheet.Protect
End Sub
 
Laatst bewerkt:
Edmoor perfect,

Nu nog een laatste vraag, als ik het blad beveilig met een wachtwoord, dan moet eerst het wachtwoord ingevuld worden als ik op de invul button klik, voor ik verder kan. Is het ook mogelijk om het blad beveiligd te houden na het aanklikken van de invulknop?

Alvast dank.
 
Maak er dan dit van:
Code:
ActiveSheet.Unprotect "Je Wachtwoord"
ActiveSheet.Protect "Je Wachtwoord"
 
Zie af van 'beveiliging'.
En zeker van irritante overbodige wachtwoorden (terwijl eenieder met unieke Windows-gebruikersnaam is ingelogd).
Maak het werkblad met gegevens onzichtbaar (.Visible=2).
Geef de gebruiker een Userform als invoerscherm en toon in dat invoerscherm de minimaal noodzakelijke gegevens voor de gebruiker.
Handel de opslag van gegevens af in de Userform_Queryclose gebeurtenis.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan