Gå til innhold

Hvordan lage popups i Excell?


ilpostino

Anbefalte innlegg

Jeg har et spørsmål angående Excell. Regneboken er vedlagt slik at det blir lettere å forstå hva jeg mener.

 

Planen med dette er at to lag skal få x antall spørsmål (Dette er skrevet inn i feltet B2). Når et av lagene er to spørsmål fra å ha halvparten av spørsmålene riktige (felt C2) skal det komme opp en advarsel/popup som sier ifra hvilkent lag som holder på å vinne.

 

(Slik jeg har gjort det hitil vil det si at når felt B4 eller B5 erlik 1 så skal popupen komme opp. Muligens det finnes bedre løsninger på dette, men det tte er det beste jeg har kommet på hittil).

 

Det mest ideelle er å lage det slik at når det ene laget er for langt bak til å ta igjen det andre laget så skal det også komme en advarsel om dette).

 

håper noen kan hjelpe...

Lenke til kommentar
Videoannonse
Annonse

Med popup menes oftest en såkalt "messagebox" med tekst og en OK-knapp. Dette trenger du VBA-kode (aka makroer) til, det lar seg ikke løse med formler.

 

En sånn boks er en plagsom og veldig lite effektiv måte å gi beskjeder på: Den dukker opp uten at brukeren vil det, brukeren kan ikke fortsette arbeidet uten å OK'e eller lukke boksen, og når den er OK'et eller lukket så er beskjeden ugjenkallelig vekk, gjerne ulest og sjeldent fordøyd og forstått. Du burde bruke en celle til dette, eller alternativt en "modeless" userform som flyter over arket uten å forstyrre. Men det er ikke veldig enkelt å sette opp.

 

Forslag formel i celle C7:

=HVIS(lag1>antspm/2-2;"Vinner snart";"")

Formatter den gjerne med røde bokstaver e.l..

 

HTH. Beste hilsen Harald

Endret av Harald Staff
Lenke til kommentar
Med popup menes oftest en såkalt "messagebox" med tekst og en OK-knapp. Dette trenger du VBA-kode (aka makroer) til, det lar seg ikke løse med formler.

 

 

er det mulig å legge inn noe i en celle som trigger en makro (som igjen starter en messagebox)?

 

edit: takk så langt

Endret av ilpostino
Lenke til kommentar

Ikke egentlig. Men hvert regneark har en del "events" dvs predefinerte tomme makroer du kan fylle med kode. En av dem er "change" som kjører hver gang et nytt celleinnhold tastes inn. Høyreklikk arkfanen, "vis kode", lim inn denne:

 

Private Sub Worksheet_Change(ByVal Target As Range)

If Me.Range("D3").Value = 12 Then MsgBox "Tolv rette i D12"

End Sub

 

Man skal holde tunga rett i munnen. Du ønsker ikke egentlig en makro som kjører når en celleverdi er lik 1, men som kjører akkurat idet den går fra å være noe annet til å bli 1. Hvordan denne verdiendringen foregår avgjør hvilket event som er hensiktsmessig å bruke.

 

Jeg forstår gleden over å få dette til, men messageboxer er noe forferdelig dritt.

 

HTH. Beste hilsen Harald

Lenke til kommentar

Nå mistet du meg. Formler og makroer er to forskjellige verdener. Men gir ikke kodeeksempelet mitt en indikasjon ?

 

En formel kan ikke starte en makro. Ikke tenk en sånn eventuell tanke videre, det er helt umulig.

 

Jeg må vite hvilken excelversjon/språkversjon du bruker, om du kan noe VB og om du forstår svarene mine, før jeg kan hjelpe deg videre. Testet du formelløsningen ?

 

Beste hilsen Harald

Lenke til kommentar

joda.. skjønner hva du mener. Mesteparten av de 4 årene jeg har studert data har gått med til programmering (men jeg lærte meg aldri VB - det nærmeste er ASP 3.0, noe jeg straffes litt for nå). (Har heller aldri tatt noen utdannelse som omfatter bruk av Office).

 

Jeg har Office 2003 Sp2.

 

Grunnen til at jeg spør litt om makroer er fordi jeg forhåpentligvis skal ende opp med litt avansert regning... så istedenfor å ha en hel haug med celler som har hver sin formel så tenkte jeg å heller prøve å få lagt all utregniger inn i en makro hvis mulig...

Lenke til kommentar

Aha Ok Skjønner.

 

Mulig, absolutt. Men når man jobber i Excel er det viktig å respektere den gamle damen. "La Excel være Excel", ikke bare en bærer for programmeringskode. Noe hun virkelig gjør godt er å regne. En velskrevet effektiv makro vil ikke engang nå en tiendedel av effektiviteten til regnearket selv. Haugen med formelceller kan være enorm uten at du merker det, og hun har en utrolig evne til å holde orden på hva som skal beregnes når.

 

Det finnes unntak som forsvarer din innfallsvinkel. Noen beregninger skal foretas en eneste gang og så aldri mer, mens en formel rekalkulerer hver gang en celle skifter verdi. Og enkelte oppslags- og matriseformler er enormt kraftkrevende og bør aldri opptre i flokk.

 

Og så er det en god del ting formler ikke kan da. Som å pushe data, vise popups, endre og slette filer og å vise popups.

 

Jeg så i eksemplet ditt at du bruker en del separate celler til mellomberegninger. Det er verken riktig eller galt, men i seg selv ingen grunn til å bekymre seg om verken alternativer eller ytelse. Man kan jo eventuelt flytte denslags til skjulte ark eller andre steder det de ikke synes.

 

Engelsk eller norsk Office ?

 

Beste hilsen Harald

Lenke til kommentar
Engelsk eller norsk Office ?

5495027[/snapback]

 

Å respektere den gamle damen, hva er nå det? :p

 

Har engelsk utgave av Office...

 

Excell har jo fungert veldig greit til det jeg har brukt den til tidligere, men når hodet fylles av mange gode (?) idéer er det ikke alltid like greit å få data'n til å følge med... ;)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...