Forum
ms-office.gr > Forum > Microsoft Office > Visual Basic for Applications (VBA) > Χρήσιμες συναρτήσεις VBA

Visual Basic for Applications (VBA) Ερωτήσεις / Απαντήσεις σε σχέση με τη χρήση της VBA.

Απάντηση στο θέμα

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 13-02-10, 02:09
Το avatar του χρήστη nisgia
Super Moderator
Όνομα: Γιάννης
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 12-10-2009
Περιοχή: Ηγουμενίτσα
Μηνύματα: 186
Exclamation Χρήσιμες συναρτήσεις VBA

Ξεκινάω αυτό το θέμα με σκοπό να μαζέψουμε χρήσιμες, γενικής χρήσης συναρτήσεις της VBA
τις οποίες θα μπορούμε να εισάγουμε στα έργα μας.
Γιαυτό καλό θα ήταν να αποφεύγουμε αναφορές σε αντικείμενα συγκεκριμένων εφαρμογών.

Η πρώτη μου προσπάθεια, φιλοδοξεί να καλύψει την εκκρεμότητα που είχαμε αφήσει σε θέμα του EXCEL,
σχετικά με την δημιουργία προσφώνησης με χρήση της VBA.

Στο συνημμένο θα βρείτε μια λειτουργική μονάδα (modGreeting) την οποία μπορείτε να εισάγετε κατευθείαν στον VBE
ή να την ανοίξετε με έναν επεξεργαστή κειμένου τύπου Notpad ώστε απλώς να εξετάσετε τον κώδικα.

Εκεί θα βρείτε τρεις δημόσιες συναρτήσεις οι οποίες είναι:

1. Συνάρτηση Gender.
Επιστρέφει μια τιμή η οποία αντιστοιχεί στο γένος του ονόματος που της περνάμε ως παράμετρο.
Για διευκόλυνση, ο τύπος της επιστρεφόμενης τιμής είναι ο τύπος μιας προσαρμοσμένης απαρίθμησης με όνομα Sex.
(...με τόσα String θα μου πείτε, αναπόφευκτο ήταν ένα τέτοιο όνομα. )

Οι πιθανές τιμές είναι:
0 = Άγνωστο : sxUnKnown
1 = Αρσενικό : sxMale
2 = Θηλυκό : sxFemale
2. Συνάρτηση Greeting.
Αναλόγως το γένος του ονόματος που της περνάμε ως παράμετρο, μας επιστρέφει το "Κύριε", "Κυρία" και "Κύριε/Κυρία".
3. Συνάρτηση ToVocative.
Μας επιστρέφει το όνομα που της περνάμε ως παράμετρο, σε κλητική πτώση.
Αφού εισάγετε την λειτουργική μονάδα στο έργο σας, στη συνέχεια μπορείτε να δοκιμάσετε τις διαδικασίες της όπως στα παρακάτω παραδείγματα:

Κώδικας:
MsgBox Greeting("Νίκος")& " " & ToVocative("Ευαγγελάτος")
MsgBox Greeting("Χάρης")& " " & ToVocative("Κατσιμίχας")
MsgBox Greeting("Χάρις")& " " & ToVocative("Αλεξίου")
Tip: Αν περνάμε το όνομα και όχι το επώνυμο στη συνάρτηση Greeting έχουμε περισσότερες πιθανότητες να πιάσουμε το γένος.
Δοκιμάστε τες, σχολιάστε τες και πείτε μου αν μου ξεφεύγουν κάποιες περιπτώσεις.

Φιλικά,
Γιάννης
Συνημμένα Αρχεία
Τύπος Αρχείου: zip modGreeting.zip (1.007 Bytes, 146 εμφανίσεις)
__________________
Αν δεν το ρωτούσες, δεν θα το μαθαίναμε ποτέ...!
-----------------------------------------------
Τελικά η γνώση, αντίθετα με ό,τι μέχρι σήμερα πίστευα, είναι η φυλακή της σκέψης.
Όταν η αφετηρία είναι η ελεύθερη σκέψη, δεν χρειάζεται πλέον να φτάσεις πουθενά!

Τελευταία επεξεργασία από το χρήστη gr8styl : 27-02-10 στις 01:40.
Απάντηση με παράθεση
  #2  
Παλιά 14-04-10, 22:08
Όνομα: Αγγελος
Έκδοση λογισμικού Office: Ms-Office 2003
Γλώσσα λογισμικού Office: Αγγλική
 
Εγγραφή: 14-04-2010
Μηνύματα: 1
Προεπιλογή

Πολυ εξυπνο!!! Συγχαρητηρια...
Σου ξεφευγουν απο το Γενος , καποια ονοματα (οπως π.χ. Ελισαβετ..) αλλα σημασια εχει οτι δουλευει στις περισσοτερες των περιπτωσεων
Αγγελος
Απάντηση με παράθεση
  #3  
Παλιά 20-04-10, 19:28
Όνομα: Γιώργος Καψάλης
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 18-11-2009
Μηνύματα: 126
Προεπιλογή

Δυνατο..!! και πολύ εξυπηρετικόοοοοοοοο

Γιώργος
Απάντηση με παράθεση
  #4  
Παλιά 25-05-10, 09:54
Το avatar του χρήστη serviceman
Όνομα: Σταύρος
Έκδοση λογισμικού Office: Ms-Office 2000
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 11-05-2010
Μηνύματα: 15
Προεπιλογή

Καλημέρα σε όλους,

άλλαξα λίγο την συνάρτηση να βγάζει προσφώνηση ο,η ή ο/η, απλώς επειδή το όνομα είναι σε κεφαλαία δεν δουλευει η συνάρτηση, με μικρά ειναι εντάξει. Υπάρχει τρόπος να δουλεψει για κεφαλαία;

Με εκτίμηση

Σταύρος
Απάντηση με παράθεση
  #5  
Παλιά 26-05-10, 21:29
Το avatar του χρήστη nisgia
Super Moderator
Όνομα: Γιάννης
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 12-10-2009
Περιοχή: Ηγουμενίτσα
Μηνύματα: 186
Προεπιλογή

Φίλε Σταύρο, καλησπέρα!

Το όνομα πρέπει να περαστεί μικρά διότι οι συναρτήσεις ελέγχουν τον τονισμό του ονόματος.

Φυσικά θα μπορούσες να κάνεις χρήση της Lcase() για τα ορίσματα που τους περνάς
αλλά δεν θα παίρνεις τα σωστά αποτελέσματα.

Τα λέμε!
Γιάννης
__________________
Αν δεν το ρωτούσες, δεν θα το μαθαίναμε ποτέ...!
-----------------------------------------------
Τελικά η γνώση, αντίθετα με ό,τι μέχρι σήμερα πίστευα, είναι η φυλακή της σκέψης.
Όταν η αφετηρία είναι η ελεύθερη σκέψη, δεν χρειάζεται πλέον να φτάσεις πουθενά!
Απάντηση με παράθεση
  #6  
Παλιά 27-05-10, 11:48
Το avatar του χρήστη serviceman
Όνομα: Σταύρος
Έκδοση λογισμικού Office: Ms-Office 2000
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 11-05-2010
Μηνύματα: 15
Προεπιλογή

Ευχαριστώ πολύ θα κάνω κάποιες προσπάθειες.
Απάντηση με παράθεση
Απάντηση στο θέμα

Ετικέτες
vba, αλφαριθμητικό, κείμενο, προσφώνηση, συναρτήσεις

Εργαλεία Θεμάτων
Τρόποι εμφάνισης

Δικαιώματα - Επιλογές
Δε μπορείτε να δημοσιεύσετε νέα μηνύματα
Δε μπορείτε να δημοσιεύσετε απαντήσεις
Δεν μπορείτε να επισυνάψετε αρχεία
Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας

Ο κώδικας ΒΒ είναι σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι εκτός λειτουργίας
Trackbacks are εκτός λειτουργίας
Pingbacks are εκτός λειτουργίας
Refbacks are εκτός λειτουργίας


Παρόμοια Θέματα

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[Συναρτήσεις] Αυτόματη ταξινόμηση με συναρτήσεις. gr8styl Excel - Tips & Tricks 0 18-02-11 01:16
[Συναρτήσεις] Οικονομικές συναρτήσεις Excel alexkour Excel - Ερωτήσεις / Απαντήσεις 2 28-01-11 21:00
[Συναρτήσεις] Συναρτησεις IF & AND manolis Excel - Ερωτήσεις / Απαντήσεις 6 14-11-10 11:16
Επί των τύπων των ήλων: like & elself...then συναρτήσεις PanosPan Access - Ερωτήσεις / Απαντήσεις 15 17-03-10 07:49


Η ώρα είναι 15:55.