Forum

Forum (https://www.ms-office.gr/forum/)
-   Excel - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/)
-   -   [Μορφοποίηση] Αλλαγή Γραμματοσειράς & Μεγέθους (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/4981-allagi-grammatoseiras-megethoys.html)

xristos 21-08-18 15:32

Αλλαγή Γραμματοσειράς & Μεγέθους
 
Φίλοι του φόρουμ γειά σας.
Όπως αναφέρεται και στο τίτλο το πρόβλημά μου είναι πως μπορώ να αλλάξω
Γραμματοσειρά και Μέγεθος γραμματοσειράς σε μορφοποίηση υπό όρους
γιατί μόλις ανοίγω την μορφοποίηση αυτά τα δύο είναι ανενεργά.
Αλλά μόλις έκαναν την μορφοποίηση δεν θυμάμαι να έδωσα εντολή για να γίνουν τόσο
μεγάλα όταν ισχύει ο τύπος με τον οποίο έχω κάνει μορφοποίηση.
Πιστεύω να σας έδωσα να καταλάβατε το πρόβλημά μου
Σας ευχαριστώ για τον χρόνο σας.

Spirosgr 21-08-18 16:37

Η μορφοποίηση υπό όρους, μπορεί να αλλάξει την εμφάνιση αλλά όχι και τις ιδιότητες,
ενός κελιού ή μιας περιοχής.

Οι διάφορες γραμματοσειρές,
ακόμα κι αν έχουν ίδιο μέγεθος, πχ Calibri 11 & Consolas 11,
έχουν διαφορετικές διαστάσεις γραμμάτων ή κενών ανάμεσα στα γράμματα,
με αποτέλεσμα, μια τέτοια αλλαγή (μέσω της μορφοποίησης),
να επηρεάσει τις διαστάσεις μιας στήλης ή μια γραμμής και συνεπώς
να αλλάξει τις ιδιότητες...

Οπότε αυτό δεν είναι δυνατόν να γίνει, και καλώς είναι ανενεργά...

Ο μόνος τρόπος για να πετύχουμε κάτι τέτοιο, είναι ο κώδικας.
Κώδικας:

    Dim c As Range, rng As Range
    Set rng = Sheet1.Range("a1:a10")

    For Each c In rng
        If Len(c.Text) > 5 Or _
          Val(c.Value) > 10 Then
            c.Font.Name = "Consolas"
            c.Font.Size = 16
            c.Font.Bold = True
            c.Font.Color = RGB(202, 0, 0)
        Else
            c.Font.Name = "Calibri"
            c.Font.Size = 11
            c.Font.Bold = False
            c.Font.Color = RGB(0, 0, 0)
        End If
    Next c

Έστω, ότι χρησιμοποιούμε γραμματοσειρά Calibri, 11, μαύρο, στο φύλλο Sheet1.

Ο πιο πάνω κώδικας, αλλάζει τα κελιά της περιοχής a1:a10 του φύλλου Sheet1,
αν το len του κελιού είναι > 5 ή η τιμή του κελιού, είναι > 10.

*Μπορείτε να αλλάξετε τους όρους μορφοποίησης,
ή και την συνθήκη Or σε And κλπ


Ο πιο πάνω κώδικας, μπορεί να χρησιμοποιηθεί ως οδηγός
και ανάλογα με το τι θέλουμε να κάνουμε,
μπορούμε να τον τροποποιήσουμε και ενσωματώσουμε σε κάποιο συμβάν φύλλου.

xristos 22-08-18 13:43

Φίλε Σπύρο για άλλη μια φορά σε ευχαριστώ για την βοήθειά σου
Θα προσπαθήσω να το εφαρμόσω, αλλά έχω τις εξής απορίες
στο παρακάτω κώδικα :
c.Font.Name = "Consolas"
c.Font.Size = 16
c.Font.Bold = True
c.Font.Color = RGB(202, 0, 0)
Else
c.Font.Name = "Calibri"
c.Font.Size = 11
c.Font.Bold = False
c.Font.Color = RGB(0, 0, 0)
[/COLOR]τα 2 πρώτα τα καταλαβαίνω τα υπόλοιπα (με κόκκινο χρώμα) πως μπορώ να μάθω τα νούμερα σε τι αντιστοιχούν

Spirosgr 22-08-18 14:01

πάχος γραμματοσειράς
c.Font.Bold = True (bold γραμματοσειρά ενεργοποιημένη)
c.Font.Bold = False (bold γραμματοσειρά ανενεργή)

χρώμα γραμματοσειράς
c.Font.Color = RGB(202, 0, 0) - απόχρωση κόκκινου (σε σύστημα RGB)
c.Font.Color = RGB(0, 0, 0) - καθαρό μαύρο (σε σύστημα RGB)

για ευκολία, αν σε μπερδεύει βάλε (ένα απ' όλα κάθε φορά):
c.Font.Color = vbRed - για κόκκινο
c.Font.Color = vbBlue - για μπλε
c.Font.Color = vbBlack - για μαύρο
c.Font.Color = vbGreen - για πράσινο κλπ

xristos 23-08-18 14:15

Φίλε Σπύρο Τώρα νομίζω ότι ολοκληρώθηκε
και για άλλη μια φορά σε ευχαριστώ για τον χρόνο σου

Spirosgr 23-08-18 20:12

Καλή συνέχεια.


Η ώρα είναι 17:19.

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


Search Engine Optimization by vBSEO 3.3.2