| Excel - Ερωτήσεις / Απαντήσεις Ότι έχει σχέση με συναρτήσεις, μορφοποίηση, εκτυπώσεις γραφήματα κτλ. |
![]() |
| | Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
| |
|
#1
| |||
| |||
|
Καλησπέρα σας! Στο αρχείο που σας παρέχω θέλω από το φύλλο εργασίας ΑΝΑΦΟΡΑ, τα ΠΟΣΑ ΔΑΠΑΝΗΣ που θα μετακινούνται στο ΑΡΧΕΙΟ, να μετακινούνται με ένα συγκεκριμένο χρώμα ανάλογα με την τιμή που έχει το κελί π.χ αν το κελί έχει τιμή μεγαλύτερη των 10€, η τιμή που θα μεταφερθεί στο στο κελί του ΑΡΧΕΙΟΥ να έχει χρώμα κόκκινο. Ο κώδικας που έχω γράψει με VBA μέχρι στιγμής, αλλάζει τα χρώματα που θέλω, αλλά κάθε φορά γίνεται όλο και πιο αργός διότι κάνει αναζήτηση των τιμών στο ΑΡΧΕΙΟ για τις τιμές που του έχω ορίσει να αλλάζει χρώμα. Στον κώδικα τις τιμές αυτές, τις ορίζω στο 'GEMISMA XROMATOS Αυτό όμως που θέλω εγώ, είναι το χρώμα του κελιού στο οποίο θα μεταφερθεί η τιμή να αλλάζει την στιγμή που θα μεταφερθεί η τιμή, έτσι ώστε να γίνονται οι συγκρίσεις εκείνη την στιγμή. Προς το παρών οι τιμές από το φύλλο ΑΝΑΦΟΡΑ, μεταφέρονται στο ΑΡΧΕΙΟ με αυτόν τον κώδικα: Κώδικας: 'METAKINHSH SE ARXEIO
k = 4
Do While Worksheets("ΑΝΑΦΟΡΑ").Cells(k, 1) <> ""
k = k + 1
Loop
k = k - 1
l = 2
Do While Worksheets("ΑΡΧΕΙΟ").Cells(l, 1) <> ""
l = l + 1
Loop
For j = 9 To k
Worksheets("ΑΡΧΕΙΟ").Cells(l + j - 9, 1) = Worksheets("ΑΝΑΦΟΡΑ").Cells(4, 2) 'ημερα
Worksheets("ΑΡΧΕΙΟ").Cells(l + j - 9, 2) = Worksheets("ΑΝΑΦΟΡΑ").Cells(5, 2) 'ΜΗΝΑΣ
Worksheets("ΑΡΧΕΙΟ").Cells(l + j - 9, 3) = Worksheets("ΑΝΑΦΟΡΑ.Cells(6, 2) 'ΗΜ/ΝΙΑ
Worksheets("ΑΡΧΕΙΟ").Cells(l + j - 9, 4) = Worksheets("ΑΝΑΦΟΡΑ").Cells(7, 2) 'ΩΡΑ
Worksheets("ΑΡΧΕΙΟ").Cells(l + j - 9, 5) = Worksheets("ΑΝΑΦΟΡΑ").Cells(8, 2) 'ΕΙΔΟΣ ΔΑΠΑΝΗΣ
Worksheets("ΑΡΧΕΙΟ").Cells(l + j - 9, 6) = Worksheets("ΑΝΑΦΟΡΑ").Cells(9, 2) 'ΠΟΣΟ ΔΑΠΑΝΗΣ
Next j
Κώδικας:
If Worksheets("ΑΡΧΕΙΟ").Cells(l + j - 9, 6) >= 10 Then Cell.Interior.ColorIndex = 3
ElseIf Worksheets("ΑΡΧΕΙΟ").Cells(l + j - 9, 6) < 10 Then Cell.Interior.ColorIndex = 0
ElseIf Worksheets("ΑΡΧΕΙΟ").Cells(l + j - 9, 6) <= 9.99 Then Cell.Interior.ColorIndex = 14
ElseIf Worksheets("ΑΡΧΕΙΟ").Cells(l + j - 9, 6) <= 7 Then Cell.Interior.ColorIndex = 4
ElseIf Worksheets("ΑΡΧΕΙΟ").Cells(l + j - 9, 6) < 4 Then Cell.Interior.ColorIndex = 0
ElseIf Worksheets("ΑΡΧΕΙΟ").Cells(l + j - 9, 6) <= 4 Then Cell.Interior.ColorIndex = 45
End If
Τελευταία επεξεργασία από το χρήστη bilakos26 : 11-11-17 στις 03:25. |
|
#2
| |||
| |||
|
Καλησπέρα Βασίλη, δοκίμασε τον κώδικα: Κώδικας: 'GEMISMA XROMATOS
lRow = Sheets("ΑΡΧΕΙΟ").Range("F" & Rows.Count).End(xlUp).Row
Set MR = Sheets("ΑΡΧΕΙΟ").Range("F2:F" & lRow)
For Each cell In MR
Select Case cell
Case Is <= 4
cell.Interior.ColorIndex = 45
Case Is <= 7
cell.Interior.ColorIndex = 4
Case Is < 10
cell.Interior.ColorIndex = 14
Case Else
cell.Interior.ColorIndex = 3
End Select
Next
|
|
#3
| |||
| |||
| Παράθεση:
|
|
#4
| |||
| |||
|
Πρόσθεσε μετά τη μετακίνηση και πριν από το άδειασμα τον κώδικα: Κώδικας: Set cell = Worksheets("ΑΡΧΕΙΟ").Cells(l + j - 9, 6).Offset(-1)
Select Case cell
Case Is <= 4
cell.Interior.ColorIndex = 45
Case Is <= 7
cell.Interior.ColorIndex = 4
Case Is < 10
cell.Interior.ColorIndex = 14
Case Else
cell.Interior.ColorIndex = 3
End Select
|
|
#5
| |||
| |||
| Παράθεση:
Είσαι φανταστικός!! Σε ευχαριστώ πολύ :D |
|
#6
| |||
| |||
|
Να είσαι καλά!
|
![]() |
| Ετικέτες |
| excel, vba |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
| ||||
| Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
| [VBA] Αλλαγή της τιμής ενός κελιού βάσει του χρώματος | sakis297 | Excel - Ερωτήσεις / Απαντήσεις | 8 | 18-09-15 18:19 |
| [Γενικά] καθορισμός της τιμής κελιού από την τιμή δύο άλλων | GreekPowers | Excel - Ερωτήσεις / Απαντήσεις | 4 | 07-09-15 20:24 |
| [VBA] Χρωματισμός κελιού ανάλογα την ώρα του συστήματος | jose | Excel - Ερωτήσεις / Απαντήσεις | 7 | 31-03-12 08:09 |
| [VBA] Αλλαγή χρώματος κελιού στην περίπτωση που | devcon | Excel - Ερωτήσεις / Απαντήσεις | 5 | 30-03-11 15:20 |
| [VBA] Αλλαγή χρώματος κελιού | ytsiak | Excel - Ερωτήσεις / Απαντήσεις | 5 | 18-09-10 00:44 |
Η ώρα είναι 06:19.



Υβριδικός τρόπος

