tarantules Δημοσ. 25 Αυγούστου 2018 Δημοσ. 25 Αυγούστου 2018 Έχω κάποιες εγγραφές που δεν είναι στανταρ στον αριθμό και σε κάποια κελιά θέλω να κάνω διαιρέσεις και θέλω να αποφύγω διαιρέσεις με το μηδέν. Σε αυτόνομα κελιά ξέρω να το κάνω με την iferror αλλά δεν ξέρω με VBA πως την ενσωματώσω. Πχ σε αυτή τη διαίρεση : Range("A"& i).value = Range("B"& i).value / Range("C"& i).value.
micos000 Δημοσ. 25 Αυγούστου 2018 Δημοσ. 25 Αυγούστου 2018 Τι εννοείς "πως την ενσωματώνω"; Δεν ξέρεις πως να δημιουργήσεις τον κώδικα ή δεν ξέρεις πως να ελέγξεις αν η διαίρεση πρόκειται να γίνει με το μηδέν; Το 2ο είναι εύκολο αρκεί πριν την διαίρεση να ελέγχεις αν π.χ. το "C" & i είναι μηδέν ή όχι.
tarantules Δημοσ. 25 Αυγούστου 2018 Μέλος Δημοσ. 25 Αυγούστου 2018 Δεν γνωρίζω τον κώδικα.Πως να το γράψω στο παραπάνω παράδειγμα ώστε πχ να μου βγάζει κενό αποτέλεσμα όταν έχω διαίρεση με μηδέν. Σε μεμονωμένο κελί ξέρω οτι πρέπει να γράψω πχ για το το κελί Α1 την IFERROR(Β1/C1;" "). Δεν θέλω όμως να πάρω όλα τα κελιά της ίδια στήλης και να γράψω αυτό. Θέλω σε VBA να το γράψω επειδή δεν γνωρίζω εκ των προτέρων τον αριθμό των εγραφών.Αν ήξερα οτι έχω μόνο 10 εγραφές θα έγραφα το παραπάνω σε 10 κελιά και τέλος.
flik Δημοσ. 25 Αυγούστου 2018 Δημοσ. 25 Αυγούστου 2018 Δοκίμασε στον κώδικα να γράψεις WorksheetFunction.IfError(range("a1".value/range("a2").value),"Error") Αλλά καλύτερα γενικά είναι να το ελέγχεις εσύ πριν κάνεις την διαίρεση. Δηλαδή μέσα στην for πχ που θα έχεις, κάθε φορά να ελέγχεις αν διαιρείς με κελί που είναι κενό ή είναι 0, και αν δεν είναι τότε να κάνεις την διαίρεση. 1
tarantules Δημοσ. 25 Αυγούστου 2018 Μέλος Δημοσ. 25 Αυγούστου 2018 Το έκανα έτσι όπως λες.Να ελέγχω από πριν και αν δεν είναι μηδέν να κάνει τη διαίρεση.Ο κώδικας που μου έδωσες δεν δούλεψε.Μάλον κάτι στη σύνταξη κάνω λάθος.
flik Δημοσ. 25 Αυγούστου 2018 Δημοσ. 25 Αυγούστου 2018 Μου έφυγε εμένα μια παρένθεση μετά το α1: WorksheetFunction.IfError(range("a1").value/range("a2").value),"Error") το δοκίμασα να το βάλω το αποτέλεσμα σε ένα κελί, αλλά όταν πάει να διαιρέσει με 0 πετάει debug error (σαν να αγνοεί οτι έγραψα iferror). Επομένως πηγαίνεις στην λύση την αναλυτική που ούτως ή αλλως προγραμματιστικά είναι προτιμότερη.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα