Permalänk

Dynamik i Excel

Hej!
Jag behöver lite hjälp. Ska göra ett formulär i Excel där det är tänkt att man bl.a. ska ha en Combo-Box där man kan välja ett av ett antal alternativ. Dessa alternativ kommer att byggas på och ändras, och ligger därför i ett separat blad i en lista. Jämte varje alternativ finns ett pris. Det är detta pris jag vill komma åt.
Hur skulle jag gå tillväga för att göra detta? En combo-box ger mig ett värde, men jag behöver länka detta till själva priset.
Problem två är att jag ska kunna utöka den första listan, dvs. lätt kunna lägga till och ta bort rader. Om jag gör den hederliga dra-neråt är Combo-boxarna länkade ihop, så ändrar jag ett värde, ändras alla Combo-boxar.

Exempel på hur den kan se ut:
Blad1:

Pjäs <COMBOBOX=Glas> 2 Figur <COMBOBOX=Keramik> 4 Skulptur <COMBOBOX=Koppar> 20

Blad2:

Glas 2 Koppar 20 Keramik 4

Visa signatur

Legalise Internet (and stimpacks)

Permalänk
Medlem

Kan du programera i VBA?

Permalänk

Jag har programmeringsvana, men inte med VBA. Brukar dock kunna anpassa kod ganska bra om jag har något att utgå ifrån.

Visa signatur

Legalise Internet (and stimpacks)

Permalänk

Kortfattat:
1. Du kan hämta värdet (priset) med INDEX eller ev VLOOKUP, beror lite på hur du definierat din combox-output

2. En dynamisk namerange kan du göra så här. I exemplet har jag listan i kolumn A på bladet "data".
- CTRL+F3. Nytt namn, tex "listan"
- i "refers to" klistrar du in =OFFSET(data!$A$1;0;0;MATCH("*";data!$A:$A;-1);1)
- sedan anger du "listan" (utan fnuttar) i ListFillRange på din Combobox.
Denna blir alltså dynamisk så att "listan" refererar till området A1-sista rutan med text i kolumn A (bör inte bryta för en tom cell). Lägger du til linformation kan du behöva spara filen innan du kommer åt det nya värdet i Comboboxen.

Visa signatur

I thought the only thing the internet was good for was porn.
-Bender, Futurama

Permalänk

Super! Det verkar vara vad jag letade efter!
Skrev det dock i Java istället, men kanske går tillbaka till Excel om det krävs.

Visa signatur

Legalise Internet (and stimpacks)