Solu muotoilu jos luku muuttuu + tai -

Pötkötin

Moi. Mitenköhän solun värin saisi muuttumaan mikäli solussa oleva luku pienenee tai suurenee? Eli samalla tavalla kuin esim kauppalehden sivuilla jos kurssi laskee niin väri olisi punainen. Koitin ehdollista muotoilua mutta siinä pitää kai olla tietty luku mihin se vertaa kun taas haussa olis että väri muuttuu jos luku kasvaa tai pienenee. Eli siis kurssin mukaan.

13

1819

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • makron-avulla
    • yksinkertaista

      Tuohon ei tarvitse muuta kuin solun muotoilussa, kohdassa "Luku" valitsee kohdan "negatiiviset punaisella", etumerkillä tai ilman.

    • No tässä taas GIF animaatio, joka asettaa taulukon luvun esitystavan niin että negatiiviset luvut näytetään punaisella värillä. https://imgur.com/v0gX3wZ
      Kaiketi tämä on tehtävissä Excelilläkin samaan tapaan.

      • Kundepuu

        kannattaisi lukea kysymys uudestaan, ennenkuin postaa ihan huuhaata...
        kysyjähän haluaa luvun värin muuttuvan sen mukaan pieneneekö se vaiko kasvaa...
        ei onnaa ilman makroa


    • Kundepuu

      taulukon moduuliin
      muuta solu ja värit sopiviksi

      Option Explicit
      Private Sub Worksheet_Change(ByVal Target As Range)
      Static Vanha As Double
      If Not Intersect(Target, Range("A1")) Is Nothing Then
      If Target.Value > Vanha Then
      Target.Interior.Color = vbGreen
      Else
      If Target.Value < Vanha Then
      Target.Interior.Color = vbRed
      Else
      Target.Interior.Color = xlNone
      End If
      End If
      Vanha = Target.Value
      End If

      End Sub

      • värinvaihdos

        Samoilla linjoilla, laitoin vielä mahdollisuuden eräänlaiselle hystereesille, eli muuttujan "muutosraja" arvolla voi vaikuttaa kuinka pieneen muutokseen reagoidaan.

        Värejä voi muutella noiden RGB-funktioiden arvoilla.

        Dim temppi As Double
        Private Sub Worksheet_Change(ByVal target As Range)
        Dim muutosraja As Double: muutosraja = 0.05
        If IsNumeric(target) Then
        ' positiiviset arvot
        If target.Value - temppi > muutosraja Then
        target.Font.Color = RGB(0, 0, 0)
        target.Interior.Color = RGB(0, 255, 0)
        ' negatiiviset arvot
        ElseIf target.Value - temppi < -muutosraja Then
        target.Font.Color = RGB(255, 255, 255)
        target.Interior.Color = RGB(255, 0, 0)
        ' muutoin
        Else
        target.Font.Color = RGB(0, 0, 0)
        target.Interior.ColorIndex = xlNone
        End If
        temppi = target.Value
        Else
        ' jos solussa ei lukuarvo
        target.Font.Color = RGB(0, 0, 0)
        target.Interior.ColorIndex = xlNone
        End If
        End Sub


      • Kundepuu

        ei toimi noin oikein, koska ei huomoi solun vanhaa arvoa vaan viimeisen muutoksen arvon missä tahansa solussa ja vertaa siihen eikä solun oikeaan vanhaan arvoon...
        el


      • bugiraportti
        Kundepuu kirjoitti:

        ei toimi noin oikein, koska ei huomoi solun vanhaa arvoa vaan viimeisen muutoksen arvon missä tahansa solussa ja vertaa siihen eikä solun oikeaan vanhaan arvoon...
        el

        Heh, olet oikeassa. Olisi kannattanut testata useammalla solulla. Pitää viilata Intersect mukaan. Katson samalla saisiko siihen ympättyä muutaman sekunnin vilkkumisen, jolloin olisi hieman visuaalisempi.


    • Tämmöinen

      Tämä muuttaa alueella alue olevan solun väriä, kun sen arvoa muutetaan.
      Väri ei muutu, jos arvo muuttuu jonkin muun solun arvon muuttuessa (solussa on kaava).

      Private Sub Worksheet_Change(ByVal Target As Range)

          Dim uusi
          Dim kaava As String
          Dim alue As Range

      On Error GoTo err:
          Set alue = Range("A1:B5")
          If Not Intersect(alue, Target) Is Nothing Then
              uusi = Target.Value
              kaava = Target.Formula
              Application.EnableEvents = False
              Application.Undo ' katsotaan vanha arvo
              If Target.Value > uusi Then
                  Target.Interior.Color = vbRed
              ElseIf Target.Value < uusi Then
                  Target.Interior.Color = vbGreen
              Else
                  Target.Interior.Color = xlNone
              End If
              Target.Formula = kaava
          End If
      err:
          Application.EnableEvents = True
      End Sub

    • Pötkötin

      Mihin tollaset systeemit laitetaan, johonkin macroon vai? Ei oo tullu koskaan käytettyä..

    • sivullinen3

      Kopioi toi kaava, Excelissä sitten klikkaa alhaalta taulukonvalitsinta (esim. Taul1) hiiren oikealla ja valitse "Näytä koodi". VBA editor avautuu. Liitä kopioimasi makro siihen avautuvaan ikkunaan ja sulje Editori.
      Huomaa makrosta että toiminto "pelaa" vain alueella A1:B5. Muuta aluetta jos tarvis.

    • Sivullinen3

      Siis jos tarkkoja ollaan, niin toi alku piti olla "Kopioi toi makro".
      Sivullinen3 kiittää "Tämmöistä" . Makro pelaa hyvin. Sille löytyy varmasti käyttöä.

    • Pötkötin

      Kiitoksia kaikille, nyt toimii :)

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Ihanasti alkoi aamu: SDP:n kaula kokoomukseen jo 6,9 %-yks

      Lindtmanin I hallitus on tukevasti jytkyttämässä laittamaan Suomi kuntoon Orvon täystuhohallituksen jäljiltä, jonka kann
      Maailman menoa
      256
      1862
    2. Olen niin kesken

      Omien asioiden suhteen etkä voi odottaa loputtomiin. Mun on muutenkin niin vaikea suhun luottaa vaikka joku ihme syvyys
      Ikävä
      15
      1398
    3. Tietääkö joku ylläpidosta?

      Miten näillä palstoilla tomii tuo ylläpito, onko sitä yli päätään olemassa vai ovatko huhut totta että on palstan kirjoi
      Sinkut
      210
      1277
    4. Auttaja paikalla. Kerro huolesi. (Osa 2)

      Voin auttaa sinua näkemään tilanteesi uudesta näkökulmasta. Voin antaa lohtua, toivoa ja rohkeutta. Olen elänyt maan pä
      Ikävä
      185
      1125
    5. Minkä ikäinen

      Minkä ikäinen on kaipauksesi kohde?
      Ikävä
      65
      943
    6. Nainen olet ensimmäinen tarpeeksi vahva

      joka kestää tämän kokonaisuuden, minut. Persoonani, tunteeni, kipuni, pelkoni. Olen aina pidätellyt itseäni ja antanut v
      Ikävä
      60
      933
    7. TTK:sta tippunut Sara Siipola rehellisenä Jurza-open kanssa: "Että jaa, siinäkö..."

      Tippuiko oikea TTK-pari ensimmäisenä? Joka tapauksessa iso kiitos tansseistanne Sara ja Jurza Tanssii Tähtien Kanssa -p
      Tanssii tähtien kanssa
      18
      904
    8. Tunnisteita kaipaajille

      Onko jokin juttu mistä sun kaivattu tietää et viesti ois hälle? ☎️📝
      Ikävä
      51
      846
    9. Martina ei mennyt naimisiin

      IS 17.9: Martinan häät peruuntui, tajusi, ettei ollut oikea aika. Rahat meni hevosiin. On edelleen parisuhteessa Yhdysva
      Kotimaiset julkkisjuorut
      126
      820
    10. Mä tuun aina rakastamaan sua J

      Mutta en pysty kertomaan, että mikä mulla on hätänä. Mä en kertakaikkiaan pysty. Joskus naureskelit muiden ihmisten vai
      Ikävä
      61
      803
    Aihe