Πώς να συμπληρώσετε αυτόματα ένα πλαίσιο κειμένου κατά την πληκτρολόγηση στο 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
Σημείωση: Στον κώδικα, Λίστα κουτιών1 και Πλαίσιο κειμένου 1 είναι το όνομα του πλαισίου λίστας και του πλαισίου κειμένου που έχετε εισαγάγει στο φύλλο εργασίας σας.
5. Πάτα το άλλος + Q πλήκτρα για έξοδο από το Microsoft Visual Basic για εφαρμογές παράθυρο.
6. Απενεργοποιήστε τη λειτουργία σχεδίασης κάνοντας κλικ Εργολάβος > Λειτουργία σχεδίασης στο φύλλο εργασίας.
7. Τώρα μεταβείτε σε άλλο φύλλο εργασίας και μετά επιστρέψτε στο προηγούμενο φύλλο εργασίας για να ενεργοποιήσετε τον κωδικό VBA.
Από τώρα και στο εξής. Όταν εισάγετε ένα αρχικό γράμμα στο πλαίσιο κειμένου, όλα τα κείμενα που ξεκινούν με το γράμμα που έχετε εισαγάγει στο φύλλο εργασίας θα παρατίθενται στο πλαίσιο λίστας που βρίσκεται στη δεξιά πλευρά του πλαισίου κειμένου. Κάντε διπλό κλικ στο απαραίτητο για να το εισαγάγετε στο πλαίσιο κειμένου. Δείτε το στιγμιότυπο οθόνης:
Σημείωση: Μπορείτε να χρησιμοποιήσετε το Up or κάτω Πλήκτρο βέλους για μετακίνηση μεταξύ όλων των κειμένων αυτόματης συμπλήρωσης στο πλαίσιο λίστας και, στη συνέχεια, πατήστε το εισάγετε για να εισαγάγετε ένα απαραίτητο στο πλαίσιο κειμένου.
Σχετικά άρθρα:
- Πώς να επιλέξετε αυτόματα κείμενο ενός κειμένου όταν είναι επιλεγμένο στο Excel;
- Πώς να εκκαθαρίσετε τα περιεχόμενα του πλαισίου κειμένου όταν κάνετε κλικ στο Excel;
- Πώς να συνενώσετε κείμενα πολλαπλών κελιών σε ένα πλαίσιο κειμένου στο Excel;
- Πώς να απενεργοποιήσετε την επεξεργασία στο πλαίσιο κειμένου για να αποτρέψετε την εισαγωγή χρηστών στο Excel;
- Πώς να μορφοποιήσετε ένα πλαίσιο κειμένου ως ποσοστό στο Excel;
Τα καλύτερα εργαλεία παραγωγικότητας γραφείου
Αυξήστε τις δεξιότητές σας στο Excel με τα Kutools για Excel και απολαύστε την αποτελεσματικότητα όπως ποτέ πριν. Το Kutools για Excel προσφέρει πάνω από 300 προηγμένες δυνατότητες για την ενίσχυση της παραγωγικότητας και την εξοικονόμηση χρόνου. Κάντε κλικ εδώ για να αποκτήσετε τη δυνατότητα που χρειάζεστε περισσότερο...
Το Office Tab φέρνει τη διεπαφή με καρτέλες στο Office και κάνει την εργασία σας πολύ πιο εύκολη
- Ενεργοποίηση επεξεργασίας και ανάγνωσης καρτελών σε Word, Excel, PowerPoint, Publisher, Access, Visio και Project.
- Ανοίξτε και δημιουργήστε πολλά έγγραφα σε νέες καρτέλες του ίδιου παραθύρου και όχι σε νέα παράθυρα.
- Αυξάνει την παραγωγικότητά σας κατά 50% και μειώνει εκατοντάδες κλικ του ποντικιού για εσάς κάθε μέρα!