Just nu i M3-nätverket
Gå till innehåll

Excelfrågor


speedy1

Rekommendera Poster

1. Hoppsan - här måste det visst testas lite..

mmh - alternativknapparna (VBA) grupperas visst inte... det ger SANT/FALSKT som värden i cellerna de är länkade till och varje knapp måst länka till egen cell. Alternativknapparna som finns i verktygsfältet formulär grupperar sig och ger ett nummer som visar vilken som är vald.

 

Nåja, ja tycker vi ändå håller oss till VBA-knapparna.

Så - länka dem till varsin cell, låt oss säga fyra knappar, tre celler A1:A4

Ja, denna formel är kanske lite onödigt avancerad men snygg ;)

En matrisformel, dvs måsvingarna ska du ej kopiera dessa inforgar excel när du avslutar inmatningen med CTRL +SHIFT +ENTER

{ =MAX(RAD(A1:A4)*A1:A4) }

Där RAD ger radnumret för celler och multiplicerar detta med celler (SANT = 1, FALSKT = 0) vilket ger en vektor med två nollvärden och ett radnummer. Max tar ut detta radnummer. Om länkcellerna är placera på andra rader kan RAD fortfarande "titta" på de första raderna på arket eller så kan resultat justeras med en konstant. Resultatet bör dock vara mellan 1 och 3 för att nästa formel ska fungera.

 

Då blir det en enkel VÄLJ

=VÄLJ(A5;B1;B2;B3;4)

 

mmh, när jag skrivit allt detta inser jag att det kan göras enklare.

Sätt din värdeceller till (om länkcellerna är samma som ovan)

=A1*1548

=A2*1685

osv

när då knappen är vald blir värdet det som står skriver annars noll. Eller en OM-sats...

Ja det finns många sätt. Eller gå över till formulärknapparna... nä jag är virrig nu.

 

orkar inte mer....

 

Nu får du tänka lite själv. :)

 

och ja - om-satser går att nästla

=om(a1;om(b1;"JA";"Kanske");"Nej")

ger JA om B1 och A1 är sanna, Kanske om A1 är sann men B1 falsk och NEJ om A1 är falsk.

 

 

 

 

/T

 

Even when we know we´ll never find the answers, we have to keep on asking questions.

 

Länk till kommentar
Dela på andra webbplatser

  • Svars 100
  • Skapad
  • Senaste svar

Nu är det nästan klart! :)

 

Om följande går att lösa med formler (utan VBA), tar jag gärna emot tips. Annars får jag lösa det på ett annorlunda sätt, men det är så här jag helst vill ha det.

Du behöver inte lägga ner så mycket arbete på att hjälpa mig med det här, jag är väldigt tacksam för all hjälp jag redan fått av dig! Tack! :o)

 

 

Funderar dock på 2 frågor...

 

1.

I cell G18 kan jag välja in "0", "9" eller "18" (jag väljer med Rotationsknapp).

 

I cell F20 har jag slutsumman...

Om det i G18 står "0", ska slutsumman från cell F20 visas som den är i cell H21.

 

Om det i G18 står "9", ska slutsumman från cell F20 delas med 3, och resultatet visas i cell H21.

 

Om det i G18 står "18", ska slutsumman från cell F20 delas med 6, och resultatet visas i cell H21.

 

Tror inte den formel du skrev fungerar här, eller har jag fel?

 

OBS! Redan nu har jag denna formel =SUMMA(G16+G18), i cell F20.

 

2.

Kan teckenfärgen ändras i en cell (C20), beroende på om värdet är mindre, samma eller högre, än värdet i en annan cell (F20), och vice versa?

 

OBS! Jag har redan denna formel i C20: =SUMMA(C7)*(C16/100)-C18.

 

(Jag skulle nämligen vilja visa med teckenfärg när "produkt 1" är billigare/dyrare än "produkt 2"...).

 

 

 

mvh

speedy1

 

 

 

 

[inlägget ändrat 2006-01-10 19:02:21 av speedy1]

Länk till kommentar
Dela på andra webbplatser

1:

OM(G18=0;F20;F20/(G18/3))

 

borde väl fungera.

 

2:

Ja, mha av villkorstyrd fomatering.

Välj exempelvis Om cellvärde mindre än och sätt referensen till den cell du vill jämföra med. Sätt sedan format för detta villkor. Upp till tre villkor gr att sätta, första sanna (i ordning) ger det format som tillämpas.

 

 

/T

 

Even when we know we´ll never find the answers, we have to keep on asking questions.

 

Länk till kommentar
Dela på andra webbplatser

Det blir inte som jag vill med den formal du föreslog. Ska förklara:

 

 

I G18 kan jag välja in "0", "9" eller "18" (jag väljer med Rotationsknapp).

 

I cell G20 har jag slutsumman...

 

Om det i G18 står "0", ska slutsumman från cell G20 visas som den är (eller inte alls) i cell H20.

 

OM G18=0;G20

 

 

 

Om det i G18 står "9", ska slutsumman från cell G20 delas med 3, och resultatet visas i cell H20.

 

 

OM G18=9;G20/3

 

 

 

Om det i G18 står "18", ska slutsumman från cell G20 delas med 6, och resultatet visas i cell H20.

 

 

OM G18=18;G20/6

 

 

 

Dessa alternativ ska in i samma formal, och läggas i cell H20.

 

 

 

 

Fråga 2:

För vart och ett av alternativen "0", "9" och "18" i G18, ska en viss text visas i cell E18:

 

"0" i G18 ska visa "Betala!"

"9" i G18 ska visa "Dela 3!"

"18" i G18 ska visa "Dela 6!"

 

 

I båda dessa fallen har jag alltså 3 olika alternativ som var för sig ska ge olika svar...

 

 

 

speedy1

 

 

 

 

[inlägget ändrat 2006-01-12 20:14:02 av speedy1]

Länk till kommentar
Dela på andra webbplatser

Perfekt, tack! :)

 

Jag förstår inte formeln riktigt, men den fungerar!

 

 

Däremot funderar jag fortfarande på min andra fråga:

 

För vart och ett av alternativen "0", "9" och "18" i G18, ska en viss text visas i cell E18:

 

"0" i G18 ska visa "Betala!" i E18

"9" i G18 ska visa "Dela 3!" i E18

"18" i G18 ska visa "Dela 6!" i E18

 

 

Det är alltså 3 olika alternativ som var för sig ska ge olika svar... därför blir det svårt för mig.

 

 

 

speedy1

 

 

Länk till kommentar
Dela på andra webbplatser

Samma formel som PerboMan gav dig fast med en liten modifikation:

=VÄLJ(G18/9+1;"Betala!";"Dela 3!";"Dela 6!")

 

Välj väljer alltså det alternativ som första parametern ger. Första parametern antar värdena 1, 2 eller 3 och därmed returneras alternativ 1, 2 eller 3.

 

 

/T

 

Even when we know we´ll never find the answers, we have to keep on asking questions.

 

Länk till kommentar
Dela på andra webbplatser

Det blev perfekt! :thumbsup:

 

Tack båda 2! Ni fick lite poäng för hjälpen. :)

 

Återkommer om jag behöver.

 

 

Mvh

speedy1

 

 

 

 

Länk till kommentar
Dela på andra webbplatser

Hmm, det vill sig inte riktigt...

 

Nu har jag flera Alternativknappar och Rotationsknappar i min konstruktion. Om jag skyddar bladet kan jag inte justera dessa knappar (inte heller låsa upp efter att ha markerat dem).

 

Låser jag upp dem med någon inställning under "Egenskaper", för varje knapp?

 

Jag vill ha några "vanliga" celler upplåsta och alla knappar justerbara!

 

 

speedy1

 

 

 

 

Länk till kommentar
Dela på andra webbplatser

Jepp, det kan tyckas vara lite bakvänt i Excel.

Först markerar du alla celler som användaren skall kunna påverka. I Cellformat på fliken Skydd tar du bort kråkan i rutan Låst.

Sedan skyddar du hela bladet.

 

/Pär B

 

Red:

Kom på att jag kanske måste förtydliga lite:

Bara de celler där användaren själv ska ändra värden behöver vara olåsta, alla celler som ändras på grund av beräkningar kan/skall vara låsta. Du kan t o m hindra användaren från att markera dessa och se underliggande formler.

/PB

[inlägget ändrat 2006-01-14 11:47:30 av PerboMan]

Länk till kommentar
Dela på andra webbplatser

Ok, tack! Så långt är jag med, men hur är det med själva Rotations- och Alternativknapparna? De ligger ju liksom "ovanpå" cellerna?

 

Hur kan jag få knapparna att vara justerbara efter att ha låst cellerna där resultatet står?

(Det går inte att markera celler och knappar samtidigt (för att låsa upp allt på en gång)...)

Det går alltså att markera alla knappar samtidigt, men om jag sen också markerar en vanlig cell "släpper" markeringen av knapparna. DS.

 

 

I min konstruktion är det totalt bara 3 vanliga celler som användaren ska kunna ändra i. Däremot finns det 9 Rotationsknappar + 4 Alternativknappar som också ska kunna justeras/markeras.

 

 

 

Jag söker i "Hjälp", men hittar ingen bra förklaring till hur "Kommandoknapp" och "Växlingsknapp" fungerar. Behöver ev. en av dem. Tips?

 

 

speedy1

 

 

 

[inlägget ändrat 2006-01-14 12:14:36 av speedy1]

[inlägget ändrat 2006-01-14 12:15:38 av speedy1]

Länk till kommentar
Dela på andra webbplatser

Justeringen av knapparna låses inte när du låser arbetsbladet men för att kunna justera värden måste cellerna som de skriver till vara olåsta. jag gav tidigare tips om att samla de celler du länkar dina knappar till inom ett område som du döljer för användaren. Därmed kan du låta dessa vara upplåsta.

 

Du kan ex.v. låta cellen direkt under din knapp vara länk cellen och på så vis gömma den. Länka sedan en låst cell till den cell som knappen är länkad till

 

te.x. länka din knapp till cell A1 och visa resultatet i A10, dvs formeln i A10 blir

=A1

 

Mao - låt knapparna vara. När bladet låses deras position och egenskaper men användaren kan ändra värdena.

/T

 

Even when we know we´ll never find the answers, we have to keep on asking questions.

 

Länk till kommentar
Dela på andra webbplatser

Ok, jag låste även de celler som knapparna var länkade till, det var felet. :) Tack!

 

Vilket är bäst; skydda blad eller skydda arbetsbok?

 

 

Hur fungerar Kommandoknapp och Växlingsknapp?

 

 

speedy1

 

 

 

 

Länk till kommentar
Dela på andra webbplatser

Skydda blad skyddar cellerna och komponenterna på ett blad. Skydda arbetsbok skyddar ordning och namnen på bladen i arbetsboken.

 

Hur fungerar Kommandoknapp och Växlingsknapp?

Du menar vad?

Fungera med avseende på vad?

Kommandoknapp klickar man på och en kod-snutt kan köras/triggas av detta.

En Växlingsknapp kan ta två värden; av eller på. En kodsnutt kan även köras och/eller en cell kan visa värdet på knappen. Dvs ungefär som två alterantivknappar som samverkar.

 

 

/T

 

Even when we know we´ll never find the answers, we have to keep on asking questions.

 

Länk till kommentar
Dela på andra webbplatser

Ok, bra!

 

1.

Jag har fyra olika Alternativknappar, vi kan kalla dem 1, 2, 3 och 4.

Har också 1 Kryssruta, som jag vill kunna markera bara om Alternativknapp 4 är vald. Kan man lösa detta?

 

 

Så här: Om Alternativknapp 1, 2 eller 3 är vald ska det inte gå att markera i kryssrutan.

Samtidigt; om Alternativknapp 4 är vald och Kryssrutan är ikryssad ska rutan avmarkeras automatiskt om jag direkt väljer Alternativknapp 1, 2 eller 3...

 

 

 

2. Cellerna som jag länkar mina knappar till måste vara upplåsta. Betyder det att jag inte kan skydda dem från oavsiktlig ändring (jag kan ju ändra färg på tecknen så att de inte syns mot bakgrundsfärgen).

 

 

speedy1

 

 

 

 

Länk till kommentar
Dela på andra webbplatser

1.

med lite VBA kod. Borde finnas exempel ovan som kan användas som grund för detta förfarande.

Typ när alternativknapp 4 ändras så kör något i stil med:

Private Sub OptionButton1_Change()
 Me.CheckBox1.Enabled = Me.OptionButton1.Value
End Sub

Anpassa givetvis namnen efter de i din arbetsbok.

 

2. Placera dem på ett område som användaren inte kommer åt. Har givit exempel på tekniker:

a: Placera på rader du döljer. När arbetsboken är låst kan inte användaren ta fram dessa rader.

b: Om du namnger länkcellerna kan du placera dem på ett annat blad som du i sin tur gömmer

c: Lägg dem bakom VBA-objekt. Det användaren inte ser söker han inte. Och det skadar ju inget om nu värden ändras. Så fort användaren klickar på en alternativknapp återsälls värden efter deras värden.

 

 

Klar snart?

 

 

/T

 

Even when we know we´ll never find the answers, we have to keep on asking questions.

 

Länk till kommentar
Dela på andra webbplatser

Nja, det här med att sätta villkor för Kryssrutan (Alternativknapp 4) blev väl ”så där”… men det kan fungera ändå.

 

Ok, jag döljer de rader med de länkade cellerna i, och sedan låser arbetsboken (jag kan väl ändå justera knapparna?)

 

Ja, jag är snart klar :o), men efterhand kommer jag på olika, lite ”flashiga”, funktioner som jag vill ha med i projektet, om de inte är för svåra att få till.

 

1. Jag vill, genom att på något sätt sätta samman följande celler till en ”enhet”, kunna tända/släcka hela denna ”enhet” med en knapp (Växlingsknapp?)

B26, C26

B27, C27

B28, B28

B29, C29

(dessa celler är olika stora, en del består av sammanfogade celler)

 

I ett knappläge ska cellerna synas, med fyllningsfärg och kantlinje. I andra läget ska cellerna inte synas (inte heller fyllningsfärg eller kantlinjer).

(Kan jag ”släcka” knapparna i området också?)

 

Kan jag skifta mellan 2 olika "enheter" text/celler (istället för att släcka i "andraläget")?

 

 

2.

I en cell skriver jag aktuellt datum. Detta vill jag ska uppdateras automatiskt, så att det när man än öppnar filen står korrekt datum för just den dagen.

 

 

Vore bra om detta går att lösa utan VBA…

 

speedy1

 

 

 

 

[inlägget ändrat 2006-01-17 11:20:57 av speedy1]

[inlägget ändrat 2006-01-17 11:22:09 av speedy1]

Länk till kommentar
Dela på andra webbplatser

Nja, det här med att sätta villkor för Kryssrutan (Alternativknapp 4) blev väl ”så där”… men det kan fungera ändå.

vad? Den fungerar utmärkt? Om alternativknappen ändras körs koden och utrycket

Me.OptionButton1.Value

returnerar sant eller falskt beroende på nya värdet...

 

1. Ta (åter) en titt på villkorsstyrd formatering. Den borde kunna hjälpa dig dit du vill.

Även om jag inte riktigt förstår vad du menar...

Dvs koppla knappen till en cell och basera fomater på de celler du vill "tända/släcka" på värdet på denna cell.

 

Om du vill "släcka", jag antar du menar avaktivera, knapparna behövs kod liknanden den jag gav i förra inlägget. Dvs sätta knapparna egenskaps Enabled till Sant eller Falskt

 

2:

sätt formeln i cellen till

=Nu()

och formatera att visa datum.

Nu() är en flyktig funktion och räknas om vid varje ändring i arbetsboken. Vill du veta mer om detta sök efter ordet Volatile i VBA hjälpen eller via e.x.v Google eller hos XLDennis.

 

/T

 

Even when we know we´ll never find the answers, we have to keep on asking questions.

 

Länk till kommentar
Dela på andra webbplatser

Tror inte det går (att villkorsstyra Alternativknapp och Kryssruta) pga att jag har 4 olika Alternativknappar i bladet, och dessa 4 är länkade till samma cell, vilket ger 1, 2, 3 och 4 som resultat i denna cell.

Kan det vara därför? (I så fall: strunt samma, det fungerar ok ändå!)

 

 

1.

Ja, det fungerar. Jag tänkte fel ang. fyllnadsfärg/kantlinje när jag skulle sätta villkorsstyrd formatering.

 

Bra, nu fungerar datumet, men uppdateras tydligen inte automatiskt kontinuerligt. Det var lite synd.

Koden "IDAG", uppdateras den varje gång (dag) man öppnar filen?

 

2.

Ang. justering av Rotationsknapparna...

När jag klickar (håller ner knappen) upp/ner på en Rotationsknapp, vill jag att den efter några sekunder ska räkna mycket snabbare än den gör från början. Släpper jag tillfälligt och börjar om, ska den först börja sakta, sedan snabbt igen så länge jag håller ner knappen. Tips?

Inte VBA är du snäll! :)

 

 

3.

Varje gång jag öppnar filen kommer en fråga om jag vill "Avaktivera makron" eller "Aktivera makron". Jag måste välja "Aktivera makron" för att knapparna ska fungera. Kan jag få bort denna fråga, och ändå ha fungerande knappar/celler?

 

 

Annars är det nog inte så mycket kvar nu. ska mest fixa till/dölja/låsa etc.

(om jag inte kommer på nå't annat).

 

speedy1

 

 

 

 

[inlägget ändrat 2006-01-17 21:55:00 av speedy1]

Länk till kommentar
Dela på andra webbplatser

0: Löste du det enligt punkt 1: eller?

 

1: IDAG() - ja du får väl testa. Och nej, det finns ingen funktion som kontinuerligt uppdaters. Däremot finns det ett antal som är flyktiga och räknas om vi varje ändring i boken (eller är det kanske bladet). Se till exempel funktionen SLUMP så ser du hur en flyktig funktion fungerar. Övriga funktioner räknas enbart om om området, dvs de celler, som ingår i formeln ändras.

 

2: Inga tips tyvärr. Inget jag testat och vet ärligt inte hur man skulle lösa det. Finn dig i hur det fungerar och var nöjd med det. Annars ,om det går att lösa, garanterar jag att VBA-kod måste utnyttjas.

 

3: Mmmh, genom att skapa en digital signatur och klicka i Lita alltid på denna källa eller något liknande.

Se vad MS har att skriva om saken:

http://office.microsoft.com/en-gb/assistance/HP052495551033.aspx

eller kanske snarare denna sida beskriver vad du kan göra (Ok, det är för Outlook men det ska stämma för Excel också).

 

Inte min hemmamark direkt...

 

Har du någon VBA-kodi arbetsboken? Ja, jag antar det har ju givit lösningar med kod i. För varningen dyker upp, som du nog förstår, om det finns någon kod i arbetsboken. Enbart knappar triggar den inte.

 

 

/T

 

Even when we know we´ll never find the answers, we have to keep on asking questions.

 

Länk till kommentar
Dela på andra webbplatser

Ja, den villkorsstyrda formateringen är löst!

 

1.

IDAG() verkar uppdateras vid ny dag; bra.

 

2.

Tror säkert det går att lösa med VBA-kod, men som du märkt (!) kan jag inte så’nt. Hoppas jag kan lära mig mer om det.

 

Istället vore det bra om jag, i den cell som visar resultatet av ”knappändringen”, också kan SKRIVA in ett värde direkt, istället för att behöva stega igenom alla siffror om jag t. ex ska gå från 5 till 475 (med intervall ”1”).

Om jag i nuläget skriver in ett värde, tappar cellen kontakt med den knapplänkade cellen, hmm… förstår du?

(Samtidigt vill jag helst ha ”visningscellen” låst i slutändan, så det här fungerar nog inte, i så fall får det vara ok iaf).

 

 

3.

Ska kolla på det med säkerhet/digitala signaturer...

 

 

VBA-kod i arbetsboken? Jag har ju lagt in formler i många olika celler… det blev en (kort) kod för varje knapp jag lagt in. Annars har jag inte skrivit in någon själv i VBA-läget. Exempel:

 

Private Sub OptionButton1_Click()

Call OBChange

End Sub

 

 

speedy1

 

 

 

Länk till kommentar
Dela på andra webbplatser

2.

 

Lite VBA kod i slutet men först en tanke.

Varför inte ha två rotationsknappar. En för steg som tio och en för steg om ett. Summera sedan dessa. Mycket enklare, mindre risk för fel, än den VBA kod som snart kommer.

Ditt alterntiv fungerar ju också. Tillåter du användaren att skriva in värden i cellen så nyttjas sedan värdet användaren skrivit nästa gång du klickar på rotationsknappen. Men det gäller då att det är den cellen som knappen är länkad till som användaren kan ändra på.

 

Om man vill begränsa vad en användare kan skriva in, ex.v. tal, så kan man göra detta via verktyget Verifiering som återfinns i menyn Data.

 

3. Ja, kod är det du ger ett exempel på, dvs

Private Sub OptionButton1_Click() 

osv.

En enda sådan rad triggar varningen.

 

 

Lite kod för punkt 1:

Private Declare Function GetTickCount& Lib "kernel32" ()
Private mySpinn As Long
Private Sub SpinButton2_Change()
   Static lastRun As Variant
'    If lastRun = 0 Then lastRun = GetTickCount()
   If GetTickCount() - lastRun > 200 Then
       mySpinn = 1
   End If

   lastRun = GetTickCount()

End Sub


Private Sub SpinButton2_SpinDown()
   setSpinn
End Sub

Private Sub SpinButton2_SpinUp()
  setSpinn
End Sub

Private Sub setSpinn()
   mySpinn = mySpinn + 1
   If Round(mySpinn / 10 + 1, 0) > 1 Then
        Me.SpinButton2.smallChange = Round(mySpinn / 10 + 1, 0) * 10
   Else
        Me.SpinButton2.smallChange = 1
   End If
End Sub

där raden

Me.SpinButton2.smallChange = Round(mySpinn / 10 + 1, 0) * 10

sätter stegstorleken och funktionen

Private Sub SpinButton2_Change()

håller koll på hur ofta värdet på knappen ändras. Om oftare än var 200:e millisekund så sätts steget till 1 genom att mySpinn sätts till 1.

Om du vill nyttja koden, anpassa namnen efter de i din arbetsbok samt anpassa steglängden och väntan (200:e millisekund kanske ska vara mindre) efter dina önskemål.

 

 

/T

 

Even when we know we´ll never find the answers, we have to keep on asking questions.

 

Länk till kommentar
Dela på andra webbplatser

Wow, tack! Det blev perfekt med fler Rotationsknappar. :thumbsup:

Jättebra tips! VBA-kod får nog vänta lite...

 

Som du säger; jag måste länka knappen till den aktuella cellen, men det var det värt. Samtidigt kan man skriva i cellen, perfekt!

 

 

Dataverifiering; fantastiskt! Att begränsa vad man, enligt ovan, kan skriva i cellen var precis vad jag var ute efter!

 

 

Har du fler sådana roliga och bra tips på funktioner?

 

 

speedy1

 

 

 

 

 

[inlägget ändrat 2006-01-18 22:15:37 av speedy1]

Länk till kommentar
Dela på andra webbplatser

Ny gren då sorteringen i den föregående verkar haverera..

 

Har du fler sådana roliga och bra tips på funktioner?

På rak arm - nej inte utan att du pekar i vilken riktning du söker något.

 

Dataverifieringen är väldigt kraftfull och användbar. Titta runt på möjligheterna där.

 

Och fråga på...

 

 

/T

 

Even when we know we´ll never find the answers, we have to keep on asking questions.

 

Länk till kommentar
Dela på andra webbplatser

Bra att du startade en ny gren, det blev något konstigt i den förra.

 

Givetvis! Jag frågar igen om det är något jag inte kan lösa.

 

Ang. Dataverifieringen; jag har använt mig av de 3 flikarna; Inställningar, Indatameddelande och Felmeddelande. Du säger:

Titta runt på möjligheterna där.

Inte för att det jag kan göra är dåligt, men finns det ytterligare möjligheter ang. Dataverifieringen?

 

 

speedy1

 

 

 

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...