PNG32 PNG32 PNG32 PNG32
PNG32
Forum Excel, VBA, VSTO, Exceltips, Excelhj�lp PNG32 drivs av Excelspecialisten    Logga in     English
PNG32
PNG32 PNG32
PNG32

Logga in

PNG32

Du är inte inloggad. Logga in eller registrera dig för att skriva inlägg eller svara på inlägg.

För frågor om forumet, kontakta oss på webmaster@excelforum.se

PNG32 PNG32
PNG32 PNG32
PNG32

Excelforum

PNG32

 
ForumForumDiskussionerDiskussionerExcelExcelVälja på alternativ i lista utifrån tidigare inputVälja på alternativ i lista utifrån tidigare input
Föregående Föregående
 
Nästa Nästa
Nytt inlägg
 2021-04-06 10:21
 

 Hej,

jag försöker göra två rullistor där jag i första väljer en sak och i nästa lista vill jag då få olika alternativ beroende på vad jag valde i första lista.

Ex. 

Om jag ska baka en kaka så vill jag i första listan bestämma Kaksort (om det ska vara en sockerkaka, pepparkaka eller annan kaka). Detta är ju enkelt, jag har gjort en lista och kör en Combo box kopplad till den och passade på att skicka ut en indexsiffra också för den använder jag på ett annat ställe.

I lista två vill jag sedan att det går att välja på olika receptalternativ. Väljer jag Sockerkaka i första listan vill jag få alternativen Standard, Glutenfri, Laktosfri, Äggfri medan om jag i första listan valde pepparkaka så ska alternativen i lista två bli Standard, Glutenfri, Laktosfri som alternativ i min andra lista.

(för att sedan välja antal portioner och sedan får man fram receptet).

Hur går jag tillväga för att lösa detta? Alltså få olika alternativ för lista två efter att jag valt i lista ett? Skulle gärna ha en metod där man enkelt kan öka antalet kaksorter och receptalternativ så en IF-funktion tror jag blir krångligt när det ökar i komplexitet.

MVH Erik

 

 

Nytt inlägg
 2021-04-07 09:09
 

Ok, du använder alltså inte Data->Dataverifiering-> från lista?

Strunt i samma. Det blir samma princip. Du behöver helt enkelt något slag matris i stil med:

Sockerkaka Pepparkaka
Standard Standard
Glutenfri Glutenfri
Laktosfri Laktosfri
Äggfri  

Sen använder du komboxoxens indexsiffra för att bestämma vilken kolumn i listan du skall använda. Typ

=FÖRSKJUTNING(A2:A5;0;ComboboxIndex)

eller

=INDEX(A2:B5;;ComboboxIndex)

(Obs att de där formlerna ger olika svar. Om man vill ha första kolumnen med hjälp av förskjutning måste ComboboxIndex= 0. Om du använder INDEX skall det vara 1)

Du kanske även vill rensa bort tomma celler med hjälpav filter

=FILTER(FÖRSKJUTNING(A2:A5;0;ComboboxIndex);FÖRSKJUTNING(A2:A5;0;ComboboxIndex)<>"")

 

Nu är problemet att du inte får skriva in en formel som indataområde i Combobox 2.  Det kan lösas på (minst) två sätt .

Antingen hämtar du data från ett omdråde där du har skrivit in din index/förskjutningsformel.

Eller också skapar du en namngiven Formel/område

Ctrl+F3->Nytt

Namn: val_ett
Refererar till:=INDEX(Blad2!$A$2:$B$5;;ComboboxIndex)  (eller, den formel du är nöjd med. Men det är viktigt med låsta referenser)

Nu kan du skriva in val_ett i combobox 2's indataområde

Allt det här kräver att du har ett hjälpblad där du skriver in dina matriser och indataområden. Men det är snarast en fördel eftersom du kan göra det vädigt tydligt och flexibelt (när du t.ex kommer på att du vill ha pepparfri pepparkaka)

Obs att din användning av komboruta gör det svårt att ha mer än 2 val. Antag t.ex att matrisen ser ut så här:

Sockerkaka Pepparkaka
Standard Standard
Glutenfri Glutenfri
Laktosfri Laktosfri
Äggfri Mandelfri

Då kommer Index 4:a att betyda olika saker för Socker- och pepparkaka och nästa fördjupningsbox kräver olika matriser/tabeller.

Å andra sidan kanske det är realistiskt? 

Nytt inlägg
 2021-04-07 09:11
 

 Erik

Med metoden du valt för att välja i listor så är du låst till att antingen bygga upp dina resulterande listor med hjälp av indexering, Vilket skulle innebära väldigt långa listor och vädligt mycket admin. Andra alternativet är en programmerad lösning, där man istället kan få ut vilket namn man valt i listan, och därefter använda en letauppfunktion och en filterfunktion för att generera dina nya listor. Bägge dessa lösningar kräver mer jobb än vad resultatet ger. Jag föreslår att du sväljer stoltheten och låter lista två innehålla samtliga matkänsligheter man kan tänkas ha :). 

Mvh

Christian

Nytt inlägg
 2021-04-08 12:31
 

Jag tänkte att med Data->Dataverifiering-> från lista så genererar jag inte något jag kan jobba vidare med likt det indexnummret man får från combobox. Jag skulle kunna jobba runt det (använder indexsiffra på andra ställen som jag skrev)

Det kommer bli som din sista matris med det problemet du tar upp, växa med fler alternativ allt eftersom.

Jag får nog göra som Christian skriver och svälja min stolthet. Tackar för hjälpen, även om jag får lägga ner denna planen så ser jag potential att detta kan hjälpa mig i ett annat fall.

Föregående Föregående
 
Nästa Nästa
ForumForumDiskussionerDiskussionerExcelExcelVälja på alternativ i lista utifrån tidigare inputVälja på alternativ i lista utifrån tidigare input

PNG32 PNG32
Excelforum drivs av Excelspecialisten som bedriver utbildning i Excel och VBA, tillhandahåller support och hjälp med Excel, utvecklar program i Excel. Är ni i behov av en konsult inom Excel, VBA eller VSTO, eller söker en excelkurs, kontakta oss.
Copyright 2013 ExcelSpecialisten XLS AB   Användarvillkor  Personliga uppgifter