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
323
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
Kuka oli töllöntyön tekijä?
Ketä on nyt pidätetty? Oliko syy mustasukkaisuus tyttöystävästä tai oliko muita lieventäviä seikkoja? Katuuko tekijä nyt394568Kotikasvatus siitä se lähtee eli missä meni vikaan että lapsesta tuli puukottaja
Ottakaa muut oppia, normaali kotielämä. Ei liikaa edes hengellisyyttä.532464Jenkkilahkojen kastekaava
Jenkkilahkojen yhteinen kastekaava on kirjoitettuna Mormonin Kirjaan, Moroni, luku-8 Pienten lapsien vanhempia uhataan1391004Pasi Turunen: Ensimmäisenä Helluntaina ei kastettu sylivauvoja!
Tänään 31.5.2026 Pasi Turunen noin vastasi soittajan kysymykseen! Raamattu EI KERRO ketä kastettiin161985- 109833
Olen melko vakuuttunut
etten tule olemaan koskaan täysin onnellinen ilman sinua. En uskonut, että näin kävisi kenenkään kanssa. Kunnes sain kok70814- 136771
- 48760
Taas mietin että
mitä ihmettä sanoisin, jos laittaisin viestiä. Aina voi toivottaa jotain, vaikka hyvää kesää, ja jos ei tule vastausta,48706- 52690