ms-office.gr > Forum > Microsoft Office > Visual Basic for Applications (VBA) > [Excel - VBA] Εύρεση δεδομένων σε UserForm

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

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

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 20-09-21, 14:30
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 12-02-2020
Μηνύματα: 9
Προεπιλογή Εύρεση δεδομένων σε UserForm

Αγαπημένοι και χρήσιμοι φίλοι μου,

Έχω φτιάξει μία φόρμα στην οποία καταχωρώ τα δεδομένα των μελών ενός συλλόγου (Επίθετο, όνομα κ.λ.π., κ.λ.π.) και η οποία με τη σειρά της (πατώντας ένα commandbutton “Αποθήκευση”) μεταφέρει τα δεδομένα σε ένα φύλλο excel (“Αρχείο Μελών”).
Παράλληλα, ήθελα να έχω τη δυνατότητα αναζήτησης των στοιχείων ενός μέλους, όχι στο φύλλο excel, αλλά στην ίδια τη φόρμα. Έχοντας λοιπόν κενά όλα τα πεδία της φόρμας, ήθελα να μπορώ πληκτρολογώντας το επίθετο στο textbox “txtSurename” και πατώντας στο πλήκτρο “cmndSearch” να συμπληρώνεται αυτόματα το Όνομα στο txtbox “Name” καθώς και τα διάφορα άλλα πεδία της φόρμας (με λίγα λόγια θέλω να κάνω κάτι σαν αυτό που κάνει το "Φιλτράρισμα με βάση τη φόρμα της Access).
Επειδή όμως υπάρχει η περίπτωση δύο (ή περισσοτέρων) μελών με το ίδιο επίθετο, έπρεπε να έχω τη δυνατότητα μιας διαδικασίας «Find Next».
Το μόνο που μου επέτρεπαν οι φτωχές μου γνώσεις στο αντικείμενο της vba, ήταν να googl-άρω και να βρω το εξής:

Private Sub cmndSearch_Click()

Dim FindValue As String
FindValue = txtSurename.Text

Dim Rng As Range
Set Rng = Range("A2:A200")

Dim FindRng As Range
Set FindRng = Rng.Find(FindValue)

Dim FirstCell As String

txtName.Text = Sheets("Αρχείο Μελών").Cells(FindRng.Row, 2).Value
.
.
.
(Ομοίως για τα υπόλοιπα πεδία της φόρμας (ημερ. Γέννησης, διεύθυνση κ.λ.π.).

Do
MsgBox FindRng.Address
Set FindRng = Rng.FindNext(FindRng)
FirstCell = FindRng.Address
txtName.Text = Sheets("Αρχείο Μελών").Cells(FindRng.Row, 2).Value
Loop While FirstCell <> FindRng.Address
MsgBox "Search is over"

End Sub

Έτσι, κάθε φορά που πατάω το πλήκτρο “OK” του MsgBox, εφόσον η διαδικασία εντοπίζει μέλη με το ίδιο επίθετο, προβάλει με τη σειρά τα στοιχεία τους στα πεδία της φόρμας.
Το πρόβλημά μου (ανάμεσα στα άλλα που δεν είναι της παρούσης), είναι ότι δεν θέλω να εμφανίζεται το MsgBox, αλλά να κάνω εύρεση της επόμενης εγγραφής με το πλήκτρο cmndSearch (ή με κάποιο άλλο πλήκτρο cmndNext) και μόνον εφόσον δεν υπάρχουν άλλες εγγραφές να παίρνω το μήνυμα “Search is over”.

Προσπάθησα σκληρά, αλλά ... τζίφος!!!
Πάσα βοήθεια δεκτή...

Υπάρχει τρόπος να γίνει εύρεση με χρήση πολλαπλών κριτηρίων (π.χ. txtSurename & txtName & txtDateOfBirth κλπ); Αν ναι, ξεφεύγει κατά πολύ από τα όρια της παραπάνω περίπτωσης;

Ευχαριστώ προκαταβολικά για τη βοήθεια…
Απάντηση με παράθεση
  #2  
Παλιά 20-09-21, 22:55
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 12-02-2020
Μηνύματα: 9
Προεπιλογή

Το πρόβλημα λύθηκε.
Δεν γνωρίζω αν μπορώ να διαγράψω το θέμα.
Αν θέλει κάποιος διαχειριστής ας το κάνει.
Ευχαριστώ
Απάντηση με παράθεση
Απάντηση στο θέμα


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

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


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

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[Excel07] Επιλεκτική εύρεση και μεταφορά δεδομένων μεταξύ 2 Excel αρχείων Menelaos Excel - Ερωτήσεις / Απαντήσεις 9 08-08-19 12:59
ΕΥΡΕΣΗ ΔΕΔΟΜΕΝΩΝ ΣΕ ΕΡΩΤΗΜΑ ΣΥΓΚΕΚΡΙΜΕΝΟΥ ΔΙΑΣΤΗΜΑΤΟΣ smasak Access - Ερωτήσεις / Απαντήσεις 1 26-09-18 17:12
[Συναρτήσεις] εύρεση σε λίστα και μεταφορά δεδομένων Dietlosscoffee Excel - Ερωτήσεις / Απαντήσεις 0 23-10-14 19:50
[Γενικά] Ευρεση και αθροιση δεδομένων misirlis Excel - Ερωτήσεις / Απαντήσεις 2 08-05-11 17:05
[VBA] Εισαγωγή δεδομένων με UserForm Flashgordon61 Excel - Ερωτήσεις / Απαντήσεις 2 02-12-10 21:19


Η ώρα είναι 00:25.