TextBox içerisindeki yazı hk.

Katılım
19 Haziran 2007
Mesajlar
418
Excel Vers. ve Dili
excel 2007
Merhaba.
Aşağıdaki kod dizimi ile textboxımın içerisinde (label) görünen bir yazı sağlıyorum.
Fare ile tıklayınca kayboluyor ve buradan ListBoxımın içerisinde arama yapıyorum.
Buraya kadar her şey normal ve hiç sorunum yok. Sorun ettiğim nokta ise, tıklama sonucu kaybolan "KİŞİ ARA" yazısı çıktıktan sonra geri gelmiyor. Fare ile tıklayınca kaybolan yazımı textboxtan çıktıktan sonra da görünür yapmak istiyorum. Tabi buaradan initialize olayında da
Kod:
TextBox13 = "KİŞİ ARA"
eklidir.
Saygılarımla...

Kod:
Private Sub TextBox13_Change() 'KİŞİ ARA
Dim k As Range, adrs As String, j As Byte, a As Long
ReDim myarr(1 To 50, 1 To 65536)
If TextBox13.Text = "" Then
ListBox1.RowSource = "satış!A1:U" & Sheets("satış").[a65536].End(xlUp).Row
Exit Sub
End If
With Worksheets("satış")
    ListBox1.RowSource = ""
    If .FilterMode Then .ShowAllData
    Set k = .Range("C2:C65536").Find(TextBox13.Text & "*", , xlValues, xlWhole)
    If Not k Is Nothing Then
        adrs = k.Address
       Do
            a = a + 1
            For j = 1 To 50
               myarr(j, a) = .Cells(k.Row, j).Value
            Next j
            Set k = Range("C2:C65536").FindNext(k)
        Loop While Not k Is Nothing And k.Address <> adrs
        ReDim Preserve myarr(1 To 50, 1 To a)
        ListBox1.Column = myarr
    End If
End With

End Sub
Private Sub TextBox13_Enter()
    TextBox13 = ""
End Sub


Private Sub TextBox13_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    TextBox13 = ""
End Sub
 

Murat OSMA

Altın Üye
Altın Üye
Katılım
23 Mayıs 2011
Mesajlar
5,508
Excel Vers. ve Dili
Microsoft 365 TR-EN
Altın Üyelik Bitiş Tarihi
31-12-2028
TextBox'ın Enter olayına ne güzel "" yazmışsınız.
Exit olayına da olmasını istediğinizi yazın.
 
Katılım
19 Haziran 2007
Mesajlar
418
Excel Vers. ve Dili
excel 2007
Kod:
End Sub
Private Sub TextBox13_Exit()
    TextBox13 = ""
End Sub

Bu şekilde mi olmalı? En sona bu şekilde ekledim ama olmadı. Hata verdi?
 
Katılım
23 Eylül 2004
Mesajlar
1,754
Excel Vers. ve Dili
Excel 2010 TR
Kod:
End Sub
Private Sub TextBox13_Exit()
    TextBox13 = ""
End Sub

Bu şekilde mi olmalı? En sona bu şekilde ekledim ama olmadı. Hata verdi?
sanırım bu şekilde olacak.

Kod:
Private Sub TextBox13_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox13.Text = "KİŞİ ARA"
End Sub
 
Katılım
19 Haziran 2007
Mesajlar
418
Excel Vers. ve Dili
excel 2007
Kod:
Private Sub TextBox13_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox13.Text = "KİŞİ ARA"
End Sub
Şeklinde oldu. Allah razı olsun. :)
Bilginize , gönlünüze sağlık...
 

Murat OSMA

Altın Üye
Altın Üye
Katılım
23 Mayıs 2011
Mesajlar
5,508
Excel Vers. ve Dili
Microsoft 365 TR-EN
Altın Üyelik Bitiş Tarihi
31-12-2028
:) İlk önce bir gülücük ekleyeyim de olumlu tarafında bakın ve sözlerimi yanlış anlamayın lütfen.

Bana göre açıksa, herkese göre de açıktır. Sanırım biraz dikkatli okumak gerekiyor.

Exit olayı da nedir, öyle bir olay mı var.. deseydiniz haklıydınız, bilemiyor olabilirsiniz derdim.

Ama A = B ise; B = ? nedir ? Sorusunun size göresi bize göresi mi olur ? :)


Farkındayım Emine Hanım, bir kere sorduğunuzu bir daha sormuyorsunuz... bu iyiye işaret. ;-)


İyi çalışmalar...

Hoşça kalın !!!
 
Katılım
19 Haziran 2007
Mesajlar
418
Excel Vers. ve Dili
excel 2007
Merhaba Murat Bey. Yanlış anlayacak bir durum yok. Asıl siz bizi mazur görün.
Sorularımız bazen size çok saçma gelebilir. Hatta bazı sorularımı neden sordumki dediğim de oluyor.
Zamanla bazı şeyleri kavramakta ya da anlamakta zorlanıyorum. Ya da bazı arkadaşlar da öyle durumlarda olabiliyorlar. Bu belli bir tabanımızın veya bilgi yetersizliğimizin oluşundandır. Şu zamana kadar pek çok şey öğrendim, öğreniyoruz da. Bu çalışmamı belki üçüncü keredir silbaştan yapıyorum.

Exit olayı İnitialize veya enter olayı... ilk defa duyunca şaşırıyorum elbet. Enter olayını vs. duydum uyguladım. Exit olayınıda bunlara bakarak yapmaya çalıştım. Olmadı. Sorduktan sonra aklıma "" içerisi boşaltıyorsa burayı doldurmam gerek diye düşündüm. Sonra sorduğuma pişman oldum ama aldığım cevapla bilgimi pekiştirmiş oldum. Hatta eksiğim olduğunu da kavradım.

Özet olarak; kavga gürültü ben sizden bir şeyler koparmaya çalışıyorum. İnşallah benimde faydam olacak zamanlar gelir... :)
 

Murat OSMA

Altın Üye
Altın Üye
Katılım
23 Mayıs 2011
Mesajlar
5,508
Excel Vers. ve Dili
Microsoft 365 TR-EN
Altın Üyelik Bitiş Tarihi
31-12-2028
Sizi çok iyi anlıyorum...
Sormadan, araştırmadan bir konuda bilgi sahibi olmak çok zor.
Elbette ki soracaksınız ama sizin de dediğiniz gibi biraz düşünmek, kafa yormak gerekiyor.
Deneye deneye, yavaş yavaş, kodların ne anlama geldiğini bilerek öğrenmek en iyisi.
Umarım siz de bir gün çok daha iyi bir Excel ve VBA bilgisine sahip olursunuz da biz de sizden birşeyler öğreniriz.

Daha henüz yolun başındasınız, öğrendikçe daha da hevesleneceksiniz ve kendi kendinize çözdüğünüz her sorunda, aldığınız keyif ve mutluluk size gün boyu yetecektir.
Sonra siz de bizim gibi, üyelere yardımcı olmaya çalışacaksınız. Nereden nereye geldim diyeceksiniz. Ne kadar geliştiğinizin farkına varınca daha da çok araştıracaksınız.
Adını bile duymamıştınız, oysa şimdi yazdığınız kodlarla, eskiden 1 haftada zorlukla yapabildiğiniz işleri saniyeler içinde yapabileceğinizin farkına varacaksınız.
Bir zamanlar asla yapamam dediğiniz işleri bile kolaylıkla yapabileceksiniz, hatta farklı yollar deneyip çözmeye çalışacaksınız.
Yardımcı olduğunuz üyelerden teşekürler alacaksınız, onların sevincine ortak olacaksınız. Hiç tanmadığınız insanların mutluluğu sizi daha da mutlu edecek... :)
Neyse gerisini vakti geldiğinde yaşarsınız zaten... :D

Hoşça kalın !!!
 
Katılım
19 Haziran 2007
Mesajlar
418
Excel Vers. ve Dili
excel 2007
Kod:
Private Sub TextBox13_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox13.Text = "KİŞİ ARA"
End Sub
Arkadaşlar bu kodu kullandım. İstediğim gibi oldu ama bu sefer ListBoxtaki veriler seçilemiyor.
ListBoxa tıklayınca kayboluyor... :(
 
Katılım
23 Eylül 2004
Mesajlar
1,754
Excel Vers. ve Dili
Excel 2010 TR
Kod:
Private Sub TextBox13_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox13.Text = "KİŞİ ARA"
End Sub
Arkadaşlar bu kodu kullandım. İstediğim gibi oldu ama bu sefer ListBoxtaki veriler seçilemiyor.
ListBoxa tıklayınca kayboluyor... :(
Listbox taki listelemeniz textbox13 den geldiği için çıkışta textbox13 tekrar değişiyor ve listboxtaki veriler kaybolur.:(

Önerim eger listbox her harten sonra guncellenmiyorsa listbox guncelleme kodlarının başına


if textbox13.text ="KİŞİ ARA" then goto son: gibi bir fomulle kodların guncelleme işleminin sonuna gönderin.

Eğer listbox her harfte guncelleniyorsa bu seferde "KİŞİ ARA" işleminin başına yazılarda kullanmedığınız bir tuş tanımlayın Örnk: "-KİŞİ ARA-" gibi ve listbox guncelleme kodlarının başına yine yukarıdaki gibi bir formulle "-" ile başlıyorsa guncelleme işlemi yapma tarsında bir kod yerleştirmeniz yeterli olacaktır.

İyi Çalışmalar.
 
Katılım
19 Haziran 2007
Mesajlar
418
Excel Vers. ve Dili
excel 2007
Bu mesajınızı gözden kaçırdım galiba.
Uygulama yapıp neticeyi akataracağım inşallah.
Lakin güncelleme kodu bu değil mi?
Kod:
if textbox13.text ="KİŞİ ARA" then goto son:
Tabi birde "KİŞİ ARA" "-KİŞİ ARA-" şeklinde deneyeceğim. :)
Birde güncelle kodları hangisi oluyor?
 
Son düzenleme:
Katılım
23 Eylül 2004
Mesajlar
1,754
Excel Vers. ve Dili
Excel 2010 TR
Bu mesajınızı gözden kaçırdım galiba.
Uygulama yapıp neticeyi akataracağım inşallah.
Lakin güncelleme kodu bu değil mi?
Kod:
if textbox13.text ="KİŞİ ARA" then goto son:
Tabi birde "KİŞİ ARA" "-KİŞİ ARA-" şeklinde deneyeceğim. :)
anlatmak istediğimi diğer konuda kodlarınızı güncelleyerek işlem yaptım orayı inceleyebilirmisiniz:

Konular Fazla olunca mesajlar karışmaya başladdı bu hatayı düzeltmek için diğer mesaj üzerinden devam edersek daha iyi olur gibi.
 
Katılım
19 Haziran 2007
Mesajlar
418
Excel Vers. ve Dili
excel 2007
anlatmak istediğimi diğer konuda kodlarınızı güncelleyerek işlem yaptım orayı inceleyebilirmisiniz:

Konular Fazla olunca mesajlar karışmaya başladdı bu hatayı düzeltmek için diğer mesaj üzerinden devam edersek daha iyi olur gibi.
Haklısınız. :)
Diğer konudan devam edelim. Ben kodları uygulayayım.
 
Üst