• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Exel de yazılacakları otomatik tamamlama yardım

Katılım
11 Eylül 2014
Mesajlar
55
Excel Vers. ve Dili
2007 türkçe
arkadaşlar exel çalışma sayfasına yazacaklarımı exelin tamamlamasını istiyorum
örneğin mehmet yazmak istediğimde M yazdığımdakendi tamamlamasını istiyorum
yazmak istediğim kelimeleri önceden veri olarak girme şansım var mı yardımcı olurmusunuz
 
Son düzenleme:
Excele veriyi önceden öğretirseniz olabilir. Bunun yolu da combobox kullanmak.
Önceden öğretmenin anlamı ; ayrı bir sayfada a2 den başlayıp aşağı doğru bir isim listesi yaparsınız. Kullanacağınız sayfada ismin nereye gelmesini istiyorsanız oraya bir combobox yerleştirirsiniz. Daha sonra combobox özelliklerine geçip " rowsource" satırını bulup "Sayfa2!A2:A65536" yazıp enter ile yerleşmesini sağlarsınız. Ya da aynı işi veri doğrulama ile de yapabilirsiniz.

Dosyayı save ettikten sonra sayfa1e yerleştirmiş olduğunuz comboboxa harf girmeye başladığınızda ismin tamamının geldiğini görürsünüz.

http://www.incele.web.tr/excel-de-acilan-pencere-combobox-nasil-yapilir.html
 
Alternatif;

Ayarlar sayfasında A sütununda başlıksız isimleri sıralayın.

bilgi girdiğiniz sayfada A sütununda Ahmet için a ya bastığınızda Ahmet olarak tamamlayacaktır.
A ile başlayan birden falza isim var ise kodlar ilk bulduğu eşleşmeyi getirir.

İsim listesi Sayfa1 (otomatik tamamlama yaptığınız sayfa) her aktif olduğunda yüklenir.

Module1 e yazılacak.

Kod:
Public liste() As String

Sub liste_yukle()
   Set sh = Sheets("Ayarlar")
   sonsatir = sh.Cells(Rows.Count, "A").End(3).Row
   ReDim Preserve liste(1 To sonsatir)
   For i = 1 To UBound(liste)
      liste(i) = ""
   Next i
   For i = 1 To sonsatir
     isim = sh.Cells(i, 1).Value
     liste(i) = isim
   Next i
End Sub

Public Function buyukharf(cumle)
gecici = ""
For i11 = 1 To Len(cumle)
          h = Mid(cumle, i11, 1)
          Select Case h
            Case "ğ": gecici = gecici + "Ğ"
            Case "ü": gecici = gecici + "Ü"
            Case "ş": gecici = gecici + "Ş"
            Case "ç": gecici = gecici + "Ç"
            Case "ö": gecici = gecici + "Ö"
            Case "ı": gecici = gecici + "I"
            Case "i": gecici = gecici + "İ"
            Case Else: gecici = gecici + UCase(h)
            End Select
Next i11
buyukharf = gecici
End Function
Otomatik tamamlama yapılacak sayfanın kod bölümüne

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    If Target.Value = "" Then Exit Sub
    If Intersect(Target, Range([B][COLOR=Red]"A:A"[/COLOR][/B])) Is Nothing Then Exit Sub
       veri = Target.Value
       For i = 1 To UBound(liste)
          If Left(buyukharf(liste(i)), Len(veri)) = buyukharf(veri) Then
             Target.Value = liste(i)
             Exit For
          End If
       Next i       
End Sub

Private Sub Worksheet_Activate()
   Call liste_yukle
End Sub
 
Son düzenleme:
yardımlarınız için teşekkürler arkadaşlar
 
Geri
Üst