Preverjanje veljavnosti podatkov in pogoj

Pomoč pri delu z MS Excelom
Odgovori
mkrava
Prispevkov: 2
Pridružen: Ne Mar 17, 2013 12:37 pm

Preverjanje veljavnosti podatkov in pogoj

Odgovor Napisal/-a mkrava »

Lep pozdrav,

imam vprašanje in prosim za pomoč.

Za anketo pripravljam excelovo tabelo, v kateri bi izpolnjevalcem omejil možnost vnosa podatkov s Preverjanjem veljavnosti podatkov / seznam.

Gre za vprašalnik o vozilih, zato bi stvar naredil tako:

V celici A1 lahko izpolnjevalec izbere iz seznama izbere npr. opcije Audi, BMW VW...
V kolikor izbere npr. AUDi, se mu v celici B1 v seznamu ponudijo le opcije A1, A2, A3, A4 ....
V kolikor izbere BMW se mu v celici B1 v seznamu ponudi le opcija opcija serija 1, serija 3, serija 5...

Na ta način bom lažje selekcioniral in obdelal odgovore, prav tako pa mi ne bo mogel vsakdo vpisovati po svoje npr. A1 turbodiesel...
Upam, da sem razumljivo napisal vprašanje in prosim za odgovor.

Hvala
cedra
Prispevkov: 264
Pridružen: Po Jul 25, 2005 11:11 pm
Kraj: Kamnik

Re: Preverjanje veljavnosti podatkov in pogoj

Odgovor Napisal/-a cedra »

Pozdravljeni

Vaš problema sem rešil takole:
Upošteval sem samo dve znamki, po potrebi pa jih boste dodali še več.

Koda: Izberi vse

Private Sub Worksheet_Change(ByVal Target As Range)

 If (Not Intersect(Target, Range("B2")) Is Nothing) Then ''' če je izbrana oz. spremenjena

Select Case Range("B2").Value
Case "Audi"
Range("C2").Select
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="=$K$3:$K$5"
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With
   
Case "Bmw"
       ' Range("C2").Value = "Bmw"
Range("C2").Select
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="=$L$3:$L$5"
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With
    End Select
      Range("C2").Value = Range("B2").Value
 
    End If
    
End Sub
Seveda boste morali kodo malo še prirediti svojim potrebam. Upam, da se boste znašli kaj je potrebno popraviti v kodi in na listu.
Kodo prilepite na v VBA okolju -(Alt + F11) v kodo lista kjer imate anketo.

Verjetno je stvar rešljiva še kako drugače, no jaz sem si zamislil tako!

Da bo stvar bolj jasna pa še slika kje se nahajajo seznami na mojem listu rešitve...

Slika
lp,

cedra
jumanjy
Prispevkov: 133
Pridružen: To Jan 12, 2010 1:00 pm

Re: Preverjanje veljavnosti podatkov in pogoj

Odgovor Napisal/-a jumanjy »

Pozdravljeni!
Če se nočete ukvarjati z makri sem našel še eno zelo enostavno rešitev.
Dam primer začnite v stolpcu L1 z audi in pod njim naštejte vse modele, M1- bmw itd. kolikor hočete.
v celico K2 pa vstavite formulo

Koda: Izberi vse

=HLOOKUP($A$1;$L$1:$AA$12;2;FALSE)
Formulo skopirajte navzdol samo pazite da spremeni rov num. index ker se noče sam spreminjat(vsaj pri meni).
potem si pa v celico A1 naredite seznam od L1:AA1.V B1 pa od K2:K30.
Območja si seveda ustrezno popravite po svoji tabeli.
Upam da ste me razumeli :wink: .
AndrejL
Prispevkov: 25
Pridružen: Po Nov 10, 2008 9:22 pm

Re: Preverjanje veljavnosti podatkov in pogoj

Odgovor Napisal/-a AndrejL »

Tam, kjer vpišete, kateri seznam je dovoljen za vpis modela avta, so dovoljene tudi formule.

Če si izposodim primer, ki ga je zgoraj nalepil cedra, v celici C2 kot dovoljen seznam določite "=IF(B2="Audi";K3:K5;L3:L5)".

Nič drugega ni potrebno.
mkrava
Prispevkov: 2
Pridružen: Ne Mar 17, 2013 12:37 pm

Re: Preverjanje veljavnosti podatkov in pogoj

Odgovor Napisal/-a mkrava »

Hvala za nasvete in pomoč.

bom uporabil.

LP

matej
Odgovori