Minulla tulee kaavan tuottamana soluun lukuavo hyvin laajalta alueella 0,0001- 10000. Minun pitää muotoilla solu lukuarvoksi ja desimaaleja neljä, ettei solu näyttäisi nollaa hyvin pienillä arvoilla. Näyttää kuitenkin hassulta kun lukuarvo on tuhansia ja vielä desimaaleja neljä perässä. Muotoilu "yleinen" tuottaa myös desimaaleja tuhottomasti luvun perään.
Voiko jotenkin määrittää että jos luvussa on kokonaisosa niin näytetään vain esim. kaksi desimaalia, ja vasta kun kokonaisosaa ei ole otetaan useampi desimaali käyttöön?
Solun muotoilu ja desmaalien määrä
8
278
Vastaukset
ko. taulukon moduuliin...
muuta solualue sopivaksi nyt A -sarake
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Solu As Range
For Each Solu In Intersect(Target, Columns("A"))
If Not Solu.Value Like "*[!0-9]*" Then
Solu.NumberFormat = "General"
ElseIf Not Solu.Value Like "*[!0-9,]*" And Not Solu.Value Like "*,*,*" Then
Solu.NumberFormat = "0.0000"
Else
Solu.NumberFormat = "General"
End If
Next
End Sub
Keep EXCELing
@Kunde- suurella_tarkkuudella
Tämän siis pitäisi vaikuttaa koko sarakkeen kaikkien rivien muotoiluun? Lisäsin tämän koodin VBA:n moduliin, mutta solukohtainen muotoilu on edelleenkin voimassa. Miten tämän pitäisi oikein toimia, tarvitseeko se jotenkin erikseen käynnistää?
Huonosti luin ...
Sulla olikin siis kaava soluissa, joka muuttuu. Muutin nyt alueeksi A1:A100, jolla tekee muutokset....
helppo fiksata tota solualuetta
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Solu As Range
For Each Solu In Range("A1:A100")
If Not Solu.Value Like "*[!0-9]*" Then
Solu.NumberFormat = "General"
ElseIf Not Solu.Value Like "*[!0-9,]*" And Not Solu.Value Like "*,*,*" Then
Solu.NumberFormat = "0.0000"
Else
Solu.NumberFormat = "General"
End If
Next
End Sub
Keep EXCELing
@Kunde- suurella_tarkkuudella
Joo kaavat ovat soluissa, jotka tuottavat nämä lukuarvot.
Ei ollut tällä fiksatullakaan makrolla mitään vaikutusta alueen desimaaleihin, eli menee solukohtaisen muotoilun mukaisesti. Jokin mättää...
- 3dots
ElseIf Not Solu.Value Like "*[!0-9,]*" And Not Solu.Value Like "*,*,*" Then
Eikö ensimmäinen Not ole tarpeeton? - ORCL
Solukohtaisiksi muotoiluksi kaavoja sisältäviin soluihin (=Format Cells, Number Category: Custom, Type kohtaan): [>=1]#####,00;[<1]0,0000
- suurella_tarkkuudella
No siinä oli helppo ratkaisu peruskäyttäjälle, tuo litania vain tarvittaviin soluihin "oma muotoilu" listalta. Kiitos!
- exexel123d
Ilman makroja.
Esim
Sarakkeelle Conditional Formatting -> Format only cells that contain , Cell value, less than, 1 ->
Format Number, Number , Decimal placess 4
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
- 1103261
Kehutaan vaihteeksi Perussuomalaisia
Perussuomalaiset ovat olleet melkoisen lokakampanjoinnin kohteena, vaikka ovat saaneet paljon hyvää aikaiseksi. Nyt on1002480- 242026
Roiskeläpät takaisin niin alkaa lasit kestämään
"Tuulilaseja hajottava talvi-ilmiö on ehkä ratkennut" Tämän päivän autoissa kun on esimerkiksi vanhempaa autokalustoa s221550Mitä tapahtuu?
Mitä säpäkän risteyksessä on tapahtunut kun poliiseja, ambulansseja ja kopteri paikalla?291520Tiesitkö? Johannes Brotheruksen ex-isäpuoli on kuin onkin Mikko Kuustonen - Tästä on kyse!
Tiesitkö? Ja hehän on kuin kaksi marjaa... Johannes Brotherus on KUUMAA-yhtyeen jäsen ja tänä syksynä mukana Vain elämää151445Murtautuminen uimahalliin
17.10. yöllä Kiuruveden uimahalliin murtauduttiin yläkerran oven ikkunasta. Onko kellään havaintoja tapauksesta?26947- 87942
Mitä tarkalleen tunnet
Minkälaisia tunteita sisälläsi liikkuu, kun tiedät, että ajattelen sinua lämmöllä ja jotain syttyy myös sinussa? Haluai62866Syyskuussa 2025 ensirekisteröidyistä henkilöautoista 43 % oli täyssähköautoja.
Niitä rekisteröitiin 2 592 eli 41 % enemmän kuin vuotta aiemmin. Syyskuussa 2025 rekisteröidyistä uusista henkilöautois2799