Θέμα: VBA Excel VBA

Εμφάνιση ενός μόνο μηνύματος
  #2  
Παλιά 11-04-17, 14:22
Το avatar του χρήστη Spirosgr
Spirosgr Ο χρήστης Spirosgr δεν είναι συνδεδεμένος
Συντονιστής
Όνομα: Σπύρος Τσιλιγιάννης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010, Ms-Office 2013, Ms-Office 2016, Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 22-11-2011
Περιοχή: Αθήνα
Μηνύματα: 2.321
Προεπιλογή

Καλησπέρα
Έστω σε κελί a1, ένα string, πχ: text|string|value|2 το οποίο έχει Χ στοιχεία, διαχωρισμένα με "|".
Θα θέλαμε, κατ' επιλογήν, να έχουμε στο b1 κελί,
κάποιο από τα στοιχεία του πχ το 2ο = string ή το 3ο = value.

*Βλέπε εικ. VBA ed
Πατάμε τον συνδιασμό πλήκτρων Alt + F11 και μεταφερόμαστε σε περιβάλλον VBA editor.
Προσθέτουμε μια module και αντιγράφουμε τον κώδικα.
Η συνάρτηση, έχει καταχωρηθεί, μαζί με όλες τις άλλες Excel συναρτήσεις ως UDF συνάρτηση.
*Αποθήκευση βιβλίου ως .xlsm

*Βλέπε εικ. UDF
Στο κελί b1, εισάγουμε την συνάρτηση =SplitPipes()
Η συνάρτηση έχει δύο ορίσματα:
1. κελί = βάζουμε-επιλέγουμε a1
2. αριθμός = βάζουμε τον αριθμό σειράς του στοιχείου που θέλουμε να εμφανιστεί (πχ 2 για string)

Χρησιμοποιούμε την συνάρτηση, όπως οποιαδήποτε άλλη συνάρτηση Excel...
πχ «τραβάμε» κάτω όσο χρειαστεί.
Αν θέλουμε διαφορετικό διαχωριστικό, τότε αντικαθιστούμε στην γραμμή του κώδικα:
arSplit = Split (str, "|") το διαχωριστικό της επιλογής μας
πχ arSplit = Split (str, "-") για διαχωριστικό «παύλα».
Συνημμένα Thumbnails
Excel VBA-vba-ed.png   Excel VBA-utf.png  
Απάντηση με παράθεση