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.
Miten teen ehdollisen muotoilun jos valitulla alueella jokin arvo muuttuu?
10
197
Vastaukset
- 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
SDP haluaa LISÄÄ veroja bensa-autoille!
Sdp:n vaihtoehtobudjetti esittää polttomoottoriautoille lisää veroja Sdp esittää tuoreessa vaihtoehtobudjetissaan verot14917347Riikka se jytkytti BKT:stä nyt 0,3 prosenttia pois
Ja vain kolmessa kuukaudessa! Vuositasollahan tuo tarkoittaa reilun prosentin pudotusta. Pärjäisi varmaan lasketteluss459994Vasemmistoaate on aatteista jaloin
Kaikki saavat ja kukaan ei jää ilman. Kuka tuollaista voisi vastustaa?345836Antti Lindtman kiitti valtiovarainministeri Purraa
Ministeri Purra kertoi ottavasa vastuun EU:n alijäämämenettelyyn joutumisesta. Hän myös sanoi tietävänsä, että Lindtman463190Suomalaisten enemmistö on (ateisteja / fiksuja / sosialisteja)
Tai jokin noiden yhdistelmä, koska S-ryhmän markkinaosuus päivittäistavarakaupasta on yli 50 prosenttia.152876Brittiläinen vasemmistolehti: Sanna Marin oli vihdoin rehellinen
Nyt tulee pahasti lunta tupaan Seiskan tähtitytölle. Ex-pääministerin kirjaa arvostellaan latteuksista ja itsekehusta.252802"Purra löylytti oppositiota", sanoi naistoimittaja Pöllöraadissa
Kyllä, Purra tekee juuri sitä työtä mitä hänen tuossa asemassa pitää tehdä, hän antaa oppositiolle takaisin samalla mita562672Henkilökohtaisia paljastuksia Dubaista - Kohujulkkis Sofia Belorf on äitipuoli ja puoliso!
Tiesitkö, että Sofia on äitipuoli ja rakastava puoliso? Sofia Belorf saa oman sarjan, jossa seurataan hänen Bling Bling832580- 1351831
Alexander C. G. riisti demari-Veijolta arvonimen
"Stubb myönsi 66 arvonimeä ja peruutti yhden arvonimen. Presidentti Tarja Halonen myönsi Baltzarille kulttuurineuvoksen361809