Προς το περιεχόμενο

Βοήθεια με VBA Userform σε Excel


locobrocolo

Προτεινόμενες αναρτήσεις

Δημοσ. (επεξεργασμένο)

Καλημέρα σας.
Θέλω να πω καταρχάς ότι είμαι σούπερ αρχάριος και προσπαθώ να μάθω μόνος μου διαβάζοντας και βλέποντας οδηγούς.
Έχω φτίαξει μια φόρμα στο Excel με VBA για να περνάω αυτόματα κάποια δεδομένα. Επέλεξα VB γιατί μου φάνηκε πιο εύκολο για κάτι απλό που ήθελα να κάνω και πιο παλιά πάλι είχα ασχοληθεί λίγο.  Έχει πάει αρκετά καλά αλλά έχω κολλήσει στo εξής:

1) Θέλω να μπορώ να κάνω αναζήτηση σε μια στήλη. Συγκεκριμένα τη Β στην οποία σώζω ονόματα. Όμως τυγχάνει να υπάρχουν περισσότερα του ενός ίδια ονόματα και θα ήθελα να είχα μια λειτουργία εκτός από "Find" και ένα "Find Next" ώστε να μπορώ να βλέπω όλα τα πιθανά ονόματα με τα λοιπά τους στοιχεία να προβάλονται όλα στο Userform. Ο κώδικας μου έχει ως εξής:

Private Sub cmdSearsch_Click()
        
        Dim sh As Worksheet
        Set sh = ThisWorkbook.Sheets("Database")
        Dim lr As Long
        lr = sh.Range("B" & Rows.Count).End(xlUp).Row
        Dim i As Long
        
        
     txtSearch.Text = UCase(txtSearch.Text)
       
        
        If Application.WorksheetFunction.CountIf(sh.Range("B:B"), Me.txtSearch.Text) = 0 Then
        MsgBox "Äåí âñÝèçêå áóèåíÞò ìå áõôü ôï Åðþíõìï!", vbOKOnly + vbInformation, "Error"
        Call Reset
        Call UserForm_Initialize
        txtSearch.SetFocus
        Exit Sub
    End If
    
    For i = 2 To lr
        If sh.Cells(i, "B").Value = txtSearch.Text Then
            txtSurname = sh.Cells(i, "B").Value
            txtRN = sh.Cells(i, "A").Value
            txtOnoma = sh.Cells(i, "C").Value
            txtPatronimo = sh.Cells(i, "D").Value
            txtDate = sh.Cells(i, "E").Value

                           '.......{ συνεχίζουν τα δεδομένα είναι αρκετά αλλά πάνω κάτω ίδιας φιλοσοφία}......'

   Exit For

End If
      Next i
      Me.txtSurname.ForeColor = RGB(0, 0, 0)



Ευχαριστω πολύ για τον χρόνο σας και την όποια μικρή ή μεγάλη βοήθειά σας πάνω στο πρόβλημα μου!


 

Επεξ/σία από locobrocolo
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Καλημέρα @locobrocolo,

Αν έχω καταλάβει σωστά, χρειάζεσαι μια φόρμα χρήστη (userform), όπου θα έχει ένα πεδίο (π.χ. ονοματεπώνυμο) και γράφοντας εκεί κάποια κριτήρια (π.χ. ΠΑΠΑ*) να σου εμφανίζει από κάτω σε μια λίστα (Listbox) όλα τα ονόματα που αρχίζουν από ΠΑΠΑ με τις υπόλοιπες στήλες, τις οποίες θα αντλεί από κάποιο φύλλο.

Μπορεί να γίνει κάτι τέτοιο σχετικά εύκολα.

Μπορώ να ανεβάσω ένα παράδειγμα εντός ημέρας, αλλά θα σου πρότεινα να ανέβαζες το δικό σου αρχείο, εξηγώντας τι ακριβώς χρειάζεσαι, ώστε να στο τροποποιήσω ανάλογα τις ανάγκες σου.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

5 ώρες πριν, ChrisGT7 είπε

Καλημέρα @locobrocolo,

Αν έχω καταλάβει σωστά, χρειάζεσαι μια φόρμα χρήστη (userform), όπου θα έχει ένα πεδίο (π.χ. ονοματεπώνυμο) και γράφοντας εκεί κάποια κριτήρια (π.χ. ΠΑΠΑ*) να σου εμφανίζει από κάτω σε μια λίστα (Listbox) όλα τα ονόματα που αρχίζουν από ΠΑΠΑ με τις υπόλοιπες στήλες, τις οποίες θα αντλεί από κάποιο φύλλο.

Μπορεί να γίνει κάτι τέτοιο σχετικά εύκολα.

Μπορώ να ανεβάσω ένα παράδειγμα εντός ημέρας, αλλά θα σου πρότεινα να ανέβαζες το δικό σου αρχείο, εξηγώντας τι ακριβώς χρειάζεσαι, ώστε να στο τροποποιήσω ανάλογα τις ανάγκες σου.

Καταρχάς σε ευχαριστώ για την απάντηση!

Εχω οντως τη φορμα του χρηστη και σε αυτην υπαρχει ενα button_search. Τώρα όπως είναι, όταν γραφεις μια λέξε στο πεδίο text_search βρίσκει το όνομα απο τη λίστα Excel (αν υπάρχει) και φορτώνει όλα τα δεδομένα αυτού το ονόματος από το αντίστοιχο Row στα αντίστοιχα πεδία της φόρμας χρήστη. Οπότε τα έχεις μπροστά σου, στο gui της φόρμας χρήστη. Απλά αν υπάρχουν κι άλλα άτομα στη λίστα excel δεν έχω τρόπο να τα βρω και να εμφανίσω τα δεδομένα τους στη φόρμα χρήστη.

Αν δεν έγινα κατανοήτος μπορω να στείλω το προτζεκτ όλο (κωδικα και userform).

Και πάλι σε ευχαριστω πολύ για τον χρόνο σου και τη διάθεση για βοήθεια!

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Θα σου είναι εύκολο να ανεβάσεις το αρχείο σου καλύτερα;

Μ' αυτόν τον τρόπο θα είναι πιο εύκολο να προσαρμόσω τον κώδικα στη γραμμογράφησή του παρά να φτιάξω ένα από την αρχή που πιθανόν να μην μπορείς να το προσαρμόσεις στο δικό σου.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Καλησπέρα!
Θα ήθελα να ευχαριστήσω ιδιαίτερα τον χρήστη ChrisGT7 για την προθυμία του και διάθεση να βοηθήσει αλλά δυστυχώς το πρόβλημα εμένει. Οπότε αν κανείς άλλος έχει καμιά ιδέα ή πρόταση θα με βοηθούσε ιδιαίτερα και θα το εκτιμούσα.
Καλή μέρα σε όλους σας και σας ευχαριστώ προκαταβολικά για τον χρόνο σας!

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • 4 εβδομάδες αργότερα...

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...