Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Excel > Excel - Ερωτήσεις / Απαντήσεις > [VBA] Αλλαγή χρώματος κελιών υπό προϋποθέσεις με vb

Excel - Ερωτήσεις / Απαντήσεις Ότι έχει σχέση με συναρτήσεις, μορφοποίηση, εκτυπώσεις γραφήματα κτλ.

Κλειστό Θέμα

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 25-01-11, 10:50
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλημέρα
Φίλε Θανάση, επειδή η μορφοποίηση που δημιουργεί ο πρόσθετος κώδικάς σου δεν εξαρτάται από τις τιμές των κελιών της στήλης C, έχω τη γνώμη ότι θα πρέπει να είναι μετά τη δομή Select ...End Select και όχι μέσα σ’ αυτήν.
Φιλικά/Γιώργος
  #2  
Παλιά 25-01-11, 11:06
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 08-02-2010
Περιοχή: ΠΑΤΡΑ
Μηνύματα: 31
Προεπιλογή

Παράθεση:
Αρχική Δημοσίευση από kapetang Εμφάνιση μηνυμάτων
Καλημέρα
Φίλε Θανάση, επειδή η μορφοποίηση που δημιουργεί ο πρόσθετος κώδικάς σου δεν εξαρτάται από τις τιμές των κελιών της στήλης C, έχω τη γνώμη ότι θα πρέπει να είναι μετά τη δομή Select ...End Select και όχι μέσα σ’ αυτήν.
Φιλικά/Γιώργος
Καλημέρα συνονόματε,

Αν βοηθά : Όλα έχουν σαν κριτήριο την αναφερόμενη αξία στην στήλη C.
Ανάλογα με την αξία αυτή, γίνεται η αλλαγή Χρώματος κελιού και γραμματοσειράς.

Φιλικά

Γιώργος
  #3  
Παλιά 25-01-11, 15:15
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλησπέρα

Συνονόματε Γιώργο, αν κατάλαβα καλά, η μορφοποίηση των γραμμών με σύνολα («Σύνολα Σελίδας», «Σε Μεταφορά», «Από Μεταφορά», «Γενικά Σύνολα») η μορφοποίηση δεν εξαρτάται από την τιμή της στήλης C (<0, 0,1 >1), γι’ αυτό πιστεύω ότι ο σχετικός κώδικας πρέπει να είναι κάτω από τη δομή Select.
Πάντως, στο σύνολο σχεδόν των περιπτώσεων ο κώδικας του φίλου Θανάση δίνει σωστά αποτελέσματα (οπότε μπορείς να τον χρησιμοποιείς) και αν χρειαστεί κάποια τροποποίηση πιστεύω θα την κάνει ο ίδιος.

Φιλικά/Γιώργος
  #4  
Παλιά 25-01-11, 15:40
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.037
Προεπιλογή

Καλησπέρα σε όλους!

Η Excel 2003 μας δίνει 3 μορφοποιήσεις υπό όρους + την στάνταρτ μορφοποίηση του κελιού δηλ. 4 στο σύνολο.
Στην περίπτωση του Γιώργου, μπορούμε να τις χρησιμοποιήσουμε και σε συνδυασμό με λίγο κώδικα VBA να φτάσουμε στο επιθυμητό αποτέλεσμα.

Μπορείτε να δείτε αυτή την προσέγγιση στο συνημμένο παράδειγμα παρακάτω.

Φιλικά

Τάσος
Συνημμένα Αρχεία
Τύπος Αρχείου: xls TRAFFIC_LIGHT.xls (47,0 KB, 154 εμφανίσεις)
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
  #5  
Παλιά 25-01-11, 18:39
Το avatar του χρήστη gr8styl
Super Moderator
Όνομα: Θανάσης Στυλιανίδης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-10-2009
Περιοχή: Βρυξέλλες, Βέλγιο
Μηνύματα: 758
Προεπιλογή

Καλησπέρα σας
Θα ήθελα να πω ότι πολύ σωστά παρατήρησε ο Γιώργος (kapetang), ότι η IF των 7 γραμμών πρέπει να μπει αμέσως ΜΕΤΑ την End Select για να είμαστε 100% σωστοί.
Αν και δεν νομίζω να υπάρξει περίπτωση να έχουμε γραμμές με "Σύνολα" ή "Μεταφορά" που η στήλη C να έχει τιμή μικρότερη ή ίση του 1 το σωστό είναι σωστό ευχαριστώ Γιώργο.

Για την πρόταση του Τάσου να πω ότι μου φαίνεται ταχύτερη, και μας δείχνει και μερικά κόλπα χρησιμοποιώντας ονοματισμένες περιοχές με προκαθορισμένη μορφοποίηση. Ίσως όμως για κάποιον αρχάριο να είναι πιο δύσκολο να την κατανοήσει και να παρέμβει για να την αλλάξει. Τάσο, νομίζω ότι λείπει από τον κώδικα σου και η μορφοποίηση για πράσινο φόντο σαν στάνταρ μορφοποίηση των κελιών. Αν είχαμε 3 μόνο μορφοποιήσεις θα έλεγα είναι η ιδανική

Τα λέμε.
Θανάσης
  #6  
Παλιά 25-01-11, 19:44
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.037
Προεπιλογή

Καλησπέρα Θανάση!

Η μορφοποίηση για πράσινο φόντο είναι η στάνταρ μορφοποίηση των κελιών A1, B1, C1
και επικολλάται στις αντίστοιχες στήλες κατά την εκτέλεση της Μακροεντολής.

Αν χρειαστεί, με το τρόπο που επιλέγονται οι περιοχές του φύλλου από τον κώδικα,
θα είναι πολύ εύκολο να προσθέσει κανείς μια γραμμή στον κώδικα για να χρωματίσει ότι και
όπως θέλει!

Τα λέμε...

Φιλικά
Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
  #7  
Παλιά 25-01-11, 21:41
Το avatar του χρήστη gr8styl
Super Moderator
Όνομα: Θανάσης Στυλιανίδης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-10-2009
Περιοχή: Βρυξέλλες, Βέλγιο
Μηνύματα: 758
Προεπιλογή

Παράθεση:
Αρχική Δημοσίευση από Tasos Εμφάνιση μηνυμάτων
Η μορφοποίηση για πράσινο φόντο είναι η στάνταρ μορφοποίηση των κελιών A1, B1, C1
και επικολλάται στις αντίστοιχες στήλες κατά την εκτέλεση της Μακροεντολής.
Σωστά Τάσο
το λάθος είναι δικό μου, γιατί όταν δοκίμασα το αρχείο σου, αφαίρεσα το χρώμα φόντου σε ολόκληρες τις στήλες Α, Β και C, με αποτέλεσμα να μην μου δώσει πράσινες γραμμές.

Είναι πράγματι πολύ καλό. Δεν μου λες η περιοχή a1:c1 θα πρέπει να κατασκευάζεται κάθε φορά ?
Όπως είπε ο Γιώργος το αρχείο που ανέβασε είναι το output της εφαρμογής του.
Έχεις καμιά πρόταση για εισαγωγή των δεδομένων από το xls output της εφαρμογής του Γιώργου ?

Τα λέμε.
Θανάσης
  #8  
Παλιά 26-01-11, 09:04
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 08-02-2010
Περιοχή: ΠΑΤΡΑ
Μηνύματα: 31
Προεπιλογή

Καλημέρα,

Συνεχίζετε να με εκπλήσσετε ευχάριστα …

Ένα μεγάλο ευχαριστώ σε όλους …

Φιλικά

Γιώργος
  #9  
Παλιά 26-01-11, 09:50
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.037
Προεπιλογή

Καλημέρα Γιώργο μας!
Να είσαι καλά, σ ευχαριστούμε για τα καλά σου λόγια!
Ο Θανάσης αναφέρθηκε στο "output" της εφαρμογής σου.
Αλήθεια, πως μεταφέρονται τα δεδομένα στο εν λόγω φύλλο;
Στο παράδειγμα σου τουλάχιστον φαίνεται ότι είναι απλή επικόλληση (χειροκίνητα ή προγραμματιστικά).

Θανάση, η περιοχή a1:c1 φτιάχνεται μια φορά ή όποτε χρειαστούν αλλαγές στις μορφοποιήσεις από το χρήστη.
Θα μπορούσαμε να χτίσαμε τις μορφοποιήσεις αυτές προγραμματιστικά.
Ωστόσο, με τον τρόπο δεν θα παρέχεται πια η δυνατότητα στο χρήστη να κάνει τυχόν αλλαγές στις μορφοποιήσεις.
Συνήθως σε μεταφορά δεδομένων από κάποια εξωτερική πηγή χρησιμοποιείται ο OLDB Provider ή κάποια σύνδεση ODBC.

Τα λέμε...

Φιλικά/Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Κλειστό Θέμα

Εργαλεία Θεμάτων
Τρόποι εμφάνισης

Δικαιώματα - Επιλογές
Δε μπορείτε να δημοσιεύσετε νέα μηνύματα
Δε μπορείτε να δημοσιεύσετε απαντήσεις
Δεν μπορείτε να επισυνάψετε αρχεία
Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας

Ο κώδικας ΒΒ είναι σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι εκτός λειτουργίας
Trackbacks are εκτός λειτουργίας
Pingbacks are εκτός λειτουργίας
Refbacks are εκτός λειτουργίας


Παρόμοια Θέματα

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
Αλλαγή χρώματος σε φόρμα Αντώνης Access - Ερωτήσεις / Απαντήσεις 2 03-04-16 08:24
[VBA] Msgbox αλλαγή μεγέθους γραμματοσειράς και χρώματος anestaki Excel - Ερωτήσεις / Απαντήσεις 1 25-10-12 16:40
[ Φόρμες ] Αλλαγή χρώματος φόντου σε εγγραφή apostolos Access - Ερωτήσεις / Απαντήσεις 2 31-01-11 23:10
[VBA] Αλλαγή χρώματος κελιού ytsiak Excel - Ερωτήσεις / Απαντήσεις 5 18-09-10 00:44


Η ώρα είναι 23:11.