Hei !
Liian kauan yrittänyt tätä itse ratkoa, vaan ei onnistu.
Pitäis saada solun taustaväri muuttumaan automaattisesti niin, että jos vanha numero korvataan uudella joka on pienempi kuin edellinen, niin taustaväri muuttuu automaattisesti punaiseksi ja edelleen jos luku on suurempi niin sitten väri vaikka vihreäksi.
Selvennys vielä.
Luku on vaikka 4,5
Uusi on 4,7 ja taustaväri muuttuu vihreäksi
Uusi on 4,2 ja taustaväri muuttuu punaiseksi
Uusi on 4,3 ja taustaväri muuttuu vihreäksi
Eli aina edelliseen lukuun verrataan.
Läheltä piti vastauksia on netissä, mutta ei just tätä en ole löytänyt.
Automaatinen Calcin taustaväri ?
2
148
Vastaukset
Vaatinee makron. Yhdessä solussa ei ole arvojen aikasarjaa eikä sitä oikein saa totetuettua useamman solun ketjunakaan, paitsi käsin syöttämällä tai kopioimalla. Taulukkolaskennan idea on olla ajantasalla aina jokaisen muutoksen jälkeen.
Se onkin sitten toinen juttu, mikä olisi kevein makroratkaisu. Taulukkolehden tapahtumiin "Kaavat laskettu" tai "Sisältö muuttunut" sidottu makro saattaisi toimia eikä olisi koko aikaa syömässä prosessoritehoa. Jos ominaisuus halutaan satoihin soluihin taulukossa, makrototeutus saattaa olla hiukka hidas.- ...
REM ***** BASIC *****
Private oListener as Object
Private CellRng as Object
Global prev as variant
Global oSListener As Object
Global oDocView As Object
Global arow as integer
Global acol as integer
Sub AddListener 'Run this first
Dim Doc, Sheet, Cell as Object
Doc = ThisComponent
Sheet = Doc.Sheets.getByIndex(0) 'get leftmost sheet
CellRng = Sheet.getCellrangeByName("A1:A10")
oListener = createUnoListener("Modify_","com.sun.star.util.XModifyListener") 'create a listener
Cellrng.addModifyListener(oListener) 'register the listener
oDocView = ThisComponent.getCurrentController
'create a listener to intercept the selection change event
oRListener = CreateUnoListener( "MyApp_", "com.sun.star.view.XSelectionChangeListener" )
' register the listener to the document controller
oDocView.addSelectionChangeListener(oRListener)
End Sub
Sub Modify_modified(oEv) 'macro jumps here when oListener detects modification of Sheet
CalledRoutine
End Sub
Sub Modify_disposing(oEv)
End Sub
Sub RmvListener
CellRng.removeModifyListener(oListener)
End Sub
Sub CalledRoutine
Sheet = ThisComponent.Sheets.getByIndex(0)
cell = Sheet.getCellByPosition(acol,arow)
if prev>cell.value then cell.CellBackColor=16724787 else cell.CellBackColor=44544
End Sub
REM Run this macro to stop event intercepting:
Sub Remove_Listener
' removes the listener
oDocView.removeSelectionChangeListener(oRListener)
End Sub
REM All listeners must support this event:
Sub MyApp_disposing(oEvent)
End Sub
REM What to do when we get an event:
Sub MyApp_selectionChanged(oEvent)
dim oCurr as object
oCurr = thiscomponent.getcurrentselection
arow=oCurr.getRangeAddress.startrow
acol=oCurr.getRangeAddress.startcolumn
prev=ThisComponent.Sheets(0).getCellByPosition(acol,arow).value
End Sub
sub taustavari
e= ThisComponent.Sheets(0).getCellByPosition(1,7).CellBackColor
print e
end sub
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Tänään pyörit ajatuksissa enemmän, kun erehdyin lukemaan palstaa
En saisi, silti toivon että sinä vielä palaat ja otetaan oikeasti selvää, hioituuko särmät ja sulaudummeko yhteen. Vuod225254- 254408
- 282561
- 342264
- 372008
- 151938
En ole koskaan kokenut
Ennen mitään tällaista rakastumista. Tiedän että kaipaan sinua varmaan loppu elämän. Toivottavasti ei tarvitsisi vain ka191617- 121541
Voi ei! Jari Sillanpää heitti keikan Helsingissä - Hämmästyttävä hetki lavalla...
Ex-tangokuningas on parhaillaan konserttikiertueella. Hän esiintyi Savoy teatterissa äitienpäivänä. Sillanpää jakoi kons211277Kerranki asiat oikein
Ilkka ja muut pienpuolueeet...teitte hyvän työn kun valitsitte pätevän henkilön virkaan eikä kepulle passelia!! Jatkakaa101194