TextBox içine uyarı yazısı...

Katılım
19 Haziran 2007
Mesajlar
418
Excel Vers. ve Dili
excel 2007
Merhaba arkadaşlar.
Formmum daha sade olması açısından TextBox'ın üzerine (Label) yazdığım yazıyı kaldırarak içine koymak istiyorum. Yani "Kişi ara" yazısı TextBox'ın içinde dursun tıklanınca da kaybolsun. Mümkün mü?

TextBox'ımın kodları aşağıdaki gibidir.

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ış!A2:H" & 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
 

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,461
Excel Vers. ve Dili
office 2010 tr 32bit
Altın Üyelik Bitiş Tarihi
13-06-2029
Merhaba arkadaşlar.
Formmum daha sade olması açısından TextBox'ın üzerine (Label) yazdığım yazıyı kaldırarak içine koymak istiyorum. Yani "Kişi ara" yazısı TextBox'ın içinde dursun tıklanınca da kaybolsun. Mümkün mü?

TextBox'ımın kodları aşağıdaki gibidir.
Sayın Emine Şahin ,

Bir örnek dosya ekleseniz daha hızlı çözüm alırdınız. Zira salona boya isterken inşaatın da tamamını salona gelinceye kadar yapmayı boyayı yapacak olana bırakıyorsunuz.
 
Katılım
19 Haziran 2007
Mesajlar
418
Excel Vers. ve Dili
excel 2007
Haklısınız cems.
Dosya ektedir. Arama yaptığım yerlerdeki "kişi ara" "şehir ara" "telefon ara" ibarelerini texybox içine almak istiyorum. Buradan arama yapmak için tıklandığında kaybolsun.
 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,191
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Ben bir arama kutusu için örnek veriyorum. Siz diğerlerine uyarlarsınız.

İlk olarak formunuzun açılma (Initialize) olayına aşağıdaki kodu uygulayın.

Kod:
    TextBox13 = "KİŞİ ARA"
Daha sonra "KİŞİ ARA" işlemini yaptığınız nesnenin ENTER olayına aşağıdaki kodu uygulayın.

Kod:
Private Sub TextBox13_Enter()
    TextBox13 = ""
End Sub
Yine aynı nesnenin mouse ile tıklanma olayına aşağıdaki kodu uygulayın.

Kod:
Private Sub TextBox13_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    TextBox13 = ""
End Sub
 
Katılım
19 Haziran 2007
Mesajlar
418
Excel Vers. ve Dili
excel 2007
(Initialize) tamam ama,
ben bu enter olayı ve mause olayını kavrayamadım Korhan Bey?
 

ulutanas

Altın Üye
Katılım
8 Kasım 2008
Mesajlar
578
Excel Vers. ve Dili
Excel Vers. ve Dili Ofis 2021 TR 32 Bit
Altın Üyelik Bitiş Tarihi
süresiz üye
siz korhan hocamın yazdıkları kodları aynen formunuza yapıştırın anlarsınız ne demek istediğin korhan beyin :))
 
Katılım
19 Haziran 2007
Mesajlar
418
Excel Vers. ve Dili
excel 2007
:)
Dosyayı ekliyorum. kişi arayınca ve çft tıklayınca hata verdi?!


EDİT: örneğin kişi ara hanesine tıkladığımda istediğim gibi kayboluyor.
ama bu hanelerden birinin içi boş kalırsa (veri çağırmak için çift tıkladığımda) hata veriyor.
dolu iken sorun yok. yada arama yaptığımızda vs...
Sadece boş iken hata veriyor. Buna bir çözüm var mı acaba?
 

Ekli dosyalar

Son düzenleme:

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,461
Excel Vers. ve Dili
office 2010 tr 32bit
Altın Üyelik Bitiş Tarihi
13-06-2029
:)
Dosyayı ekliyorum. kişi arayınca ve çft tıklayınca hata verdi?!
Verilere tıkladığınızda hatanın bundan kaynaklı olduğuna emin misiniz? Soru textboxlara silinen yazı eklemekti, verilere neden tıklıyorsunuz?

textbox13 için; Sayın Korhan Ayhan'ın verdiği kodlar uygulanmış dosyanız ekte. Sorun çıkmadı, 14 ve 15 için siz ekleyiniz.

Dosyanızda Userform_initialize olayının ilk satırı ve olay başlığının üstündeki çizgiden önceki iki blok koda dikkat edin.
 

Ekli dosyalar

ulutanas

Altın Üye
Katılım
8 Kasım 2008
Mesajlar
578
Excel Vers. ve Dili
Excel Vers. ve Dili Ofis 2021 TR 32 Bit
Altın Üyelik Bitiş Tarihi
süresiz üye
kişiyi arayın listede çıkanlardan birisini seçin çift tıklayın sorun olmaz :)
 
Katılım
19 Haziran 2007
Mesajlar
418
Excel Vers. ve Dili
excel 2007
Son mesajımı düzelttim arkadaşlar.
Bu hanelerden biri dahi boş kalırsa hata veriyor.
 
Katılım
19 Haziran 2007
Mesajlar
418
Excel Vers. ve Dili
excel 2007
Verilere tıkladığınızda hatanın bundan kaynaklı olduğuna emin misiniz? Soru textboxlara silinen yazı eklemekti, verilere neden tıklıyorsunuz?

textbox13 için; Sayın Korhan Ayhan'ın verdiği kodlar uygulanmış dosyanız ekte. Sorun çıkmadı, 14 ve 15 için siz ekleyiniz.

Dosyanızda Userform_initialize olayının ilk satırı ve olay başlığının üstündeki çizgiden önceki iki blok koda dikkat edin.
Sevgili cems,
sizin gönderdiğiniz dosyada aynı hatayı veriyor.
Yani orada mutlaka bir şey bulunması lazım. Boş ise hata veriyor.
Siz "KİŞİ ARA" üzerine tıklayın, kaybolsun. Sonra aşağıdaki listboxtan birinin üzerine çift tıklayın hata verecektir...

Diğer 14 ve 15 e ben uyguladım. Aynı şekilde hangi kutu boş ise hata veriyor.

"Dosyanızda Userform_initialize olayının ilk satırı ve olay başlığının üstündeki çizgiden önceki iki blok koda dikkat edin" demişsiniz ama ben kodlardan anlayamam. Yada orada hata olduğunu sanmıyorum...
 

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,461
Excel Vers. ve Dili
office 2010 tr 32bit
Altın Üyelik Bitiş Tarihi
13-06-2029
Sevgili cems,
sizin gönderdiğiniz dosyada aynı hatayı veriyor.
Yani orada mutlaka bir şey bulunması lazım. Boş ise hata veriyor.
Siz "KİŞİ ARA" üzerine tıklayın, kaybolsun. Sonra aşağıdaki listboxtan birinin üzerine çift tıklayın hata verecektir...
Bir ismi tam adıyla aratıp listboxta tıkladım bir sorun olmadı
Başka ismi de arattım gene olmadı

SİL/VAZGEÇ tuşu ile textbox'taki arananı silince hem içyazı geri geldi , hem de tamamen geri gelmiş olan listede tıklamalar sorun çıkarmadı.

Sorun, textbox'a tıklayıp birşey aramazken listeye tıklayınca oluştu. Anladığım kadarı ile textbox eşitini dolu görmüyor ( textbox13.text= " YAZI " ) tıklayınca boşalıyor olması sorunun kaynağı.

Sevgili cems,
Siz "KİŞİ ARA" üzerine tıklayın, kaybolsun. Sonra aşağıdaki listboxtan birinin üzerine çift tıklayın hata verecektir...
Bunu boşken yapmanın mantığını ben bulamıyorum.
 
Son düzenleme:
Katılım
19 Haziran 2007
Mesajlar
418
Excel Vers. ve Dili
excel 2007
Sevgili cems,
sizin gönderdiğiniz dosyada aynı hatayı veriyor.
Yani orada mutlaka bir şey bulunması lazım. Boş ise hata veriyor.
Siz "KİŞİ ARA" üzerine tıklayın, kaybolsun. Sonra aşağıdaki listboxtan birinin üzerine çift tıklayın hata verecektir...

Bir ismi tam adıyla aratıp listboxta tıkladım bir sorun olmadı
Başka ismi de arattım gene olmadı

SİL/VAZGEÇ tuşu ile textbox'taki arananı silince hem içyazı geri geldi , hem de tamamen geri gelmiş olan listede tıklamalar sorun çıkarmadı.

Sorun, textbox'a tıklayıp birşey aramazken listeye tıklayınca oluştu. bu şekilde dener misiniz ?
Ben anlatamadım galiba. Özür dilerim. Bütün kodlar doğru şekilde uygulanmış dosyayı ekliyorum.
Bu dosyada KİŞİ ARA ya tıklayın. oradaki yazı kaybolacak. Eğer dikkat ederseniz Listbaxtaki ilk satırda kaybolacak. bunu sorun etmiyorum...
KİŞİ ARA kaybolduğunda aşağıdan herhangi bir kişiyi çift tıklayın. İşte o zaman hata veriyor. Başka problem yok. SİL/VAZGEÇ butonu formu kapatıp yeniden açıyor. Onda problem yok...

Sonuç: Ben bu şekilde kullanırımda benden başka kullanacak kişi bundan bir şey anlamaz...
 

Ekli dosyalar

Son düzenleme:

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,461
Excel Vers. ve Dili
office 2010 tr 32bit
Altın Üyelik Bitiş Tarihi
13-06-2029
Sevgili cems,
Siz "KİŞİ ARA" üzerine tıklayın, kaybolsun. Sonra aşağıdaki listboxtan birinin üzerine çift tıklayın hata verecektir...
Bunu boşken yapmanın mantığını ben bulamıyorum. Oraya tıklama sebebiniz arama iken dönüp listboxa tıklayarak arama ne kadar anlamlı ki? Program hata versin diye yapmaktan başka anlamı yok, hata konusunda hemfikiriz ama sizin dışınızdaki arkadaşların iki ayrı işi anlamsızca programdan isteyeceklerini düşünüyorsanız, initialize başlığından hemen sonra
On error resume next
yazın , kodlar açılmaz hiç olmazsa ve sonraki işlemi bekler.
Sonuç: Ben bu şekilde kullanırımda benden başka kullanacak kişi bundan bir şey anlamaz...
Tabiri caizse İstanbul'dan Ankara'ya giderken Bolu Tüneli'ne girmişken birden durup (geri de dönmeden) Bolu Dağı'ndan geçmek gibi bu. Dosyanız bu şekilde diyor ki ;

Birinci yol YA DA ikinci yol. (Yol işaretleri de var )
Sizin hata olarak değerlendirdiğiniz ise
Birinci yol VE ikinci yol

Yani mantığı yok.
 
Son düzenleme:
E

ExcelF1

Misafir
Emine Hanım, dosyanızı .xls formatında da ekleyebilir misiniz acaba ?
 
Katılım
19 Haziran 2007
Mesajlar
418
Excel Vers. ve Dili
excel 2007
Bunu boşken yapmanın mantığını ben bulamıyorum. Oraya tıklama sebebiniz arama iken dönüp listboxa tıklayarak arama ne kadar anlamlı ki? Program hata versin diye yapmaktan başka anlamı yok, hata konusunda hemfikiriz ama sizin dışınızdaki arkadaşların iki ayrı işi anlamsızca programdan isteyeceklerini düşünüyorsanız, initialize başlığından hemen sonra
On error resume next
yazın , kodlar açılmaz hiç olmazsa ve sonraki işlemi bekler.

Bu sanırım iyiniyetli isteğinizin zayıf tarafı oldu.
Sevgili cems;
Hatanın ne olduğu konusunda mutabıkız değil mi? Bunu hata olarak da kabul ediyoruz.
Sonuçta normal bir şey değil. Diyelimki bir program yaptınız ve bir müşteriye bunu bu şekilde kabul ettirdiniz... Mümkün mü? Buradaki maksadım ortada bir sorun var ve çözümü de olmalı. Sonuçta, bu olayı kullanmayıveririm. Sorunu kökten çözmüş olurum. Bence bu da çözüm değil...

Çok başınızı ağrıttım kusurabakmayın...

Emine Hanım, dosyanızı .xls formatında da ekleyebilir misiniz acaba ?
XLS olarak nasıl kaydetmem gerek. Farklı kaydette dosya türü olarak göremedim?
 
E

ExcelF1

Misafir
2003 formatı yani. Farklı kaydet dediğinizde, en altta "Kayıt Türü" olarak yazıyor. (En azından 2003'te böyle)
 
E

ExcelF1

Misafir
Kodda hatalarınız var. Örneğin, textboxların change olayları, ve listbox'unuza veri aldırmanız gibi.
Biraz zaman tanırsanız düzeltmeye bir çalışayım. Bakalım bir şeyler yapabilecek miyim.
 
Üst