Värikoodi monimutkaiseen kaavaan

Ville 59

Hei,

Onnistun hakemaan onnistuneesti toisesta välilehdeltä tiedot seuraavan kaavan avulla:
=IF(ISNA(VLOOKUP(B59;'991 puhelimet 6 2011'!$A$2:$B$220;2;FALSE));0;VLOOKUP(B59;'991 puhelimet 6 2011'!$A$2:$C$220;2;FALSE))

Haluisin ettei tietyllä värikoodilla olevalle tule arvoa. yritin pyöritellä kaavaa muotoon:
=IF(AND(ColorFunction($N$5;$N$4:$N$50;""));ISNA(VLOOKUP(B59;'991 puhelimet 6 2011'!$A$2:$B$220;2;FALSE));0;VLOOKUP(B59;'991 puhelimet 6 2011'!$A$2:$C$220;2;FALSE)) --> ei toimi ainakaan näin
ja lisäsin VBA:han:
Function ColorFunction(rColor As Range, rRange As Range, Optional SUM As Boolean)

Dim rCell As Range

Dim lCol As Long

Dim vResult

lCol = rColor.Interior.ColorIndex



If SUM = True Then

For Each rCell In rRange

If rCell.Interior.ColorIndex = lCol Then

vResult = WorksheetFunction.SUM(rCell, vResult)

End If

Next rCell

Else

For Each rCell In rRange

If rCell.Interior.ColorIndex = lCol Then

vResult = 1 vResult

End If

Next rCell

End If



ColorFunction = vResult

End Function

osaisko joku jeesata mitä pitää muuttaa? Eli ideana että N sarakkeeseen mihin haetaan toiselta välilehdeltä tietoa, että jos on tietyn värinen, niin kohta jää tyhjäksi, vaikka sille arvo olisi toisella välilehdellä

6

254

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • muuan mies

      Riittäisikö se, että nuo tietyn väriset näytetään valkoisella värillä valkoisella pohjalla ehdollisella muotoilulla, jolloin kohta _näyttää_ tyhjältä?

    • ville 59

      niin olen tähän mennessä toiminut.. mutta luulisi onnistuvan kaavan ja VBA:n avulla, jolloin saisin kohdat kokonaan ilman arvoa..

      • haet siis solulla B59 arvoa toisesta taulukosta ja olet varmaankin kopioinut kaavaa alaspäin jolloin seuraavaan soluun haetaan arvoa solusta B60 jne...

        tokassa kaavassa yrität sitten "funktioräpellyksestäsi" päätellen laskea solun N5 värin mukaan joko summaa tai solun N5 väristen lukumäärää soluista N4:N50 riippuen funktion kutsusta?

        päin persettähän toi on kokonaan...
        funktio ei palauta mitään

        jos siis haluat laskea tietyltä alueelta tietynväriset arvot niin paras tehdä oma makro ja käyttää sitä ja samalla tyhjentää tietynväristen solujen arvot.
        Mitenkäs noi värit soluun määritellään?

        kahotaan saatko selkokielistä kyssäri aikaan...


    • Ville 59

      juu nimenomaa funktioräpellys yritykseni oli... =D

      juu olet oikeassa, kyseisen rivin kohdalla haen solun B59 arvoa toisesta taulukosta ja ratkaisu näkyy sarakkeessa N(tässä tapauksessa esim N59). Sama homma toistuu esim sitten seuraavalla rivillä B60... jne.. siinä ei ongelmaa...
      eli ymmärtääkseni kaavani:
      =IF(ISNA(VLOOKUP(B59;'991 puhelimet 6 2011'!$A$2:$B$220;2;FALSE));0;VLOOKUP(B59;'991 puhelimet 6 2011'!$A$2:$C$220;2;FALSE))
      on tätä myöten oikea...

      mutta jos on N sarakkeessa on väreillä erilaisia henkilöitä jotka ovat väriltään harmaat(ei kuuluu saada arvoa vaikka sellainen olisikin....) ja sitten valkoinen(henkilöt jotka saavat arvon jos sellainen on olemassa toisessa taulokossa)
      Ns. valkoisten osalta no problem, se onnistuu yllä mainitulla kaavalla, eli tuo arvon jos sellainen on olemassa..
      mutta harmaille en haluisi arvoa vaikka sellainen olisikin.. Olen ratkaissut tähän mennessä ehdollisella muotoilulla, sillä saan kyseisen solun tyhjännäköiseksi, muttei poista arvoa.. Tällöin ongelmaksi muodostuu jos linkitän kyseistä solua eteenpäin muissa kaavoissa.

      en tiedä onko tämä nyt selkeemmin selitetty.. hope so! oman makron tekemisestä en tiedä mitään.. tuon copypastoin...

      • ei oo aikaa enempää kun reissua pukkaa...
        poista kaavat N sarakkeesta ja lisää se koodissa oamakaavasi kohtaan...

        jos ei onnaa niin viikon päästä palailen asiaan

        väri on 15 =harmaa, muuta oikeaksi

        taulukon moduuliin...

        Option Explicit

        Private Sub Worksheet_Change(ByVal Target As Range)
        If Not Intersect(Target, Range("B:B")) Is Nothing Then
        If Target.Offset(0, 12).Interior.ColorIndex = 15 Then
        Target.Offset(0, 12) = ""
        Else
        Target.Offset(0, 12).Formula = "omakaavasi tähän"
        End If
        End If
        End Sub

        Keep EXCELing
        @Kunde


    • Vilel 59

      eikös tuohon tarvittaisi vielä jonkinnäköinen kaava N-sarakkeen kohdalle viitaten moduulin....

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

    Luetuimmat keskustelut

    1. Sannan kirja USA:n bestseller!

      "Congratulations to Sanna Marin's HOPE IN ACTION, officially a USA TODAY bestseller!" Kertoo Scribner. Mitäs persut tä
      Maailman menoa
      74
      10839
    2. Yritystuet 10 mrd. vuodessa, eli yrittäjäriski valtiolla kuten kommunismissa

      Pelkästään Viking Linen viinanhakuristeilyitä sponsoroidaan 20 miljoonalla eurolla vuosittain. Dieselin verotukikin on
      Yrittäjyys
      135
      10232
    3. Oikeistolainen luki Med mod att leda : en biografi

      ...ei tykänny Sanna Marinista
      Maailman menoa
      25
      7981
    4. Sture Fjäder haluaa tuensaajien nimet julki

      Kokoomuspoliitikko haluaa yli 800 euroa kuukaudessa tukia saavien nimet julki. Ehkä olisi syytä julkaista myös kuvat? h
      Maailman menoa
      177
      6424
    5. Metsäalan rikolliset

      Jokohan alkaa vähitellen kaatua kulissit näillä ihmiskauppaa harjoittavilla firmoilla.
      Sotkamo
      42
      5330
    6. Milloin viimeksi näit kaivattusi?

      Toimisitko nyt toisin kuin siinä tilanteessa teit?
      Ikävä
      71
      4951
    7. Ruotsalaistoimittaja: "Sanna Marinin saunominen saa minut häpeämään"

      Sanna Marinin kirja saa täyslaidallisen ruotsalaislehti Expressenissä perjantaina julkaistussa kolumnissa.....voi itku..
      Maailman menoa
      136
      4253
    8. Suomen kaksikielisyys - täyttä huuhaata

      Eivätkö muuten yksilöt pysty arvioimaan mitä kieliä he tarvitsevat? Ulkomaalaiselle osaajalle riittää Suomessa kielitai
      Maailman menoa
      18
      4163
    9. Työeläkeloisinta 27,5 mrd. per vuosi

      Tuo kaikki on pois palkansaajien ostovoimasta. Ja sitten puupäät ihmettelee miksei Suomen talous kasva. No eihän se kas
      Maailman menoa
      26
      3877
    10. Maahanmuuttajat torjuvat marjanpoiminnan - "emme ole rottia"

      Ruotsalaisen journalistin selvitys paljasti, miksi maahanmuuttajat kieltäytyvät työstä. Taustalla vaikuttavat kulttuuris
      Maailman menoa
      131
      3534
    Aihe