Avattava valikko

Eli pystyykö excelillä tekemään toimintoja, joissa soluissa on useita eri vaihtoehtoja avautuvassa valikossa. Vaihtoehdon valittuaan seuraavissa soluissa oleviin valikkoihin muodostuisi valinnan ehtojen mukaiset vaihtoehdot.

Esimerkkinä voi olla vaikkapa lipastot. Ensimmäisessä valikossa valitaan halutaanko lipasto yhdellä, kahdella tai kolmella laatikolla. Seuraavassa valikossa voi olla materiaali, johon yhden laatikon tapauksessa on valittu koivu, kuusi ja tammi ja kahden laatikon tapauksessa voi olla muut ehdot. Siten valittaessa yksi laatikko tulee materiaalivalikkoon ehdoksi kyseiset koivu, kuusi ja tammi jne.

Onkohan tällainen mahdollista toteuttaa ja miten jos on?
101449
Äänestä

Muut lukivat myös

Vastaukset 10

Vanhimmat

Excel-oppaasta:

Voit luoda avattavan luettelon solualueesta käyttämällä Tiedot-välilehden Datatyökalut-ryhmässä olevaa Tietojen kelpoisuuden tarkistaminen -komentoa.

Äänestä

Pystynkö laittamaan esimerkiksi if-lauseella ehdoksi jonkun solun tekstin siten, että alasvetovalikon vaihtoehdot muuttuvat sen mukaan.

Alla on nauhoitettu makro alasvetovalikolle. Siinä haetaan vaihtoehdoiksi luetteloa alueella Tiedot!$A$2:$A$3. Eli onko tähän yhteyteen mahdollista laittaa jokin if-lause?

Sub Makro1()
'
' Makro1 Makro
' testi
'

'
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=Tiedot!$A$2:$A$3"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End Sub

Äänestä
  • Kiitokset linkeistä!

    Äänestä

Lisäkysymyksenä sitten vielä sellainen asia, kun pitäisi saada useampia valikoita tuosta ns. päävalinnasta.

Jos jatketaan tuota ylhäällä olevaa esimerkkitapausta eli on valittu lipasto yhdellä laatikolla ja sen materiaali seuraavasta valikosta, mutta tarvitsee valita lisää ominaisuuksia, vaikkapa vetimien malli. Saanko muodostettua saman "päävalinnan" alle jotenkin useampia alakohtia? Ainakaan itse en ymmärtänyt noiden linkkien perusteella näin pystyvän tekemään.

Äänestä

http://www.contextures.com/xlDataVal02.html

ton linkin ohjeilla tein 5 alavalikkoa nimeämällä vain ehtoalueet ja epäsuoraa funktiota alaotsikoissa käyttäen...

lipasto -materiaali-vedin-vetimenkoko-vetimenväri...

Keep EXCELing
@Kunde

Äänestä

Jos on sellainen tapaus, että yhden laatikon ja kahden laatikon valinnassa voidaan valita esimerkiksi sama materiaali koivu, mutta kahden laatikon valinnasta puuttuu joku vedin (olkoon se vaikka nimeltään nuppi). Tässä tapauksessa olen valinnut yhden laatikon koivulipaston, jolloin sen pitäisi antaa eri valinnat kuin kahden laatikon koivulipastossa vetimelle. Eli vetimen pitäisi perustua myös valittuun laatikkomäärään, kuten materiaalinkin.

Ainakin oman käsitykseni mukaan valikot perustuvat edelliseen valintaan. Ongelma tulee esiin siinä, että materiaalivalinta vaiheessa on osittain samoja vaihtoehtoja, jolloin vedintä valittaessa ei voi perustaa valikkoa ainoastaan valittuun materiaaliin.

Äänestä

tee lista perustuen 2 edelliselle valinnalle esim. ltk1_koivu ltk2_koivu ;-)

Äänestä
  • Ei taida taidot riittää meikäläisellä tuohon...

    Eli olen tehnyt listan lipastot, joissa on vaihtoehdot laatikkoja 1, laatikkoja 2 ja laatikkoja 3. Sitten olen tehnyt luetteloon laatikkoja1, joka sisältää vaihtoehdot koivu, kuusi ja tammi.

    Solussa B4 on asetettu Tietojen kelpoisuuden tarkistaminen -työkalulla Hyväksy: Luettelo ja Lähde: =Lipastot. Tämän jälkeen soluun B5 asetan samalla työkalulla kelpoisuusehdoiksi Hyväksy: luettelo ja Lähde: =EPÄSUORA(VAIHDA(B4;" ";"")).

    Mutta soluun B6 en osaa asettaa enää luetteloa, johon saisi laatikkomäärän perusteella oikeat vedinvaihtoehdot.

    Tästä jos vielä kunde tai joku muu osaa valaista, että mitä pitää lisätä taikka korjata, niin tuntuu siltä, että taitoa löytyy excelin käytöstä paljon tai ainakin hyvin paljon enemmän kuin minulta... :)

    Äänestä

No nyt keksin yhden, tosin melko monimutkaisen, tavan saada nämä taulukot tulostumaan ehtojen mukaisesti. Eli taulukot muodostuvat ensimmäisen valinnan perusteella tulevan listanumeron mukaan. Olen muodostanut lomakkeen ohjausobjektin Yhdistelmäruutu (englanniksi Combo Box Developer-välilehden Form Control -valikossa), joka siis tulostaa valittuun soluun listajärjestyksen mukaisen numeron. Tämän numeron perusteella muihin valikoihin haetaan tiedot.

Haluaisin tähän liittyen vielä kysyä, voiko tuosta Data Validation luetteloruudusta jotenkin yksinkertaisesti tulostaa valinnan järjestysnumeron? Tämän haluaisin tehdä taulukon siisteyden vuoksi.

Äänestä

Kommentoi aloitusta


anzza kirjoitti:

Eli pystyykö excelillä tekemään toimintoja, joissa soluissa on useita eri vaihtoehtoja avautuvassa valikossa. Vaihtoehdon valittuaan seuraavissa soluissa oleviin valikkoihin muodostuisi valinnan ehtojen mukaiset vaihtoehdot.

Esimerkkinä voi olla vaikkapa lipastot. Ensimmäisessä valikossa valitaan halutaanko lipasto yhdellä, kahdella tai kolmella laatikolla. Seuraavassa valikossa voi olla materiaali, johon yhden laatikon tapauksessa on valittu koivu, kuusi ja tammi ja kahden laatikon tapauksessa voi olla muut ehdot. Siten valittaessa yksi laatikko tulee materiaalivalikkoon ehdoksi kyseiset koivu, kuusi ja tammi jne.

Onkohan tällainen mahdollista toteuttaa ja miten jos on?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu