Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[Excel / VBA] Default waarde in Validatie lijst

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben een checklist aan het maken tbv het afvinken van websites (veld is verplicht, veld is numeriek etc)

Ik wil de checks bijhouden mbv een Validatie dropdown box.

Alleen ik wil dat deze box automatisch gevuld wordt met een default waarde, en met als extra conditie dat ie dat alleen doet indien het veld ook daadwerkelijk gecheckt moet worden.

Hier staat een voorbeeldje van wat ik wil (excel 2010):
http://www.armengar.nl/example.xlsm

De oranje velden bevatten de dropdown boxes, en deze worden gevuld als kolom D = YES is (de formule daarvoor is te zien in het validatie scherm)

Wat ik dus wil toevoegen is dat indien kolom D = YES dat kolom E op een defaultwaarde komt te staan (of die nou uit de lijst van het List tabblad wordt gehaald of dat de waarde gehardcode is in VB maakt me niet zoveel uit)

Ik heb wat lopen zoeken op internet, en kwam een aantal voorbeeld macro's tegen die wel iets deden wat er in de buurt kwam (bijv. indien een waarde wordt weggehaald automatisch een defaultwaarde neerzetten) maar het is allemaal niet precies wat ik wil, en eigen pogingen macro's aan te passen waren geen succes (omdat m'n VBA kennis gewoon erg klein is).

Kan iemand mij op de goeie weg helpen? Of heeft iemand dit misschien eens eerder gedaan en kan een voorbeeld posten?

Alvast bedankt

  • Nether
  • Registratie: November 2009
  • Laatst online: 21-11 23:58
Volgens mij moet het kunnen met een formules, maar krijg dat niet zo voor elkaar dus dan maar zo
deze code in sheet1 plaatsen:
Visual Basic:
1
2
3
4
5
6
7
8
9
10
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Column = 4 Then 'Alleen controlen als waarde op column D veranderd
    If UCase(Target.Value) = "YES" Then
        Cells(Target.Row, 5).Value = "DefaultYesWaarde" 'Waarde in column E als Yes wordt ingevuld
    ElseIf UCase(Target.Value) = "NO" Then
        Cells(Target.Row, 5).Value = "DefaultNoWaarde" 
    End If
 End If
End Sub

[ Voor 12% gewijzigd door Nether op 25-09-2011 21:53 ]


Verwijderd

Topicstarter
Nether,

Ik heb je bovenstaande script geprobeerd en het werkt. Bedankt daarvoor.

Het enige wat ik niet aan de praat krijg is het volgende, als ik een 'x' toevoeg of verwijder in kolom B dan veranderd kolom D ook (naar YES of NO) alleen vervolgens verspringt de waarde in kolom E niet.

Ik weet niet of dit uberhaupt mogelijk is, of dat ik daar een bepaalde setting voor aan/uit moet zetten om het binnen de worksheet wel te laten werken, ik hoor het graag.

Mocht het niet mogelijk zijn dan kan ik er wel omheen werken, maar het zou super zijn als het wel kan.

Verwijderd

Topicstarter
Als er een manier is om alle cellen in kolom D te triggeren dmv een knop is dat ook prima.
Na het bewerken van de cel in D (bijv dmv dubbelklikken) past de waarde in kolom E zich wel netjes aan, ik zou dan dus een functie moeten hebben die dat kan doen (range.calculate geprobeert, maar dat werkt niet).