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

Keuze 'tekst '(uit gegevensvalidatie / lijst) automatisch aanpassen na wijziging

Status
Niet open voor verdere reacties.

Scuba70

Gebruiker
Lid geworden
6 dec 2017
Berichten
12
Beste,

Een nieuw uitdaging voor mij, welk ik nog niet uitkomt.

Linkerkolom overzicht klanten, rechterkolom dmv gegevensvalidatie een klant geselecteerd uit de linkerkolom. Zie plaatje.
Dat is op zich geen probleem.
Wat ik eigenlijk wil, als ik naam van een klant wijzig, bijv Kant E naar Klant E, dan wil ik dat de rechterkolom automatisch aanpast.
Kan dat, zo ja hoe?

Knipsel.PNG
 
De bedoeling van gegevensvalidatie is juist dat je gegeven maar op 1 manier kunt invullen.
Wat jij nu wilt is dus precies het omgekeerde.
Verander de lijst van je gegevens validatie want dat is de juiste werkwijze.
 
Als je een klant hebt met een schrijffout in de naam of deze wijzigt dan zou ik een zoeken en vervangen actie doen op de hele exacte naam.

Dan kun je eenvoudig de hele sheet doorlopen om de naam te wijzigen.
 
Of een macrootje.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim old As String, nw As String
If Not Intersect(Target, Columns(1)) Is Nothing Then
  Application.EnableEvents = False
    nw = Target.Value
    Application.Undo
    old = Target.Value
    Application.Undo
    Columns(3).Replace old, nw
  Application.EnableEvents = True
 End If
End Sub
 
Bedankt voor jullie reacties !
Ik ga (denk ik) de oplossing van HSV/Harry toepassen.
Nu nog even uitzoeken om de Columns(x).Replace toe te passen op andere sheets...
 
Beste Harrie (HSV)

Kan ik bovenstaande methode ook toepassen op andere sheets ?

Ik heb geprobeerd met Sheets("Blad2").Select en dan Column-Replace te doen, maar dat werkt niet :(

Hopelijk kan je me nog verder helpen
 
Als je de bladen afzonderlijk wilt doen verwijder je de code en plaatst onderstaande in Thisworkbook.
Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim old As String, nw As String
If Not Intersect(Target, Columns(1)) Is Nothing Then
  Application.EnableEvents = False
    nw = Target.Value
    Application.Undo
    old = Target.Value
    Application.Undo
    Columns(3).Replace old, nw
  Application.EnableEvents = True
 End If
End Sub
Anders een voorbeeldje plaatsen met meerder werkbladen als je gelijk alle werkbladen wilt aanpassen.
 
Beste @HSV ,

bijgesloten een voorbeeld excel overzicht

Wanneer ik in blad1, versie nummer aanpast in kolom 3, dan wordt kolom E netjes aangepast (tekst.samenvoegen)
wat ik graag zou willen zien
dat in blad2 en blad 3 ook de versie nummers worden aangepast
deze zijn vanuit gegevensvalidatie geselecteerd.

Hopelijk kan je mij verder helpen

Groet,
Mario
 

Bijlagen

Laatst bewerkt:
@Scuba,

Wil je jezelf svp aanleren de knop 'Gereed' te gebruiken om een bijlage aan het bericht toe te voegen ?
Dan komt die bijlage veel duidelijker in een apart venster te staan met info over omvang en aantal keer bekeken.
 

Bijlagen

  • Bijlagen_toevoegen.PNG
    Bijlagen_toevoegen.PNG
    44,6 KB · Weergaven: 47
Zet deze code eens in de module van blad1.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim old As String, nw As String, sh As Worksheet
If Not Intersect(Target, Columns(3)) Is Nothing Then
  Application.EnableEvents = False
    nw = Target.Offset(, 2).Value
    Application.Undo
    old = Target.Offset(, 2).Value
    Application.Undo
     For Each sh In Sheets
      If sh.Name <> Me.Name Then sh.Cells.Replace old, nw
     Next sh
  Application.EnableEvents = True
 End If
End Sub
 
Harry ,

Bedankt voor je input en tijd !

Het werkt super...

Groet,
Mario
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan