tarantules Δημοσ. 27 Ιουνίου 2021 Δημοσ. 27 Ιουνίου 2021 (επεξεργασμένο) Θέλω να κάνω το εξής απλό : Έχω δυο κελιά τα οποία παίρνουν τις τιμές 0 και 1 χειροκίνητα.Αν η τιμή ενός κελιού είναι 1 να γυρνάει το άλλο κελί στην τιμή 0 και το αντίστροφο.Ποτέ να μην έχουν ταυτόχρονα την τιμή 1 και τα δυο κελιά.Την ταυτόχρονη τιμή 0 επιτρέπετε να την έχουν. Που είναι η δυσκολία μου : Σε αυτά τα δυο κελιά θέλω να γράφω τις τιμές χειροκίνητα , άρα δεν θέλω να βάλω μέσα συνθήκη για αλλαγή τιμής κελιού. Επίσης σε vba ξέρω να το κάνω αλλά δεν θέλω.Θέλω να αλλάζει αυτόματα η τιμή χωρίς να είμαι υποχρεωμένος να πατάω κάποιο κουμπί ή να τρέχω τη macro χειροκίνητα. Καμιά ιδέα; Επεξ/σία 27 Ιουνίου 2021 από tarantules 1
Lanike71 Δημοσ. 27 Ιουνίου 2021 Δημοσ. 27 Ιουνίου 2021 (επεξεργασμένο) Τι θα γίνεται αν βρεθούν και τα 2 κελιά στο 1; Αν δοκιμάσει κάποιος να εισάγει το 1; Επεξ/σία 27 Ιουνίου 2021 από Lanike71
archer100 Δημοσ. 27 Ιουνίου 2021 Δημοσ. 27 Ιουνίου 2021 (επεξεργασμένο) 40 λεπτά πριν, tarantules είπε Που είναι η δυσκολία μου : Σε αυτά τα δυο κελιά θέλω να γράφω τις τιμές χειροκίνητα , άρα δεν θέλω να βάλω μέσα συνθήκη για αλλαγή τιμής κελιού. Επίσης σε vba ξέρω να το κάνω αλλά δεν θέλω. Θέλω να αλλάζει αυτόματα η τιμή χωρίς να είμαι υποχρεωμένος να πατάω κάποιο κουμπί ή να τρέχω τη macro χειροκίνητα. Καμιά ιδέα; Μπερδεύτηκα λίγο από αυτά τα 2 Συνάρτηση μέσα στα κελιά σου κάνει; Επεξ/σία 27 Ιουνίου 2021 από archer100
tarantules Δημοσ. 27 Ιουνίου 2021 Μέλος Δημοσ. 27 Ιουνίου 2021 Μόλις τώρα, archer100 είπε Μπερδεύτηκα λίγο από αυτά τα 2 Συνάρτηση μέσα στα κελιά σου κάνει; Αν βάλω συνάρτηση μέσα στο κελί , την επόμενη φορά που θα πατήσω πάνω στο κελί να γράψω πχ την τιμή 1 , ουσιαστικά διαγράφω τη συνάρτηση οπότε δεν έχει και νόημα.
archer100 Δημοσ. 27 Ιουνίου 2021 Δημοσ. 27 Ιουνίου 2021 2 λεπτά πριν, tarantules είπε Αν βάλω συνάρτηση μέσα στο κελί , την επόμενη φορά που θα πατήσω πάνω στο κελί να γράψω πχ την τιμή 1 , ουσιαστικά διαγράφω τη συνάρτηση οπότε δεν έχει και νόημα. A ok, o μόνος τρόπος που μπορώ να φανταστώ είναι να πληκτρολογείς σε 2 διαφορετικά κελιά (references) και τα πραγματικά κελιά να ανανεώνονται βάσει αυτού που πληκτρολόγησες και της λογικής που θέλεις.
Lanike71 Δημοσ. 27 Ιουνίου 2021 Δημοσ. 27 Ιουνίου 2021 Θα χρειαστεί να μπλέξεις με πολλά κελιά για να το πετύχεις. Επίσης θα πρέπει κάθε φορά να κρατάει τιμές των αμέσως προηγούμενων τιμών, να ελέγχει και να αλλάζει αυτόματα, αν κατάλαβα καλά.
tarantules Δημοσ. 27 Ιουνίου 2021 Μέλος Δημοσ. 27 Ιουνίου 2021 4 λεπτά πριν, archer100 είπε A ok, o μόνος τρόπος που μπορώ να φανταστώ είναι να πληκτρολογείς σε 2 διαφορετικά κελιά (references) και τα πραγματικά κελιά να ανανεώνονται βάσει αυτού που πληκτρολόγησες και της λογικής που θέλεις. Ναι έτσι μάλον θα κάνω.Δεν το αποφεύγω. 3 λεπτά πριν, Lanike71 είπε Θα χρειαστεί να μπλέξεις με πολλά κελιά για να το πετύχεις. Επίσης θα πρέπει κάθε φορά να κρατάει τιμές των αμέσως προηγούμενων τιμών, να ελέγχει και να αλλάζει αυτόματα, αν κατάλαβα καλά. ναι μάλον έτσι θα γίνει.
flik Δημοσ. 27 Ιουνίου 2021 Δημοσ. 27 Ιουνίου 2021 Μπορείς να γράψεις συνάρτηση vba που τρέχει μόνη της όταν κάποιο κελί (από ορισμένο εύρος αν θες και όχι σε όλο το sheet) αλλάζει. Όπως αντίστοιχα είναι δηλαδή το on click, ένα event είναι και η αλλαγή κελιών. 1
tarantules Δημοσ. 28 Ιουνίου 2021 Μέλος Δημοσ. 28 Ιουνίου 2021 9 ώρες πριν, flik είπε Μπορείς να γράψεις συνάρτηση vba που τρέχει μόνη της όταν κάποιο κελί (από ορισμένο εύρος αν θες και όχι σε όλο το sheet) αλλάζει. Όπως αντίστοιχα είναι δηλαδή το on click, ένα event είναι και η αλλαγή κελιών. Αυτό θα με ενδιέφερε αλλά δεν ξέρω πως να το κάνω.Υπάρχει κάποιο παράδειγμα πρόχειρο; Ξέρω τα βασικά μόνο από vba.Δεν το έχω προχωρήσει τόσο πολύ.
flik Δημοσ. 30 Ιουνίου 2021 Δημοσ. 30 Ιουνίου 2021 (επεξεργασμένο) Και εγώ έχω καιρό να το κάνω (ανάλογα με το πόσο μεγάλο range ελέγχεις ή/και τι κώδικα τρέχεις, ίσως λαγκάρει λίγο). Δεν βρίσκω το παράδειγμα που έκανα παλιά, αλλά απο το googling έβγαλε κάτι που μου θύμησε τα δικά μου οπότε λογικά θα είσαι οκ: Αν ανοίξεις το 'View Code' του sheet, βάζεις αυτό στο module: Private Sub Worksheet_Change(ByVal Target As Range) Dim KeyCells As Range ' The variable KeyCells contains the cells that will ' cause an alert when they are changed. Set KeyCells = Range("A1:C10") If Not Application.Intersect(KeyCells, Range(Target.Address)) _ Is Nothing Then 'place your code here End If End Sub όπου A1:C10 βάζεις το δικό σου range, και τον δικό σου κώδικα που αλλάζεις τις τιμές στις στήλες, μετά το 'Then' Απο εδώ: https://docs.microsoft.com/en-us/office/troubleshoot/excel/run-macro-cells-change Επεξ/σία 30 Ιουνίου 2021 από flik 1
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα