Καλημέρα
Θωμά καλώς όρισες στην παρέα
Κατ αρχήν στο προφίλ σου έχεις δηλώσει Excel 2003
και ανέβασες .xlsx που σημαίνει όπως γράφεις κι εσύ 2007+
Άλλαξε το για να είναι σωστό και να γνωρίζει κανείς σε τι "εργαλείο" θα σου δίνει απάντηση
Τώρα στο θέμα μας
Οποιονδήποτε τύπο κι αν βάλεις εφ' όσον τα στοιχεία του είναι μεταβλητά ο τύπος θα μεταβάλλεται και δεν θα έχεις το αποτέλεσμα που θέλεις άρα πάμε σε
VBA που μπορεί να "θυμάται" το αποτέλεσμα που ζητάς
Ονόμασε
rngDates = περιοχή ημερομηνιών και κάνε την δυναμική αν το μήκος της αλλάζει
rngToday = το κελί της TODAY()
rngAmount = το κελί του ποσού που μεταβάλλεται
rngArchive = περιοχή που αποθηκεύονται τα ποσά και κάνε την δυναμική αν το μήκος της αλλάζει (Η ονομασία αυτή προαιρετικά)
Βάλε τον κώδικα: Κώδικας:
Sub ArchiveMyAmount()
Dim c As Range
For Each c In Range("rngDates")
If c.Value = Range("rngToday").Value Then
Cells(c.Row, 3).Value = Range("rngAmount").Value
End If
Next
End Sub
σε Module και κάνε σύνδεση σε ένα κουμπί
Με κλικ στο κουμπί ο κώδικας ελέγχει αν η TODAY() υπάρχει στην περιοχή rngDates
και πάει στο διπλανό κελί και βάζει την τιμή του κελιού rngAmount
Μπορείς ακόμη να βάλεις τον κώδικα στο SelectionChange του φύλλου και να τρέχει αυτόματα σε κάθε αλλαγή
Καλή συνέχεια!
ΥΓ να διευκρινίσω το εξής
Στην σειρά Cells(c.Row, 3).Val.......το 3 σημαίνει 3η στήλη και θα πρέπει να αλλαχτεί αν αλλάξει στο κανονικό φύλλο ο προορισμός
δηλ η στήλη που θα βρίσκεται η περιοχή rngArchive