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ä.
Painonapeilla värisoluihin kirjaimet
5
<50
Vastaukset
- Kundepuu
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- Listailija
Kundepuu, en saa tätä toimimaan mitenkään. "Set Alue2" menee punaiseksi.. onko siinä mahdollisesti jokin virhe.
- VikanaS24
Listailija kirjoitti:
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.
- Kundepuu
VikanaS24 kirjoitti:
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.
- Listailija
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.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Elämä valuu ohi ilman merkitystä
Olen 5-kymppinen korkeasti koulutettu hyvässä ja vaativassa työssä oleva mies. Erosin pitkästä parisuhteesta pari vuotta3165579Martina julkaisi romanttisia kuvia kihlajaisista
Ihana pari. Paljon onnea ja rakkautta heille 💞2751580Ilo, joka nousee silmiisi saakka
kun katseemme kohtaavat. Olet energinen, aito, ihana. Välillä tuijotat suoraan silmiini - enkä hämmenny, katson takaisin661466eerikäinen novassa sanoi ei kukaan enää aja manuaalivaihteilla
meillä on 3 autoa talissa ja kaikissa manuaalilaatikot, on meillä vielä tämmöiset vaikka toisin puhutaan.1261412Gekkosessa hyvä juttu Sofian Dubai "töistä"
"Vielä tammikuussa Belórf lupaili aloittavansa jälleen verkkovalmennukset, mutta tämä projekti näyttää kuihtuneen kaikes1091358- 941305
En oikeasti
Tiennyt että sinulla on ollut vaikeuksia ja huonoja aikoja. Olen oikeasti pahoillani, ja olisin myös toiminut eritavoin1311212Jokaisella on omat syntinsä
Minä olisin niin mielelläni sinun. Ehkä joskus viittasitkin siihen. Olet nainen ajatuksissani jatkuvasti ja taidat tietä591136- 172938
- 37906