Miten teen ehdollisen muotoilun jos valitulla alueella jokin arvo muuttuu?

Anonyymi

Tarkoitukseni olisi käyttää ehdollista muotoilua uuden säännön kanssa. Eli jos joku arvo (kokonaislukujua) valitulla alueella muuttuu, niin tietty solu alueen ulkopuolella muuttuu punaiseksi. Tämä olisi minulle indikaattori, että taulukon muokkauksen jälkeen muistaisin suorittaa makron.

10

155

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Anonyymi

      Helpoiten tuo onnistuu makrolla. Ehdolliseen muotoiluun ei taida yksinkertaisesti saada muutoksen tarkkailua.

      Tämä ko. välilehden moduliin:

      Private Sub Worksheet_Change(ByVal Target As Range)
          If Not (Intersect(Target, Range(Alue)) Is Nothing) Then
             Range(Merkki).Interior.Color = RGB(255, 0, 0)
          End If
      End Sub

      Esimerkissä alueet oli määritelty vakiona modulissa
      Public Const Alue = "A1:C3"
      Public Const Merkki = "D1"

      Voit laittaa makroosi rivin, joka kuitaa värin.

      • Anonyymi

        Kiitos vastauksesta. En halua käyttää kuitenkaan montaa makroa samassa työkirjassa.

        Taidan kuitenkin tyytyä tekemääni ratkaisuun: jos solun E27 arvo =0 , solu E26 on vihreä tekstillä "Status". Jos arvo =1, solu E26 on punainen tekstillä "Status". Avatessani työkirjan siis manuaalisesti syötän arvon 1 soluun E27, jolloin muistan suorittaa oman makron ennen tallentamista.


      • Anonyymi
        Anonyymi kirjoitti:

        Kiitos vastauksesta. En halua käyttää kuitenkaan montaa makroa samassa työkirjassa.

        Taidan kuitenkin tyytyä tekemääni ratkaisuun: jos solun E27 arvo =0 , solu E26 on vihreä tekstillä "Status". Jos arvo =1, solu E26 on punainen tekstillä "Status". Avatessani työkirjan siis manuaalisesti syötän arvon 1 soluun E27, jolloin muistan suorittaa oman makron ennen tallentamista.

        Yksinkertainen on kaunista, mutta rajoitus yksi makro per työkirja on perusteeton.


      • Anonyymi
        Anonyymi kirjoitti:

        Yksinkertainen on kaunista, mutta rajoitus yksi makro per työkirja on perusteeton.

        Yksinkertainen, mutta iso on tämä kyseinen taulukkokin. Tämän halusin vain siksi, että muistan suorittaa tuon oman makron ennen tallentamista ja vielä tarkistaa ennen tallennusta.


    • Kun Excel aukeaa, niin voit liittää siihen makron. Mutta jos 1 pikku makro on liikaa, niin sitten manuaalisesti vaan..

      Private Sub Workbook_Open()
      Worksheets(1).Range("E27") = 1
      End Sub

      • Anonyymi

        @kunde . Tämän tein; kiitosta.


      • Anonyymi kirjoitti:

        @kunde . Tämän tein; kiitosta.

        Voithan sä sen makron liittää suoraan ennen sulkemista tapahtumaankin, jolloin tota aukeamistapahtuman makroa ei sitten tarvitse ja suorittaa sen sun makron automaattisesti...

        Private Sub Workbook_BeforeClose(Cancel As Boolean)
        tähän oman makro kutsu
        End Sub

        Keep EXCELing
        @Kunde


      • Anonyymi
        kunde kirjoitti:

        Voithan sä sen makron liittää suoraan ennen sulkemista tapahtumaankin, jolloin tota aukeamistapahtuman makroa ei sitten tarvitse ja suorittaa sen sun makron automaattisesti...

        Private Sub Workbook_BeforeClose(Cancel As Boolean)
        tähän oman makro kutsu
        End Sub

        Keep EXCELing
        @Kunde

        @kunde Onko mitään eroa jos suorittaa tuon makron sulkiessa tai avatessa ko. työkirjan?


      • Anonyymi

        @kunde Kiitos selvennyksestä ja nopeista vastauksista. Homma on nyt selvä tämän ketjun osalta.


    • Anonyymi

      Tarvitsenkin lisää apuja. Nyt tarkoitus olisi suojata taulukkoa ja välilehtiä "sheets" tiettyjen solualueiden osalta. Suojaa solut ratkaisu ei käy, koska jaan työkirjaa One Driven kautta jaetulla linkillä vain luku muodossa.

      Tein tällaisen koodin "Workbook, Change":

      Private Sub Worksheet_Change(ByVal Target As Range)
      Dim KeyCells As Range
      Set KeyCells = Range("B7:S49")
      If Not Application.Intersect(KeyCells, Range(Target.Address)) _
      Is Nothing Then
      Application.EnableEvents = False
      Application.Undo
      Application.EnableEvents = True

      MsgBox "Cell " & Target.Address & "Et voi muuttaa solun arvoa"

      End If
      End Sub

      Tämä toimii, mutta jos valitsen solun tältä alueelta ja syötän siihen esim. luvun 1 koodi sallii täyttökahvan käytön, enkä tietenkään voi tietenkään enää poistaa solujen sisältöä. Koodihan voi olla kylläkin väärin. Toinen ratkaisuni olisi käyttää "Workbook, SelectionChange" jolloin voisin käyttää

      Private Sub Worksheet_Change(ByVal Target As Range)
      If Not (Intersect(Target, Range(Alue)) Is Nothing) Then

      jolloin automaattisesti tulisi teksti ja undo, mutta tähän eivät omat taidot vielä taivu.

      terv.j

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

    Luetuimmat keskustelut

    1. Olet toisen kanssa

      ...ja minä yhä vain sinua kaipaan. Tiedän ettet ole onnellinen siellä. Älä hukkaa aitoa onnea ja rakkautta hukkaan vain
      Ikävä
      258
      1860
    2. Näytit taas lihoneen.

      Tynnyri se vaan kasvaa.
      Ikävä
      40
      1688
    3. Immu otti pataan

      Olen pettynyt, hänen piti viedä Stagalaa kuin litran mittaa - mutta kuinka kävikään? Voi hemmetti sentään.... Ääääääh!
      Kotimaiset julkkisjuorut
      100
      1599
    4. Kuka teistä on paras nainen

      A-nainen? J-nainen? K-nainen? M-nainen? S-nainen? Vai kenties joku muu...? 😊
      Ikävä
      63
      1389
    5. Osaako joku selittää tätä

      Että miksi mulle on joka toinen ventovieras ihminen tyly ainakin ilmeillään ja eleillään?
      Ikävä
      79
      1274
    6. Onko jotain mistä

      Olet huolissasi kaivattusi suhteen?
      Ikävä
      78
      1254
    7. Jos me joskus nähtäisiin

      niin ei kai sen vielä tarvitsisi merkitä sen enempää? Ja voihan olla ettei kumpikaan enää siinä vaiheessa edes haluaisi
      Ikävä
      103
      1223
    8. Koska vietät

      Yhteisen yön kaivattusi kanssa?
      Ikävä
      55
      1067
    9. Persun suusta:"Köyhät on luusereita ja ansaitsevat köyhyyden"

      Ministeri Juuston apulainen näin uhoaa. Mitäs siinä. Kyllä on jo tiedetty muutaman vuoden hallitustyön pohjalta että per
      Lieksa
      204
      1062
    10. Näetkö feminismin uhkana

      Vai mahdollisuutena kun deittailet naisia? Mitä miehet mieltä feminismistä?
      Ikävä
      160
      942
    Aihe