Automatisch invullen van meerdere cellen na validatie

Pagina: 1
Acties:

Onderwerpen

Vraag


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Goededag,

Ik ben bezig om een tekeningenlijst op te zetten; Nou wil ik de tekening nummers (Disciplines) automatisch laten genereren.
Validatie middels 3 verschillende keuzes is gelukt, te weten: Discipline, Techniek en verdieping. De gegevens van deze validatie's staan in het tabblad "gegevens lijst".

Als ik in de sheet "Tekeningen lijst" Bij discipline b.v. "Bouwkundig" kies en vervolgens bij Techniek "500 - Bouwplan" verschijnt er automatisch in kolom H enkel het getal "500"; Dit werkt prima echter:
Nu wil ik dat dit voor de volgende keuze, te weten "Verdieping", tevens gebeurt, en dat deze validatie in kolom "G" terecht komt...
Dit zodat het tekening nummer automatisch verschijnt in: Objectnummer-Verdieping-techniek-001 (001 is een handmatige invulling)

Ik heb al flink wat uurtjes nu zitten stoeien in de VBA-code en gesnord op internet, maar geen enkele oplossing kunnen vinden.

Hopelijk dat iemand mij een zetje kan geven in de goede richting, of zelfs de juiste code kan aangeven.

Bijgaand het bestand.
https://we.tl/EyhOY0sISW

Groet Michel Vermeulen

Beste antwoord (via F_J_K op 02-08-2017 16:42)


Verwijderd

Topicstarter
Ik ben inmiddels geholpen, middels de onderstaande code. Bedankt voor het meedenken!

Private Sub Worksheet_Change(ByVal Target As Range)
Dim f As Range
If Intersect(Target, Range("C:D")) Is Nothing Then Exit Sub
Set f = Sheets("gegevens lijst").Columns(2).Find(Target.Value, , xlValues, xlWhole)
If Not f Is Nothing Then Target.Offset(, IIf(Target.Column = 3, 5, 3)) = f.Offset(, 1).Value
End Sub

Alle reacties


Acties:
  • 0 Henk 'm!

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Welkom!

Uit principe (en vanuit beveiligingsoogpunt) open ik niet zomaar bestanden van 'onbekenden op internet' ;)

Kan je in de tekst aangeven hoe het document in elkaar steekt en waar je vastloopt met welke functies / code?

Zo op het eerste gezicht zou een eenvoudige vert.zoeken moeten voldoen. Hetzij direct, hetzij door de gegevensvalidatielijst dynamisch te maken (door in de lijst als() of vert.zoeken te gebruiken).

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hallo,

Begrijpelijk dat je het bestand niet direct opent. Ik denk dat ik het in de vraagstelling reeds aardig omschreven heb.
Met de functies vert.zoeken etc, geven we voor zover ik begrijp aan in de cel. Dit is niet de bedoeling. Ik wil het voor de gehele kolom laten gelden, zonder dat ik de functie kopieer naar de onderliggende cellen

Acties:
  • Beste antwoord
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik ben inmiddels geholpen, middels de onderstaande code. Bedankt voor het meedenken!

Private Sub Worksheet_Change(ByVal Target As Range)
Dim f As Range
If Intersect(Target, Range("C:D")) Is Nothing Then Exit Sub
Set f = Sheets("gegevens lijst").Columns(2).Find(Target.Value, , xlValues, xlWhole)
If Not f Is Nothing Then Target.Offset(, IIf(Target.Column = 3, 5, 3)) = f.Offset(, 1).Value
End Sub

Acties:
  • 0 Henk 'm!

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

@Verwijderd, mooi dat ik nu pas weer mee lees :P Dank voor de update.

Ik ben zo vrij om de 'beste antwoord'-duiding aan te passen naar dat van jezelf. (Dat kan jij niet, maar ik wel met moderator-pet op).

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)