• 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.

Overschrijfbeveiliging

Status
Niet open voor verdere reacties.

Floris1983

Gebruiker
Lid geworden
5 aug 2020
Berichten
21
Goedenavond beste heren en dames,

Voor een database (op de simpelste manier maar wel overzichtelijk voor een amateur als ik) ben ik op zoek naar een overschrijfbeveiliging. In gebruik door verschillende personen is gebleken dat de selectiebox (Sheets("Formuleblad").Range("B1")+3 met de nummering weleens niet aangepast wordt en de gegevens dus overschreven worden.

Ik heb wat gezocht en geprobeerd maar kom er nog niet helemaal uit, in principe is een overschrijfbeveiliging (vbYesNo) van de eerste kolom in de database al genoeg.

Code:
Public Sub Database()



rij = Sheets("Formuleblad").Range("B1") + 3

Sheets("Database").Range("B" & rij) = Range("B8") 'port1
Sheets("Database").Range("C" & rij) = Range("D8") 'port1_distance
Sheets("Database").Range("D" & rij) = Range("E8") 'Port1_arrival
Sheets("Database").Range("E" & rij) = Range("F8") 'Port1_arrivalplt
Sheets("Database").Range("F" & rij) = Range("G8") 'Port1_arrivallm
Sheets("Database").Range("G" & rij) = Range("H8") 'Port1_activity
Sheets("Database").Range("H" & rij) = Range("I8") 'Port1_arrivalgo
Sheets("Database").Range("I" & rij) = Range("J8") 'Port1_arrivallo
Sheets("Database").Range("J" & rij) = Range("K8") 'Port1_arrivalfw
Sheets("Database").Range("K" & rij) = Range("L8") 'Port1_startactivity
Sheets("Database").Range("L" & rij) = Range("M8") 'Port1_completionactivity
Sheets("Database").Range("M" & rij) = Range("N8") 'Port1_Departure
Sheets("Database").Range("N" & rij) = Range("O8") 'Port1_departureplt
Sheets("Database").Range("O" & rij) = Range("P8") 'Port1_departurelm
Sheets("Database").Range("P" & rij) = Range("Q8") 'Port1_departurego
Sheets("Database").Range("Q" & rij) = Range("R8") 'Port1_departurelo
Sheets("Database").Range("R" & rij) = Range("S8") 'Port1_departurefw
Sheets("Database").Range("S" & rij) = Range("B9") 'port2
Sheets("Database").Range("T" & rij) = Range("D9") 'port2_distance
Sheets("Database").Range("U" & rij) = Range("E9") 'Port2_arrival
Sheets("Database").Range("V" & rij) = Range("F9") 'Port2_arrivalplt
Sheets("Database").Range("W" & rij) = Range("G9") 'Port2_arrivallm
Sheets("Database").Range("X" & rij) = Range("H9") 'Port2_activity
Sheets("Database").Range("Y" & rij) = Range("I9") 'Port2_arrivalgo
Sheets("Database").Range("Z" & rij) = Range("J9") 'Port2_arrivallo
Sheets("Database").Range("AA" & rij) = Range("K9") 'Port2_arrivalfw
Sheets("Database").Range("AB" & rij) = Range("L9") 'Port2_startactivity
Sheets("Database").Range("AC" & rij) = Range("M9") 'Port2_completionactivity
Sheets("Database").Range("AD" & rij) = Range("N9") 'Port2_Departure
Sheets("Database").Range("AE" & rij) = Range("O9") 'Port2_departureplt
Sheets("Database").Range("AF" & rij) = Range("P9") 'Port2_departurelm
Sheets("Database").Range("AG" & rij) = Range("Q9") 'Port2_departurego
Sheets("Database").Range("AH" & rij) = Range("R9") 'Port2_departurelo
Sheets("Database").Range("AI" & rij) = Range("S9") 'Port2_departurefw
Sheets("Database").Range("AJ" & rij) = Range("B10") 'port3
Sheets("Database").Range("AK" & rij) = Range("D10") 'port3_distance
Sheets("Database").Range("AL" & rij) = Range("E10") 'Port3_arrival
Sheets("Database").Range("AM" & rij) = Range("F10") 'Port3_arrivalplt
Sheets("Database").Range("AN" & rij) = Range("G10") 'Port3_arrivallm
Sheets("Database").Range("AO" & rij) = Range("H10") 'Port3_activity
Sheets("Database").Range("AP" & rij) = Range("I10") 'Port3_arrivalgo
Sheets("Database").Range("AQ" & rij) = Range("J10") 'Port3_arrivallo
Sheets("Database").Range("AR" & rij) = Range("K10") 'Port3_arrivalfw
Sheets("Database").Range("AS" & rij) = Range("L10") 'Port3_startactivity
Sheets("Database").Range("AT" & rij) = Range("M10") 'Port3_completionactivity
Sheets("Database").Range("AU" & rij) = Range("N10") 'Port3_Departure
Sheets("Database").Range("AV" & rij) = Range("O10") 'Port3_departureplt
Sheets("Database").Range("AW" & rij) = Range("P10") 'Port3_departurelm
Sheets("Database").Range("AX" & rij) = Range("Q10") 'Port3_departurego
Sheets("Database").Range("AY" & rij) = Range("R10") 'Port3_departurelo
Sheets("Database").Range("AZ" & rij) = Range("S10") 'Port3_departurefw
Sheets("Database").Range("BA" & rij) = Range("B11") 'port4
Sheets("Database").Range("BB" & rij) = Range("D11") 'port4_distance
Sheets("Database").Range("BC" & rij) = Range("E11") 'Port4_arrival
Sheets("Database").Range("BD" & rij) = Range("F11") 'Port4_arrivalplt
Sheets("Database").Range("BE" & rij) = Range("G11") 'Port4_arrivallm
Sheets("Database").Range("BF" & rij) = Range("H11") 'Port4_activity
Sheets("Database").Range("BG" & rij) = Range("I11") 'Port4_arrivalgo
Sheets("Database").Range("BH" & rij) = Range("J11") 'Port4_arrivallo
Sheets("Database").Range("BI" & rij) = Range("K11") 'Port4_arrivalfw
Sheets("Database").Range("BJ" & rij) = Range("L11") 'Port4_startactivity
Sheets("Database").Range("BK" & rij) = Range("M11") 'Port4_completionactivity
Sheets("Database").Range("BL" & rij) = Range("N11") 'Port4_Departure
Sheets("Database").Range("BM" & rij) = Range("O11") 'Port4_departureplt
Sheets("Database").Range("BN" & rij) = Range("P11") 'Port4_departurelm
Sheets("Database").Range("BO" & rij) = Range("Q11") 'Port4_departurego
Sheets("Database").Range("BP" & rij) = Range("R11") 'Port4_departurelo
Sheets("Database").Range("BQ" & rij) = Range("S11") 'Port4_departurefw
Sheets("Database").Range("BR" & rij) = Range("B12") 'port5
Sheets("Database").Range("BS" & rij) = Range("D12") 'port5_distance
Sheets("Database").Range("BT" & rij) = Range("E12") 'Port5_arrival
Sheets("Database").Range("BU" & rij) = Range("F12") 'Port5_arrivalplt
Sheets("Database").Range("BV" & rij) = Range("G12") 'Port5_arrivallm
Sheets("Database").Range("BW" & rij) = Range("H12") 'Port5_activity
Sheets("Database").Range("BX" & rij) = Range("I12") 'Port5_arrivalgo
Sheets("Database").Range("BY" & rij) = Range("J12") 'Port5_arrivallo
Sheets("Database").Range("BZ" & rij) = Range("K12") 'Port5_arrivalfw
Sheets("Database").Range("CA" & rij) = Range("L12") 'Port5_startactivity
Sheets("Database").Range("CB" & rij) = Range("M12") 'Port5_completionactivity
Sheets("Database").Range("CC" & rij) = Range("N12") 'Port5_Departure
Sheets("Database").Range("CD" & rij) = Range("O12") 'Port5_departureplt
Sheets("Database").Range("CE" & rij) = Range("P12") 'Port5_departurelm
Sheets("Database").Range("CF" & rij) = Range("Q12") 'Port5_departurego
Sheets("Database").Range("CG" & rij) = Range("R12") 'Port5_departurelo
Sheets("Database").Range("CH" & rij) = Range("S12") 'Port5_departurefw
Sheets("Database").Range("CI" & rij) = Range("D14") 'Cargo
Sheets("Database").Range("CJ" & rij) = Range("H14") 'Cargo_Quantity
Sheets("Database").Range("CK" & rij) = Range("B18") 'Bunkered_Port
Sheets("Database").Range("CL" & rij) = Range("D18") 'Bunkered_GO
Sheets("Database").Range("CM" & rij) = Range("E18") 'Bunkered_LO
Sheets("Database").Range("CN" & rij) = Range("F18") 'Bunkered_FW
Sheets("Database").Range("CO" & rij) = Range("C20") 'Kielchannel
Sheets("Database").Range("CP" & rij) = Range("C22") 'Captain


End Sub
 
Ik zie geen selectiebox.
 
Dat klopt, dat is de uitkomt van
Code:
rij = Sheets("Formuleblad").Range("B1") + 3
 
Beveilig het werkblad.
 
Dat zou wel heel gemakkelijk zijn :) Helaas is dat niet de oplossing. Ik zal het nog iets proberen te verduidelijken, helaas is een voorbeeldbestand momenteel niet te uploaden door een dramatische internetsnelheid op zee.

Voor het brandstofgebruik, tijden en gebruik van havendiensten op een zeeschip gebruiken we een sheet met een invulblad. Op het invulblad bevind zich een keuzelijst met de reisnummers, invul cellen en een send knop (overeenkomstig met het blad database) Vanuit het blad database hebben we formulieren gespecificeerd op de behoefte van de klant.

Op het moment dat de gebruiker in de keuzelijst niet het goede reisnummer invult, kan deze in de huidige situatie eventueel gegevens overschrijven. Om dat te voorkomen zou ik graag een vraag naar voren willen komen (dmv vbYesNo) dat er al gegevens in de doelcellen staan en of het de bedoeling is door te gaan. Dus eigenlijk een check, of de doelcellen in de database niet al gevuld zijn met gegevens.

Alvast bedankt.
 
Je bedoelt dus zoiets?
Code:
rij = Sheets("Formuleblad").Range("B1") + 3
If MsgBox("Het reisnummer is " & rij & "." & vbCrLf & "Doorgaan?", vbQuestion + vbYesNo) = vbNo Then Exit Sub
 
Nee dat klopt, maar het is wel een extra hindernis die aanzet tot nadenken hoop ik...
 
Code:
if Sheets("Database").Range("B" & rij) = "" then
code uitvoeren
else
berichtbox
End if
 
Hartstikke bedankt! Ik ben best een ervaren Excel gebruiker maar tegen het tempo van jullie oplossingen kan ik echt niet op! Helemaal top
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan