nickolasemp Δημοσ. 25 Μαρτίου 2011 Share Δημοσ. 25 Μαρτίου 2011 Καλημέρα παιδιά, έχω ένα μικρό ζήτημα με μια συνάρτηση στο excel. Θέλω να κάνω summation, οπότε χρησιμοποιώ VBA macro. Ωστόσο, μέσα στο άθροισμα θέλω να βάλω μια υπάρχουσα συνάρτηση του excel (εδώ η BINOMDIST), αλλά μου βγάζει error ότι δεν την αναγνωρίζει. Γίνεται ή όχι; Ορίστε ο κώδικας: >Function SumBinomProduct(c1 As Integer, r1 As Integer, c2 As Integer, n1 As Integer, n2 As Integer, p As Long) As Double Dim i As Integer, j As Integer Dim result For i = c1 + 1 To r1 - 1 result = result + BinomDist(i, n1, p, False) * BinomDist(c2 - i + 1, n2, p, True) Next SumBinomProduct = result End Function Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
pagodas Δημοσ. 25 Μαρτίου 2011 Share Δημοσ. 25 Μαρτίου 2011 Πρέπει να την γράψεις ως: Application.WorksheetFunction.BinomDist(inputs) και θα την "καταλάβει" μια χαρά. Αλήθεια τι προσπαθείς να κάνεις με διωνυμική κατανομή (απλά περίεργος...); Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
nickolasemp Δημοσ. 25 Μαρτίου 2011 Μέλος Share Δημοσ. 25 Μαρτίου 2011 Διπλό δειγματοληπτικό έλεγχο. Χμμμ. Αν και πλέον δεν μου πετάει error, μου τα βγάζει όλα 0... Βασικά αυτό που θέλω είναι άθροισμα σειράς. Δεν μπορώ να καταλάβω το άλλο με το Ctrl+Shift+Enter γι'αυτό καταφεύγω σε αυτή τη λύση, αλλά μέχρι στιγμής μάταια. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
pagodas Δημοσ. 25 Μαρτίου 2011 Share Δημοσ. 25 Μαρτίου 2011 Αν κάνεις επισύναψη το excel θα μπορούσα να σε βοηθήσω και με το ctrl+shift+enter. Δεν ξέρω γιατί σου βγάζει 0 αλλά η συνάρτησή σου μου φαίνεται μια χαρά! Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
nickolasemp Δημοσ. 25 Μαρτίου 2011 Μέλος Share Δημοσ. 25 Μαρτίου 2011 Κι εμένα μια χαρά μου φαίνεται να είναι η συνάρτηση. Επισυνάπτω το αρχείο. Ευχαριστώ εκ των προτέρων για την βοήθεια. Edit:Η BinomDist δεν μου επιστρέφει αποτέλεσμα... Edit 2: Η ηλίθια VB δεν μού επέστρεφε αποτέλεσμα επειδή δεν είχα θέσει ως double μία παράμετρο (την p) αλλά ως Long... Μα καλά, δεν κάνει casting μόνη της;;; Θα μου άρεσε όμως να την δω και ως αποτέλεσμα του Ctrl+Shift+Enter solution.zip Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
pagodas Δημοσ. 25 Μαρτίου 2011 Share Δημοσ. 25 Μαρτίου 2011 Δεν χρειάζεται να σου επισυνάψω το αρχείο. Το πρόβλημα είναι ότι το p το έχεις δηλώσει σαν Long ενώ πρέπει να δηλωθεί σαν double καθότι δεκαδικός (πιθανότητα...) Οπότε απλά άλλαξε στην συνάρτησή σου την δήλωση σε: p As Double και μετά δουλεύει. Αν είχες γράψει απλά dim p θα δούλευε αλλά από την στιγμή που την δηλώνεις μόνο ως long τότε δυστυχώς όχι. Επίσης νομίζω ότι το ctrl+shift+Enter δεν κολλάει σε αυτή την περίπτωση. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
nickolasemp Δημοσ. 25 Μαρτίου 2011 Μέλος Share Δημοσ. 25 Μαρτίου 2011 Σε ευχαριστώ για την βοήθειά σου. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.