Μετάβαση στο κύριο περιεχόμενο

Πώς να συμπληρώσετε αυτόματα ένα πλαίσιο κειμένου κατά την πληκτρολόγηση στο Excel;

Από προεπιλογή, το Excel μπορεί να θυμηθεί τι έχετε εισαγάγει σε κελιά του τρέχοντος φύλλου εργασίας και να συμπληρώσει αυτόματα αυτό το περιεχόμενο την επόμενη φορά κατά την πληκτρολόγηση ενός σχετικού αρχικού γράμματος σε ένα νέο κελί. Ωστόσο, εάν θέλετε να συμπληρώσετε αυτόματα όλα τα περιεχόμενα που έχετε εισαγάγει στο φύλλο εργασίας σε ένα πλαίσιο κειμένου (ActiveX Control), πώς μπορείτε να το κάνετε; Αυτό το άρθρο θα παρέχει μια μέθοδο VBA για να σας βοηθήσει να συμπληρώσετε αυτόματα ένα πλαίσιο κειμένου κατά την πληκτρολόγηση ενός αρχικού γράμματος μέσα.

Συμπληρώστε αυτόματα ένα πλαίσιο κειμένου κατά την πληκτρολόγηση με κωδικό VBA


Συμπληρώστε αυτόματα ένα πλαίσιο κειμένου κατά την πληκτρολόγηση με κωδικό VBA

Κάντε τα εξής για να κάνετε αυτόματη συμπλήρωση ενός πλαισίου κειμένου κατά την πληκτρολόγηση ενός αρχικού γράμματος μέσα στο πλαίσιο κειμένου.

1. Εισαγάγετε ένα πλαίσιο κειμένου κάνοντας κλικ Εργολάβος > Κύριο θέμα > Πλαίσιο κειμένου (ActiveX Control). Δείτε το στιγμιότυπο οθόνης:

2. Και μετά κάντε κλικ στο Εργολάβος > Κύριο θέμα > Πλαίσιο λίστας (ActiveX Control) για να εισαγάγετε ένα πλαίσιο λίστας στο τρέχον φύλλο εργασίας. Δείτε το στιγμιότυπο οθόνης:

3. Κάντε δεξί κλικ στην καρτέλα φύλλων και, στη συνέχεια, κάντε κλικ στο Προβολή κωδικού από το μενού περιβάλλοντος όπως φαίνεται το παρακάτω στιγμιότυπο οθόνης.

4. Στο Microsoft Visual Basic για εφαρμογές παράθυρο, αντιγράψτε και επικολλήστε κάτω από τον κώδικα VBA στο παράθυρο Code. Και μετά κάντε κλικ Εργαλεία > αναφορές, και στη συνέχεια ελέγξτε το Χρόνος εκτέλεσης δέσμης ενεργειών Microsoft στο πλαίσιο Αναφορές - VBAProject κουτί διαλόγου. Δείτε το στιγμιότυπο οθόνης:

Κωδικός VBA: Συμπληρώστε αυτόματα ένα πλαίσιο κειμένου κατά την πληκτρολόγηση

Dim xRg As Range
Dim xDic As New Dictionary
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    Me.TextBox1.Value = Me.ListBox1.Value
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim xVal As String
    On Error Resume Next
    If IsNumeric(Target.Value) Then
        xVal = Str(Target.Value)
    Else
        xVal = Target.Value
    End If
    If xVal <> "" Then
        If Not xDic.Exists(xVal) Then
            xDic.Add xVal, xVal
        End If
    End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Me.ListBox1.Visible = False
End Sub
Private Sub Worksheet_Activate()
    Dim I As Long
    Dim xStr As String
    On Error Resume Next
    If xRg Is Nothing Then
        Set xRg = ActiveSheet.UsedRange
    End If
    Me.ListBox1.Visible = False
    xDic.RemoveAll
    With Me.ListBox1
        For I = 1 To xRg.Count
            xStr = xRg(I).Value
            If xStr <> "" Then
                .AddItem xStr
                If Not xDic.Exists(xStr) Then
                    xDic.Add xStr, xStr
                End If
            End If
        Next
    End With
End Sub
Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    With Me.ListBox1
        .Top = Me.TextBox1.Top
        .Left = Me.TextBox1.Left + Me.TextBox1.Width
        .Width = Me.TextBox1.Width
    End With
    TextBoxVal Me.TextBox1.Object
End Sub
Sub TextBoxVal(xTextBox As Variant)
    Dim I As Long
    Dim xStr As String
    On Error Resume Next
    Application.ScreenUpdating = False
    If xRg Is Nothing Then Exit Sub
    Me.ListBox1.Clear
    xStr = xTextBox.Value
    If xStr = "" Then
        Me.ListBox1.Visible = False
        Application.EnableEvents = True
        Exit Sub
    End If
    For I = 0 To UBound(xDic.Items)
        If Left(xDic.Items(I), Len(xStr)) = xStr Then
            Me.ListBox1.AddItem xDic.Items(I)
        End If
    Next
    Me.ListBox1.Visible = True
    If Me.ListBox1.ListCount > 0 Then
        With xTextBox
            .Value = Me.ListBox1.List(0)
            .SelStart = Len(xStr)
            .SelLength = Len(Me.ListBox1.List(0))
        End With
    End If
    Me.ListBox1.Activate
    Me.ListBox1.Selected(0) = True
    Application.ScreenUpdating = True
End Sub
Private Sub ListBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = 13 Then
        Me.TextBox1.Value = Me.ListBox1.Value
    End If
End Sub

Note: Στον κώδικα, Λίστα κουτιών1 και Πλαίσιο κειμένου 1 είναι το όνομα του πλαισίου λίστας και του πλαισίου κειμένου που έχετε εισαγάγει στο φύλλο εργασίας σας.

5. Πάτα το άλλος + Q πλήκτρα για έξοδο από το Microsoft Visual Basic για εφαρμογές παράθυρο.

6. Απενεργοποιήστε τη λειτουργία σχεδίασης κάνοντας κλικ Εργολάβος > Λειτουργία σχεδίασης στο φύλλο εργασίας.

7. Τώρα μεταβείτε σε άλλο φύλλο εργασίας και μετά επιστρέψτε στο προηγούμενο φύλλο εργασίας για να ενεργοποιήσετε τον κωδικό VBA.

Από τώρα και στο εξής. Όταν εισάγετε ένα αρχικό γράμμα στο πλαίσιο κειμένου, όλα τα κείμενα που ξεκινούν με το γράμμα που έχετε εισαγάγει στο φύλλο εργασίας θα παρατίθενται στο πλαίσιο λίστας που βρίσκεται στη δεξιά πλευρά του πλαισίου κειμένου. Κάντε διπλό κλικ στο απαραίτητο για να το εισαγάγετε στο πλαίσιο κειμένου. Δείτε το στιγμιότυπο οθόνης:

Note: Μπορείτε να χρησιμοποιήσετε το Up or κάτω Πλήκτρο βέλους για μετακίνηση μεταξύ όλων των κειμένων αυτόματης συμπλήρωσης στο πλαίσιο λίστας και, στη συνέχεια, πατήστε το εισάγετε για να εισαγάγετε ένα απαραίτητο στο πλαίσιο κειμένου.


Σχετικά άρθρα:

Τα καλύτερα εργαλεία παραγωγικότητας γραφείου

Δημοφιλή χαρακτηριστικά: Εύρεση, επισήμανση ή αναγνώριση διπλότυπων   |  Διαγραφή κενών γραμμών   |  Συνδυάστε στήλες ή κελιά χωρίς απώλεια δεδομένων   |   Γύρος χωρίς φόρμουλα ...
Σούπερ Αναζήτηση: VLookup πολλαπλών κριτηρίων    VLookup πολλαπλών τιμών  |   VLookup σε πολλά φύλλα   |   Ασαφής αναζήτηση ....
Σύνθετη αναπτυσσόμενη λίστα: Γρήγορη δημιουργία αναπτυσσόμενης λίστας   |  Εξαρτημένη αναπτυσσόμενη λίστα   |  Πολλαπλή αναπτυσσόμενη λίστα ....
Διαχειριστής στήλης: Προσθέστε έναν συγκεκριμένο αριθμό στηλών  |  Μετακίνηση στηλών  |  Εναλλαγή κατάστασης ορατότητας κρυφών στηλών  |  Συγκρίνετε εύρη και στήλες ...
Επιλεγμένα Χαρακτηριστικά: Εστίαση πλέγματος   |  Προβολή σχεδίου   |   Μεγάλη Formula Bar    Διαχείριση βιβλίου εργασίας & φύλλου   |  Βιβλιοθήκη πόρων (Αυτόματο κείμενο)   |  Επιλογή ημερομηνίας   |  Συνδυάστε φύλλα εργασίας   |  Κρυπτογράφηση/Αποκρυπτογράφηση κελιών    Αποστολή email ανά λίστα   |  Σούπερ φίλτρο   |   Ειδικό φίλτρο (φίλτρο με έντονη γραφή/πλάγια γραφή/διαγραφή...) ...
Κορυφαία 15 σύνολα εργαλείων12 Κείμενο Εργαλεία (Προσθήκη κειμένου, Κατάργηση χαρακτήρων, ...)   |   50 + Διάγραμμα Τύποι (Gantt διάγραμμα, ...)   |   40+ Πρακτικό ΜΑΘΗΜΑΤΙΚΟΙ τυποι (Υπολογίστε την ηλικία με βάση τα γενέθλια, ...)   |   19 Εισαγωγή Εργαλεία (Εισαγωγή κωδικού QR, Εισαγωγή εικόνας από το μονοπάτι, ...)   |   12 Μετατροπή Εργαλεία (Αριθμοί σε λέξεις, Μετατροπή Συναλλάγματος, ...)   |   7 Συγχώνευση & διαχωρισμός Εργαλεία (Σύνθετες σειρές συνδυασμού, Διαίρεση κελιών, ...)   |   ... κι αλλα

Αυξήστε τις δεξιότητές σας στο Excel με τα Kutools για Excel και απολαύστε την αποτελεσματικότητα όπως ποτέ πριν. Το Kutools για Excel προσφέρει πάνω από 300 προηγμένες δυνατότητες για την ενίσχυση της παραγωγικότητας και την εξοικονόμηση χρόνου.  Κάντε κλικ εδώ για να αποκτήσετε τη δυνατότητα που χρειάζεστε περισσότερο...

kte καρτέλα 201905


Το Office Tab φέρνει τη διεπαφή με καρτέλες στο Office και κάνει την εργασία σας πολύ πιο εύκολη

  • Ενεργοποίηση επεξεργασίας και ανάγνωσης καρτελών σε Word, Excel, PowerPoint, Publisher, Access, Visio και Project.
  • Ανοίξτε και δημιουργήστε πολλά έγγραφα σε νέες καρτέλες του ίδιου παραθύρου και όχι σε νέα παράθυρα.
  • Αυξάνει την παραγωγικότητά σας κατά 50% και μειώνει εκατοντάδες κλικ του ποντικιού για εσάς κάθε μέρα!
Comments (1)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Why would anyone go for writing a script when there are simpler ways to get a dropdown list???
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations