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

VBA: Celwaarde wijzigen

Status
Niet open voor verdere reacties.

DrommeDaris

Gebruiker
Lid geworden
16 mei 2018
Berichten
8
Hoi Allen,

Bijgevoegd Excel-bestand bestaat uit het tabblad 'Database' en het tabblad 'Wijzigen'
In het tabblad 'Database' is een lijst met gegevens opgenomen welke voor de eindgebruiker van het bestand niet zichtbaar is.
De eindgebruiker moet echter wel in staat zijn gegevens in de Database te kunnen wijzigen.

In het tabblad 'Wijzigen' kan men in Cel A5 een artikelnummer invoegen. In cel B5 t/m G5 wordt vervolgens automatisch de aan het artikelnummer toebehorende gegevens weergegeven.
Ik wil de gebruiker middels een macro in staat stellen deze gegevens te wijzigen door in rij 7 de juiste gegevens in te voeren. Wanneer men een cel in rij 7 niet invult dient (in het voorbeeld de cel datum) dient deze informatie ook niet gewijzigd te worden.

De bedoeling is dat de macro het in cel A5 ingevoerde nummer in het werkblad 'database' opzoekt en deze rij vervolgens dusdanig wijzigt zodat het overeenkomt met de in rij 7 (tabblad 'wijzigen') ingevoerde gegevens. Indien er in rij 7 een cel niet is ingevuld dient deze waarde in de database ook niet aangepast te worden.

Zou iemand mij hiermee kunnen helpen? Tot op heden heb ik zelf geen succes weten te behalen. Forumgenoten adviseerde mij het gebruiken van een dataform maar dit sluit niet volledig aan op de beoogde eindoplossing.

Bekijk bijlage Excel voorbeeld wijzigen.xlsx
 
Laatst bewerkt:
Hoi edmoor.

Dank voor je antwoord. Een data entry form werkt in principe prima. Het is echter niet de bedoeling dat de gebruiker in het tabblad 'Database' kan, wat volgens mij wel een vereiste is voor het gebruiken van het dataform.
Vandaar dat mijn voorkeur uit gaat naar een macro. Mocht ik het fout hebben dan hoor ik het graag.
 
Het probleem met de methode 'showdataform' is dat het een Amerikaans geschreven datum weergeeft.

Hier is de datum zoals geschreven in de cel.
Nadeel: Tabblad 'database' wordt zichtbaar tijdens de dataform.
Je kan er niet in werken; na het sluiten van het form wordt je database weer verborgen.

Code:
Private Sub CommandButton1_Click()
   With Sheets("database")
     .Visible = True
      Application.Goto .Cells(1)
      Application.Wait Time + TimeSerial(0, 0, 1)
      CommandBars.FindControl(, 860).Execute
     .Visible = False
   End With
End Sub
 
Ik stuit hier nog tegen twee andere problemen aan:
De gebruiker kan middels het dataform complete rijen verwijderen; dit zou geen probleem zijn indien in een apart tabblad geregistreerd wordt welke gegevens zijn verwijderd.
Tevens kan de gebruiker typfouten maken dan wel bewust foutieve gegevens invullen. Bij mijn oorspronkelijk bedachte oplossing (gegevens aanpassen middels een macro) wilde ik dit voorkomen middels gegevensvalidatie. Is dit ook mogelijk bij het gebruik van een dataform?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan