Minkälainen olisi VB -kaava, kun tarve olisi seuraavanlainen rajatulle alueelle ja tietyille riveille?
Alue olisi E5-IJ40, mutta kaava koskisi vain rivejä: 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31 ja 33.
Eli, painonapeilla valittaisiin minkä värisiä ja kirjaimisia soluista tulisi, kun niitä hiirellä klikkaisi.
Excel-taulukon alareunaan kaava-alueen ulkopuolelle tulisi tarvittava määrä -ehkä 5 kpl -painonappeja, joilla valitaan haluttu solun väri, joissa olisi ennalta määrätty kirjain (L, P, X, W..ym..).
Värit voisivat olla melko selkeitä neon-hohtoisia, tai sitten voisin ne itse valita kunhan saisin tietää värien koodit.
Simppeli toive, hiirellä klikkaisi haluamiaan soluja.. - nyt haluan soluista harmaita, joissa on P -kirjain -nyt haluan kellertävänvihreitä, joissa W -kirjain -nyt haluan vaalean sinisen, jossa R -kirjain jne..
Omat kyvyt ei riitä koodaamiseen, viilailuun ehkä kyllä.
Alue olisi E5-IJ40, mutta kaava koskisi vain rivejä: 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31 ja 33.
Eli, painonapeilla valittaisiin minkä värisiä ja kirjaimisia soluista tulisi, kun niitä hiirellä klikkaisi.
Excel-taulukon alareunaan kaava-alueen ulkopuolelle tulisi tarvittava määrä -ehkä 5 kpl -painonappeja, joilla valitaan haluttu solun väri, joissa olisi ennalta määrätty kirjain (L, P, X, W..ym..).
Värit voisivat olla melko selkeitä neon-hohtoisia, tai sitten voisin ne itse valita kunhan saisin tietää värien koodit.
Simppeli toive, hiirellä klikkaisi haluamiaan soluja.. - nyt haluan soluista harmaita, joissa on P -kirjain -nyt haluan kellertävänvihreitä, joissa W -kirjain -nyt haluan vaalean sinisen, jossa R -kirjain jne..
Omat kyvyt ei riitä koodaamiseen, viilailuun ehkä kyllä.
Vastaukset 5
Vanhimmat
2 eri koodonpätkää ...
liitä eka taulukon moduuliin ja toka tavalliseen moduuliin
Jos kokeilet jälkimmäistä poista silloin taulukon moduulista toi eka koodi tai hipsaa koodi.
Eka värjää solun jos ehto täyttyy taulukossa kun tieto muuttuu
Toka koodi käy läpi alueen ja värjää ehtojen mukaan
Mielestäni ei nappeja tohon kannata laittaa kuin 1?
Kumpikin helposti muokattavissa.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Alue1 As Range
Dim Alue2 As Range
Dim Alue3 As Range
'fiksaa alueet, selkeyden vuoksi jaettu osiin
Set Alue1 = Range("E5:IJ40")
Set Alue2 = Union(Range("5:5"), Range("7:7"), Range("9:9"), Range("11:11"), Range("13:13"), Range("15:15"), Range("17:17"), Range("19:19"), Range("21:21"), Range("23:23"), _
Range("25:25"), Range("27:27"), Range("29:29"), Range("31:31"), Range("33:33"))
Set Alue3 = Intersect(Alue1, Alue2)
'tsekataan onko oikea rivi alueella
If Not Intersect(Target, Alue3) Is Nothing Then
'tsekataan, että vain 1 solu valittuna
If Target.Cells.Count = 1 Then
'tsekataan kirjain ja sen perusteella väri- nyt 3 eri tavalla malliksi
Select Case UCase(Target)
Case "L"
Target.Interior.Color = vbRed
Case "P"
Target.Interior.ColorIndex = 7
Case "W"
Target.Interior.Color = RGB(0, 255, 0)
Case Else
Target.Interior.Color = xlNone
End Select
End If
End If
End Sub
Sub Värjää()
Dim Alue1 As Range
Dim Alue2 As Range
Dim Alue3 As Range
'fiksaa alueet, selkeyden vuoksi jaettu osiin
Set Alue1 = Range("E5:IJ40")
Set Alue2 = Union(Range("5:5"), Range("7:7"), Range("9:9"), Range("11:11"), Range("13:13"), Range("15:15"), Range("17:17"), Range("19:19"), Range("21:21"), Range("23:23"), _
Range("25:25"), Range("27:27"), Range("29:29"), Range("31:31"), Range("33:33"))
Set Alue3 = Intersect(Alue1, Alue2)
For Each solu In Alue3
'tsekataan kirjain ja sen perusteella väri- nyt 3 eri tavalla malliksi
Select Case UCase(solu)
Case "L"
solu.Interior.Color = vbRed
Case "P"
solu.Interior.ColorIndex = 7
Case "W"
solu.Interior.Color = RGB(0, 255, 0)
Case Else
solu.Interior.Color = xlNone
End Select
Next
End Sub
Kundepuu, en saa tätä toimimaan mitenkään. "Set Alue2" menee punaiseksi.. onko siinä mahdollisesti jokin virhe.
Suomi24 tehtailee typeriä ylimääräisiä rivinvaihtoja. Kun rivi jatkuu, _ -merkin jälkeen ei saa olla tyhjää riviä, vaan jatkon pitää seurata heti.
Kyllä se on ihan "laillinen" rivinvaihto VBA koodissa.
Eli rivin lopussa on _ sen jälkeen tyhjä välilyönti ja lopuksi painetaan ENTER rivinvaihdoksi ja koodia jatketaan seuraavalla rivillä normaalisti.
Kopioi ja liitä ei tältä sivulta varmaankaan toimi, mutta kuten sanoit rivit menee koodissa punaiseksi ja se on silloin helppo korjata toimivaksi ylläolevan ohjeen mukaan.
_ yleensä käytetään kun koodirivi menee pitkäksi. Käyttämällä _ rivinvaihtoa saadaan koodi selkeälukuisemmaksi.
Kiitos Kunde. Hmm.. nyt meni sormi suuhun, en osaa hahmottaa noista kaavoista sitä oleellisinta.
Ajatus oli, että kun etukäteen klikkaan "Punaista L -nappia", voin hiirellä merkitä haluamani solut, jolloin ne muuttuvat punaisiksi ja niihin (musta) L-kirjain.