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

1573

    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. Kiitos nainen

      Kuitenkin. Olet sitten ajanmerkkinä. Tuskin enää sinua näen ja huomasitko, että olit siinä viimeisen kerran samassa paik
      Tunteet
      12
      4070
    2. MTV: Kirkossa saarnan pitänyt Jyrki 69 koki yllätyksen - Paljastaa: "Se mikä oli hyvin erikoista..."

      Jyrki Linnankivi alias Jyrki 69 on rokkari ja kirkonmies. Teologiaa opiskeleva Linnankivi piti elämänsä ensimmäisen saar
      Maailman menoa
      82
      2091
    3. Hyväksytkö sinä sen että päättäjämme ei rakenna rauhaa Venäjän kanssa?

      Vielä kun sota ehkäpä voitaisiin välttää rauhanponnisteluilla niin millä verukkeella voidaan sanoa että on hyvä asia kun
      Maailman menoa
      550
      1658
    4. Kirjoita yhdellä sanalla

      Joku meihin liittyvä asia, mitä muut ei tiedä. Sen jälkeen laitan sulle wappiviestin
      Ikävä
      99
      1395
    5. Olet hyvin erilainen

      Herkempi, ajattelevaisempi. Toisaalta taas hyvin varma siitä mitä haluat. Et anna yhtään periksi. Osaat myös ilkeillä ja
      Ikävä
      67
      1117
    6. Yksi syy nainen miksi sinusta pidän

      on se, että tykkään luomusta. Olet luonnollinen, ihana ja kaunis. Ja luonne, no, en ole tavannut vielä sellaista, joka s
      Ikävä
      33
      1048
    7. Hyödyt Suomelle???

      Haluaisin asettaa teille palstalla kirjoittelevat Venäjää puolustelevat ja muut "asiantuntijat" yhden kysymyksen pohditt
      Maailman menoa
      216
      943
    8. Hyvää Joulua mies!

      Toivottavasti kaikki on hyvin siellä. Anteeksi että olen hieman lisännyt taakkaasi ymmärtämättä kunnolla tilannettasi, o
      Ikävä
      60
      893
    9. Hyvää talvipäivänseisausta

      Vuoden lyhyintä päivää. 🌞 Hyvää huomenta. ❄️🎄🌌✨❤️😊
      Ikävä
      171
      864
    10. Paljastavat kuvat Selviytyjät Suomi kulisseista - 1 päivä vs 36 päivää viidakossa - Katso tästä!

      Ohhoh! Yli kuukausi viidakossa voi muuttaa ulkonäköä perusarkeen aika rajusti. Kuka mielestäsi muuttui eniten: Mia Mill
      Suomalaiset julkkikset
      3
      838
    Aihe