Note: The other languages of the website are Google-translated. Back to English
Oturum aç  \/ 
x
or
x
Kaydol  \/ 
x

or

Excel'de yazarken bir metin kutusu nasıl otomatik tamamlanır?

Varsayılan olarak Excel, geçerli çalışma sayfasının hücrelerine girdiklerinizi hatırlayabilir ve bir dahaki sefere yeni bir hücreye ilgili bir ilk harf yazarken bu içeriği otomatik tamamlayabilir. Bununla birlikte, çalışma sayfasına girdiğiniz tüm içeriğin bir metin kutusunda (ActiveX Kontrolü) otomatik olarak tamamlanmasını istiyorsanız, nasıl yapabilirsiniz? Bu makale, içine bir ilk harf yazarken bir metin kutusunu otomatik olarak tamamlamanıza yardımcı olacak bir VBA yöntemi sağlayacaktır.

VBA kodu ile yazarken bir metin kutusunu otomatik tamamlayın

Office Sekmesi Office'te Sekmeli Düzenleme ve Göz Atmayı Etkinleştirin ve İşinizi Çok Daha Kolay Hale Getirin ...
Kutools for Excel Sorunlarınızın Çoğunu Çözer ve Verimliliğinizi% 80 Artırır
  • Her Şeyi Yeniden Kullanın: En çok kullanılan veya karmaşık formülleri, grafikleri ve diğer her şeyi favorilerinize ekleyin ve gelecekte bunları hızla yeniden kullanın.
  • 20'den fazla metin özelliği: Metin Dizesinden Sayı Ayıklama; Metin Parçalarını Çıkarın veya Çıkarın; Sayıları ve Para Birimlerini İngilizce Kelimelere dönüştürün.
  • Araçları Birleştirme: Birden Fazla Çalışma Kitabı ve Çalışma Sayfası Bir Arada; Veri Kaybetmeden Birden Çok Hücre / Satır / Sütunu Birleştirme; Yinelenen Satırları ve Toplamı Birleştir.
  • Araçları Böl: Verileri Değere Göre Birden Çok Sayfaya Bölün; Birden Çok Excel, PDF veya CSV Dosyasına Bir Çalışma Kitabı; Birden Çok Sütuna Bir Sütun.
  • Atlamayı Yapıştır Gizli / Filtrelenmiş Satırlar; Say ve Toplam Arka Plan Rengine Göre; Kişiselleştirilmiş E-postaları Birden Fazla Alıcıya Toplu Olarak Gönderin.
  • Süper Filtre: Gelişmiş filtre şemaları oluşturun ve herhangi bir sayfaya uygulayın; Sırala hafta, gün, sıklık ve daha fazlasına göre; filtre kalın, formüller, yorum ...
  • 300'den fazla güçlü özellik; Office 2007-2019 ve 365 ile çalışır; Tüm dilleri destekler; Kuruluşunuzda veya kuruluşunuzda kolay dağıtım.

VBA kodu ile yazarken bir metin kutusunu otomatik tamamlayın


Metin kutusunun içine bir ilk harf yazarken bir metin kutusunu otomatik tamamlama yapmak için lütfen aşağıdaki işlemleri yapın.

1. Lütfen tıklayarak bir metin kutusu ekleyin Geliştirici > Ekle > Metin Kutusu (ActiveX Kontrolü). Ekran görüntüsüne bakın:

2. Ve sonra tıklayın Geliştirici > Ekle > Liste Kutusu (ActiveX Kontrolü) mevcut çalışma sayfasına bir liste kutusu eklemek için. Ekran görüntüsüne bakın:

3. Sayfa sekmesine sağ tıklayın, ardından Kodu Görüntüle aşağıdaki ekran görüntüsü gibi bağlam menüsünden.

4. içinde Uygulamalar için Microsoft Visual Basic penceresi, lütfen VBA kodunu kopyalayıp Kod penceresine yapıştırın. Ve sonra tıklayın Araçlar > Referanslarve daha sonra Microsoft Komut Dosyası Çalışma Zamanı kutusu Referanslar - VBAProject iletişim kutusu. Ekran görüntüsüne bakın:

VBA kodu: Yazarken bir metin kutusunu otomatik tamamlayın

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

not: Kodda, ListBox1 ve Metin Kutusu1 çalışma sayfanıza eklediğiniz liste kutusu ve metin kutusunun adıdır.

5. Tuşuna basın. Ara Toplam + Q çıkış tuşları Uygulamalar için Microsoft Visual Basic pencere.

6. Tıklayarak Tasarım Modunu kapatın. Geliştirici > Tasarım Modu çalışma sayfasında.

7. Şimdi başka bir çalışma sayfasına geçin ve ardından VBA kodunu etkinleştirmek için önceki çalışma sayfasına geri dönün.

Şu andan itibaren. Metin kutusuna bir ilk harf girerken, çalışma sayfasına girdiğiniz o harfle başlayan tüm metinler, metin kutusunun sağ tarafında bulunan liste kutusunda listelenecektir. Lütfen metin kutusuna girmek için ihtiyacınız olanı çift tıklayın. Ekran görüntüsüne bakın:

not: Up or Aşağı Liste kutusundaki tüm otomatik tamamlama metinleri arasında hareket etmek için ok tuşunu kullanın ve ardından Keşfet Metin kutusuna gerekli olanı girmek için tuşuna basın.


İlgili yazılar:


En İyi Ofis Üretkenliği Araçları

Kutools for Excel Sorunlarınızın Çoğunu Çözer ve Verimliliğinizi% 80 Artırır

  • Yeniden: Hızlıca yerleştirin karmaşık formüller, grafikler ve daha önce kullandığınız her şey; Hücreleri Şifrele şifre ile; Posta Listesi Oluşturun ve e-posta gönder ...
  • Süper Formül Çubuğu (birden çok metin ve formül satırını kolayca düzenleyin); Okuma Düzeni (çok sayıda hücreyi kolayca okuyun ve düzenleyin); Filtrelenmiş Aralığa Yapıştır...
  • Hücreleri / Satırları / Sütunları Birleştirme Veri kaybetmeden; Bölünmüş Hücre İçeriği; Yinelenen Satırları / Sütunları Birleştirme... Yinelenen Hücreleri Önleyin; Aralıkları Karşılaştır...
  • Yinelenen veya Benzersiz'i seçin Satırlar; Boş Satırları Seçin (tüm hücreler boştur); Süper Bul ve Bulanık Bul Birçok Çalışma Kitabında; Rastgele Seçim ...
  • Tam kopya Formül referansını değiştirmeden Birden Çok Hücre; Otomatik Referans Oluştur Birden Çok Sayfaya; Madde İşaretleri Ekle, Onay Kutuları ve daha fazlası ...
  • Metni Çıkar, Metin Ekle, Konuma Göre Kaldır, Alanı Kaldır; Sayfalama Alt Toplamları Oluşturma ve Yazdırma; Hücre İçeriği ve Yorumları Arasında Dönüştür...
  • Süper Filtre (filtre şemalarını kaydedin ve diğer sayfalara uygulayın); Gelişmiş Sıralama ay / hafta / gün, sıklık ve daha fazlasına göre; Özel Filtre kalın, italik ...
  • Çalışma Kitaplarını ve Çalışma Sayfalarını Birleştirin; Tabloları anahtar sütunlara göre birleştirin; Verileri Birden Çok Sayfaya Bölme; Toplu dönüştürme xls, xlsx ve PDF...
  • 300'den fazla güçlü özellik. Office / Excel 2007-2019 ve 365'i destekler. Tüm dilleri destekler. Kuruluşunuzda veya kuruluşunuzda kolay dağıtım. Tam özellikli 30 günlük ücretsiz deneme. 60 günlük para iade garantisi.
kte sekmesi 201905

Office Tab, Office'e Sekmeli Arayüz Getirir ve İşinizi Çok Daha Kolay Hale Getirir

  • Word, Excel, PowerPoint'te sekmeli düzenlemeyi ve okumayı etkinleştirin, Publisher, Access, Visio ve Project.
  • Yeni pencereler yerine aynı pencerenin yeni sekmelerinde birden çok belge açın ve oluşturun.
  • Üretkenliğinizi% 50 artırır ve her gün sizin için yüzlerce fare tıklamasını azaltır!
ofis tabanı
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    suprio · 3 years ago
    Why would anyone go for writing a script when there are simpler ways to get a dropdown list???