startsida < företaget < organisera < datorer < tips
 
Kontroller i kalkylblad

 
  Tips & Trix
Kalkylering
Tabeller
Diagram
Text
Utskrifter
Diverse
Kontroller
Makrofunktioner
Snabbtips
Tema
   
  Innehåll
expowera

 

Materialet publicerat med tillstånd från Dennis Wallentin.

I XL finns det ett flertal s k kontroller, vilka vi kan använda både direkt i kalkyl- blad och i formulär samt vid programmering i Visual Basic for Application (VBA).

Dessa kontroller utgörs av grafiska objekt med vilka vi kan manipulera data och utfall.

Ett flertal av dessa kontroller medföljer XL vid installation medan andra kontroller ingår i andra programvaror (t ex Visual Basic och Delphi) samt i renodlade tilläggsprodukter, såsom SamLogic VB Super Library

Kontrollerna nås bäst genom att ställa musmarkören på ett verktygsfält och högerklicka. I menyn finns det två verktygsfält att välja från.

Kontrollerna återfinns under verktygsfälten "Formulär" och "Kontroller". De kontroller som återfinns i den sistnämnda brukar vanligtvis benämnas som Active-X kontroller. Det är separata objekt som "bäddas in" i XL.

Att det finns två verktygsfält för kontroller beror på att objekten i "Formulär" är bakåtkompatibla med version 5.0 av XL. Utöver det så fungerar dessa kontroller bäst i diagram.

Verktygsfältet Formulär

Verktygsfältet Kontroller

Att skapa kontroller direkt i kalkylblad är enkelt. Klicka på önskat objekt i verktygsfältet och rita ut det på kalkylbladet. Vill du anpassa storleken på kontrollerna till rutnätet så håll ned ALT-tangenten samtidigt som du ritar objekten.

Ett alternativ till ett flertal av dessa kontroller är datavalidering.

Formulärkontroller
Här demonstreras formulärkontrollen kombinationsrutan (ComboBox eller Drop-Down).

Så här ser det färdiga resultatet ut:

För att formatera en formulärkontroll högerklickar man på objektet och väljer kommandot "Formatera kontroll...".

Följande dialogrutan visar:


Dialogrutan är beskuren för att minimera bildutrymmet.

En förutsättning är att det finns en lista i kalkylbladet, från vilken alternativen i kombinationsrutan kan hämtas ifrån, för exemplet utgör intervallet A3:A6 listan. När man väljer ett alternativ genereras ett indexnummer, vilket ska länkas till en cell i kalkylbladet, för exemplet är det cell B3 som är cellänk.

Problemet med formulärkontroller är att dessa genererar indexnummer men inte listvärden, t ex 2 istället för värdet "BB". Det gör att den länkade cellens värde måste omvandlas till ett riktigt listvärde.

Här kan vi använda oss av INDEX-funktionen på följande sätt:

  • =INDEX($A$3:$A$6;B3)

(Cellänkens indextal kan döljas, dels bakom kontrollen och dels genom att formatera värdet med samma färg som bakgrunden, t ex vit.)

En rotationsknapp kan man använda till att stegvis öka/minska en procentsats. Det kan vara intressant när man t ex arbetar med ränta.

Så här ser det färdiga resultatet ut:

Så här ser inställningarna ut i dialogrutan Formatera kontroll:

Dialogrutan är beskuren för att minimera bildutrymmet.

I exemplet ökar/minskar räntesatsen med 0,05 procentenheter. Kontroller kan bara hantera heltal mellan 1 och 32000. För att använda sig av decimaler krävs en underliggande formel.

I exemplet används följande formel:

  • =(B10/1000)*0,5

Active-X kontroller
Dessa kontroller skiljer i det att man har många fler egenskaper i objekten som kan manipuleras. Det som visas på kalkylbladet är på ytan fullt identiskt med formulärkontrollerna - se bild nedan (Den till höger är en Active-X kontroll medan den vänstra är en s k formulärkontroll.)

Bilden nedan visar egenskapsfönstret för kombinationsrutan:

De egenskaper som är mest intressanta här och som kan ställas in efter egna önskemål är:

Font:

Bestämma typsnitt och storlek.

LinkedCell:

Den cell som ska ta emot det valda värdet. OBS! Dessa kontroller genererar värdet direkt.

ListFillRange:

Det cellintervall som innehåller listan som ska visas.

ListRows:

Antal rader som ska visas.

MatchRequired:

Bara värden från listan kan väljas.

MatchEntry:

Snabbkommando för att ange värden.

Alternativknappen är också en attraktiv kontroll. Lägger man ut flera knappar intill varandra så kan man bara markera ett alternativ (se bild nedan).

Den vänstra kontrollen är en formulärkontroll och till höger en Active-X kontroll.

Med dessa Active-X kontroller kan man visa flera listkolumner och visa ett värde från en kolumn.

Bilden nedan demonstrerar en listruta med flera listkolumner:

I bilden nedan visas de egenskaper som behövs ställas in för att få detta resultat:


Egenskapsrutan är beskuren för att minimera bildutrymmet.

Följande egenskaper påverkar antal listkolumner och från vilken kolumn värdet ska hämtas ifrån:

ColumnCount:

Antal kolumner som ska visas.

BoundColumn:

Från vilken listkolumn det valda värdet ska hämtas ifrån.

ColumnHeads:

Om den första raden i listan innehåller kolumnnamn eller ej.

Hämta flera kolumnvärden från en listruta
Här visas hur vi relativt enkelt kan hämta flera kolumnvärden från en listruta.

Följande bild visas exemplet i sin helhet:

Följande inställningar gäller för exemplet:

För att erhålla namnet på den valda personen används följande uppslagsfunktion i cell F10, där vi således hämtar värdet från den ursprungliga listan i arbets- bladet och inte från listrutan:

  • =LETARAD(E10;A2:B7;2;0)
Upp
Senast uppdaterad: 2005-10-05 © Dennis Wallentin