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

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

Κλειστό Θέμα

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 29-03-11, 08:32
Όνομα: Θανάσης
Έκδοση λογισμικού Office: Ms-Office 2013
Γλώσσα λογισμικού Office: Αγγλική
 
Εγγραφή: 13-02-2010
Μηνύματα: 62
Προεπιλογή Αλλαγή χρώματος κελιού στην περίπτωση που

Παρακαλώ την βοήθεια σας.

Πώς μπορώ να χρησιμοποιήσω την ακόλουθη εντολή ώστε στην περίπτωση που έχω «Supplier» διαφορετικό του μηδενός τα κελιά που δημιουργούνται με την ακόλουθη φόρμουλα να χρωματίζονται ώστε να είναι ευδιάκριτα ότι δηλ υπάρχει έκπτωση.

Ευχαριστώ εκ των προτέρων.

Κώδικας:
With Range("K" & FirstRow & ":K" & FinalRow)
        .FormulaR1C1 = "=IF(RC[-1]<>"""",ROUND(RC[-1]*(1-Supplier%),2),"""")"
        .Value = .Value
    End With
  #2  
Παλιά 29-03-11, 22:40
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.030
Προεπιλογή

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

Δεν θα χρειαστεί κώδικας VBA.

Υπάρχει ενσωματωμένη λειτουργία στην Excel (Μορφοποίηση υπό όρους) καλύπτει απόλυτα το ζητούμενο σου.

Αφού επιλέξεις την περιοχή που σ ενδιαφέρει, κάνε κλικ στην καρτέλα Home στο κουμπί Contitional Formating > New Rule.

Στο παράθυρο διαλόγου που θα εμφανιστεί, θα μπορέσειςορίσεις κάτω από ποιες συνθήκες
θέλεις να χρωματίζονται τα κελιά που έχεις επιλέξει.

Στην Μπάρα του παραθύρου αυτού υπάρχει και το κουμπί [ ? ] σε περίπτωση που χρειαστείς λεπτομερέστερη βοήθεια.

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

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
  #3  
Παλιά 30-03-11, 05:22
Όνομα: Θανάσης
Έκδοση λογισμικού Office: Ms-Office 2013
Γλώσσα λογισμικού Office: Αγγλική
 
Εγγραφή: 13-02-2010
Μηνύματα: 62
Προεπιλογή

Τάσο καλημέρα,

Την «Μορφοποίηση υπό όρους» την γνωρίζω καλά διότι την χρησιμοποιώ κατά τα κόρων. Απλώς θα ήθελα να την αυτοματοποιήσω ώστε και οι υπόλοιποι στο γραφείο με μία κίνηση (macro) να λύνουν το πρόβλημά τους.
  #4  
Παλιά 30-03-11, 07:36
Όνομα: Θανάσης
Έκδοση λογισμικού Office: Ms-Office 2013
Γλώσσα λογισμικού Office: Αγγλική
 
Εγγραφή: 13-02-2010
Μηνύματα: 62
Προεπιλογή

Τάσο καλημέρα,

Μου έδωσες το έναυσμα και μέρος το προβλήματός μου λύθηκε.

Ερώτηση: Πως θα κάνω για να παραμείνει το χρώμα και όταν αλλάξω την φόρμουλα σε «0».

Θα με ρωτήσεις εάν η προϋπόθεση δεν υπάρχει για πιο λόγο να παραμείνουν τα κελία χρωματιστά;

Η απάντηση είναι ότι εφαρμογή συνέχεια προσθέτει επιπλέον γραμμές και οι εκπτώσεις αλλάζουν.
Θα ήθελα κάτι που να είναι αντίστοιχο του «.Value = .Value»

Σ' ευχαριστώ εκ των προτέρων για την υποστήριξή σου.

Κώδικας:
'Color Format Conditions 
   With Range("K" & FirstRow & ":K" & FinalRow).Select
    Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=$O$2>0"
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With Selection.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .Color = 65535
        .TintAndShade = 0
    End With
    Selection.FormatConditions(1).StopIfTrue = False
        End With
  #5  
Παλιά 30-03-11, 13:41
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.030
Προεπιλογή

Θανάση,
Δεν ξέρω τι ακριβώς θέλεις να επιτύχεις.

Σου δίνω ένα γενικότερο παράδειγμα μιας και δεν έχω κατανοήσει την όλη λογική της
εφαρμογής σου:


Κώδικας:
Dim rCell As Range

Sub test()
'......κώδικας
    With Range("K" & FirstRow & ":K" & FinalRow)
        .FormulaR1C1 = "=IF(RC[-1]<>"""",ROUND(RC[-1]*(1-Supplier%),2),"""")"
        .Value = .Value

        For Each rCell In .Cells
            If IsNumeric(rCell) And rCell > 0 Then rCell.Interior.ColorIndex = 4
            
            'Cell Interior Color (Long)
            'If IsNumeric(rCell) And rCell > 0 Then rCell.Interior.Color = 65280
            
            'Cell Color as RGB ( Vba.RGB(Red, Green, Blue) )
            'If IsNumeric(rCell) And rCell > 0 Then rCell.Interior.Color = RGB(0, 255, 0)
        Next

    End With

    'κώδικας....
End Sub

' Για να βρείς το νούμερο του χρώματος φόντου, Πάτησε  CTRL+G 
' για να εμφανίσεις το παράθυρο "Immediate" και τρέξε τον κώδικα παρακάτω:

Sub GetCellInteriorColor()
    Debug.Print ActiveCell.Interior.Color
    Debug.Print ActiveCell.Interior.ColorIndex
End Sub
Καλη συνέχεια!
Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
  #6  
Παλιά 30-03-11, 15:20
Όνομα: Θανάσης
Έκδοση λογισμικού Office: Ms-Office 2013
Γλώσσα λογισμικού Office: Αγγλική
 
Εγγραφή: 13-02-2010
Μηνύματα: 62
Προεπιλογή

Αγαπητέ Τάσο,

Δεν ξέρω με πιο τρόπο να σε ευχαριστήσω, μου έλυσες πολλά προβλήματα.
Με κάποιες μικρό αλλαγές επέτυχα τον σκοπό μου.
Σου εύχομαι ότι επιθυμείς και ένα καλό υπόλοιπο ημέρας.

Θανάσης (devcon)
Κλειστό Θέμα

Ετικέτες
vba


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

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


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

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
Αλλαγή χρώματος σε φόρμα Αντώνης Access - Ερωτήσεις / Απαντήσεις 2 03-04-16 08:24
[VBA] Αλλαγή της τιμής ενός κελιού βάσει του χρώματος sakis297 Excel - Ερωτήσεις / Απαντήσεις 8 18-09-15 18:19
[ Φόρμες ] Αλλαγή χρώματος φόντου σε εγγραφή apostolos Access - Ερωτήσεις / Απαντήσεις 2 31-01-11 23:10
[VBA] Αλλαγή χρώματος κελιών υπό προϋποθέσεις με vb GEORGE1 Excel - Ερωτήσεις / Απαντήσεις 14 26-01-11 09:50
[VBA] Αλλαγή χρώματος κελιού ytsiak Excel - Ερωτήσεις / Απαντήσεις 5 18-09-10 00:44


Η ώρα είναι 06:27.