Forum

Forum (https://www.ms-office.gr/forum/)
-   Excel - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/)
-   -   [VBA] FormatCell #,##0.00 δεν διαβάζει τα κελιά σαν νούμερα. (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/3565-formatcell-0-00-den-diabazei-ta-kelia-san-noimera.html)

Zounds 23-02-15 19:52

FormatCell #,##0.00 δεν διαβάζει τα κελιά σαν νούμερα.
 
Καλησπέρα,

Αντιμετωπίζω το εξής θεματάκι
θέλω στην στήλη Ε να μου φέρνει τα ποσά στην μορφή δεκαδικού με δύο ψηφία και επίσης να μου χωρίζει τις χιλιάδες με τελεία.
στην τελευταια γραμμή θέλω να μου κάνει sum όλα τα παραπάνω νούμερα
Όμως για κάποιο λόγο που δεν μπορώ να καταλαβω ενω η μορφή των αριθμών είναι όπως την θέλω δεν διαβάζει τα κελιά σαν νούμερα και έτσι δεν μου δίνει αποτέλεσμα το sum.

θα ήθελα τα φώτα σας.....

ευχαριστώ,


Κώδικας:

Sub numberformat()
    teleftaia1 = Cells(Rows.Count, "g").End(xlUp).Row
    For i = teleftaia1 To 1 Step -1
        Cells(i, "e").Select
                Selection.numberformat = "#,##0.00;[Red]-#,##0.00"
                'Selection.numberformat = "General"           
    Next i
End Sub

Sub totals()
Dim Lastrow1 As Integer
Lastrow1 = Cells(Rows.Count, "a").End(xlUp).Row
        Range("e" & Lastrow1 + 1) = "=sum(e2:e" & Lastrow1 & ")"
        Rows(Lastrow1 + 1).Select
            Selection.Font.Bold = True
End Sub


Spirosgr 24-02-15 07:12

Καλημέρα και καλή Σαρακοστή σ' όλους.

Δεν θα σχολιάσω, το πως είναι γραμμένοι οι κώδικες και γιατί πρέπει να υπάρχει loop, step κλπ.
Μια παρατήρηση γενική, σε ένα θέμα που πρέπει να προσέχεις.
Ο τίτλος ρουτίνας, είναι numberformat.
Επειδή όμως, υπάρχει έκφραση, NumberFormat καλό είναι να αποφεύγεται.
Τίτλοι εκατομμύρια...

Η παρακάτω ρουτίνα, μορφοποιεί τα κελιά της E στήλης
σε αριθμό με 2 δεκαδικά και κόκκινο τα αρνητικά και
στην τελευταία γραμμή, τελευταίο κελί για την ακρίβεια,
αποδίδει το άθροισμα τους με ίδια μορφή συν bold γραμματοσειρά.

Κώδικας:

Sub FormatPlusTotal()
    Dim Lastrow As Long, Rtotal As Range, rng As Range
    Lastrow = Cells(Rows.Count, 5).End(xlUp).Row + 1
    Set Rtotal = Range("e" & Lastrow)
    Set rng = Range("e1:e" & Lastrow)
    rng.NumberFormat = "#,##0.00;[Red]-#,##0.00"
    Rtotal = Application.WorksheetFunction.Sum(Range("e1:e" & Lastrow - 1))
    Rtotal.Font.Bold = True
End Sub

Σημείωση:
Έγινε test σε 2007, 2010, 2013
Υπάρχει περίπτωση, να χρειαστεί, να αλλάξετε στην γραμμή μορφοποίησης,
την θέση του , με την .

gfevran 25-02-15 13:48

1 Συνημμένο(α)
Καλησπέρα,
Σπύρο επειδή με ενδιαφέρει η ρουτίνα που προτείνεις,
Την αντέγραψα σαν τεστ, σε φύλλο και σε λειτουργική μονάδα,
Αλλά δεν μου δούλεψε, σίγουρα κάπου κάνω λάθος, αλλά που;;;

Σε ευχαριστώ εκ των προτέρων για όποια απάντηση.

Spirosgr 25-02-15 14:01

Καλησπέρα
Στα φύλλα καλό είναι να τρέχουν κατά βάση μόνο τα συμβάντα.
Παρ' όλα αυτά δεν υπάρχει κανένα πρόβλημα, (όπως είδες και στο Skype που στο έδειξα).
Τρέχει σωστά.

Zounds 28-02-15 07:10

Ευχαριστώ πολύ !! καλημέρα σε όλους !!!!


Η ώρα είναι 10:02.

Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.


Search Engine Optimization by vBSEO 3.3.2