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ä
Värikoodi monimutkaiseen kaavaan
6
275
Vastaukset
- 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
- 1362041
- 1211425
Atte Harjanne usuttaa eläkeläisvihaan
Karmeeta kuultavaa aamun uutislähetyksessä, kun Atte Harjanne, tunnettu eläkeläisvihaaja, suitsii sukupolvien välistä v3321203Postimerkki kirjeeseen ja kortiin maksaa jo 3 euroa!
https://yle.fi/a/74-20229241 Kyllä tämä on järjetön hinta, Posti tuhoaa itsensä tällä hinnalla, täytyyhän Postin "Herro1401180Keitä oli kunnanjohtajan erottajat?
Kouluja ei ole varaa ylläpitää mutta johtajasopimukseen palaa 100000 euroa ja uuden johtajan hakuprosessi maksaa kymmeni631132IS: Väitöstutkimus - Pyöräilybuumi oli pelkkä kupla!
Pyöräilybuumista paljastui karu totuus Väitöstutkimuksen mukaan suuri suomalainen pyöräilyrenessanssi olikin vain pelkk31121- 1411099
- 491079
Mene perheinesi arkkiin - kasteelle !
Juutalaiset oli hyvin lapsirakkaita, mitään ehkäisyä ei käytetty. Perheissä oli paljon lapsia. Viiden koko perheen kast470947Milloin bikineistä
Tuli juhla tai esiintymis asu? Pikkasen harkintaa vois käyttää. Bikinit kuuluvat uimarannalle. No, mitä maailman tähdet98935