Adım Adım Proje

Bwtunc

Altın Üye
Katılım
28 Kasım 2008
Mesajlar
156
Excel Vers. ve Dili
değişken
Merhaba Değerli ExcelWebTr Uzmanları,

Ekte internet üzerinden ulaşmış olduğum bir userformu kendime göre değiştirdim. Ama eksiklikler ve eklenmesi gerekilen unsurlar var. bunun içinde her zamanki gibi sizin yardımınıza ihtiyaç duyuyorum.

Ekte yer alan dosyada Textboxlar kullanılmış. Bu textboxlara ben listeleme özelliği kazandırmak istiyorum fakat yapamıyorum. Araştırmam neticesinde bir textbox yerine listbox kullanılabileceği bilgisine ulaştım ama bu seferde kodlarla ilgili sıkıntılar yaşıyorum. Bu konuda yardımınızı rica ederim.

Ör: Eğitim durumu textbox'ında "Doktora, Yüksek Lisans, Lisans, Ön Lisans, Lise" seçenekleri açılsın istiyorum.

Nasıl yapabilirim?

Sizin bu aln için yapacağınız yardımla birlikte ben diğer alanları verdiğiniz bilgilere göre düzenleyeceğim.

Dosya ektedir.
 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,327
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Textbox yerine combobox kullanmayı deneyiniz.
 

Bwtunc

Altın Üye
Katılım
28 Kasım 2008
Mesajlar
156
Excel Vers. ve Dili
değişken
Denedim ama kodlarda hata aldım . Acaba sadece eğitim bölümü için bir örnek yapar mısınız? Devamına benim bakabilmem ve öğrenebilmem için.

Teşekkürler.
 

Korhan Ayhan

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

Aslında forumda bu konularla ilgili onlarca başlık var. Arama yaparsanız bolca kaynağa ulaşabilirsiniz.

Yine de incelemeniz için formunuza "EĞİTİM" seçimi için "ComboBox" eklemesi yaptım. Ayrıca tıkladığınızda açılan liste için formun "Private Sub UserForm_Initialize()" olayına gerekli eklemeyi yaptım.
 

Ekli dosyalar

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,745
Excel Vers. ve Dili
2010-2016
Listboxdan tıklama ile değerleri textboxlara almada hata veriyor. Texbox6 silindiği için. O alanı kontrol etmeniz gerekli. Ya şart ile 6 değerini atlatıp comboboxa değeri ayrıca aldırmanız gerekli. Ya da texboxlara tek tek veri almanız gerek.
 

Bwtunc

Altın Üye
Katılım
28 Kasım 2008
Mesajlar
156
Excel Vers. ve Dili
değişken
Yine de incelemeniz için formunuza "EĞİTİM" seçimi için "ComboBox" eklemesi yaptım. Ayrıca tıkladığınızda açılan liste için formun "Private Sub UserForm_Initialize()" olayına gerekli eklemeyi yaptım.
Öncelikle teşekkürler. 2008 yılından beri excelwebtr'deyim bir çok başlık okuyup araştırıp sorunumu çözdüm ve sağolun şimdi bu sayede excel'i daha iyi anlayabiliyorum (tüm sorunlarımı çözemiyorum ama anlamlandırabiliyorum). Yine araştırma ve benzeri birşeyler yaptım combobox'ı ekledim ama çalıştırdığımda hata verdi. Buda anladığım kadarıyla "PRive Sub User" bölümü ile ilgili sizin gönderdiğiniz dosya ve benim dosya arasında ki kod farkına bakacağım. Diğer yerlere uyarlayacağım.

Listboxdan tıklama ile değerleri textboxlara almada hata veriyor. Texbox6 silindiği için. O alanı kontrol etmeniz gerekli. Ya şart ile 6 değerini atlatıp comboboxa değeri ayrıca aldırmanız gerekli. Ya da texboxlara tek tek veri almanız gerek.
Bu bölümü anlayamadım üzgünüm. Şu ana kadar hata almadım. Zaten form bana ait değil iternetten buldum. Sadece düzenliyorum ve ihtiyacıma uygun hale gelecek şekilde geliştiriceğim.
 

Korhan Ayhan

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

Benim size önerim;

İlk olarak bir proje için hangi nesnelere ihtiyacınız var bunu belirleyin. Sonra yeni bir form oluşturup üstündeki nesneleri ihtiyacınıza göre eklemeniz yönünde olacaktır. Bu sayede kendinizi daha hızlı geliştirebilirsiniz.

Var olan çalışmalar kafanızı karıştırabilir. Fazlalık durumunda olabilecek kod satırlarını tespit edemeyebilirsiniz. Buda gereksiz bilgi kirliliğine yol açacaktır. Kafanız daha çok karışacaktır.
 

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,745
Excel Vers. ve Dili
2010-2016
Listboxdaki ListBox1_Click olayında

Kod:
For a = 0 To 11
Controls("textbox" & a + 1) = ListBox1.column(a)
Next
kısmı bende hata veriyor.
Listboxdan veri sectiğiniz zaman döngüde textbox6 yı da arayacak. Ama textbox6 yerine ComboBox2 eklendiği için textbox6 bulamayacak ve hata verecek. Bende hata veriyor.
Yukardaki bölümü aşağıdaki şekilde revize ederseniz hata vermeyecek.

Kod:
Private Sub ListBox1_Click()
Dim say As Long, a As Byte

For a = 0 To 11
    If a <> 5 Then
        Controls("textbox" & a + 1) = ListBox1.column(a)
    End If
Next
ComboBox2.Text = ListBox1.column(5)
LastRow = Sheets("Data").Cells(Rows.Count, "A").End(xlUp).row
Sheets("Data").Activate
Sheets("Data").Range("A2:A" & LastRow).Find(What:=ListBox1.Value, LookIn:=xlValues, LookAt:=xlWhole).Activate

say = ActiveCell.row
TextBox15.Value = say

Sheets("Data").Range("A" & say & ":L" & say).Select
End Sub
 

Bwtunc

Altın Üye
Katılım
28 Kasım 2008
Mesajlar
156
Excel Vers. ve Dili
değişken
Merhaba,

Benim size önerim;

İlk olarak bir proje için hangi nesnelere ihtiyacınız var bunu belirleyin. Sonra yeni bir form oluşturup üstündeki nesneleri ihtiyacınıza göre eklemeniz yönünde olacaktır. Bu sayede kendinizi daha hızlı geliştirebilirsiniz.

Var olan çalışmalar kafanızı karıştırabilir. Fazlalık durumunda olabilecek kod satırlarını tespit edemeyebilirsiniz. Buda gereksiz bilgi kirliliğine yol açacaktır. Kafanız daha çok karışacaktır.
Aslında haklısınız öyle deneyeyim. Aslında zamandan tasarruf etmek için bu yöntemle ilerledim ama temeli sağlam atmamış olacağım.

Listboxdaki ListBox1_Click olayında

Kod:
For a = 0 To 11
Controls("textbox" & a + 1) = ListBox1.column(a)
Next
kısmı bende hata veriyor.
Listboxdan veri sectiğiniz zaman döngüde textbox6 yı da arayacak. Ama textbox6 yerine ComboBox2 eklendiği için textbox6 bulamayacak ve hata verecek. Bende hata veriyor.
Yukardaki bölümü aşağıdaki şekilde revize ederseniz hata vermeyecek.

Kod:
Private Sub ListBox1_Click()
Dim say As Long, a As Byte

For a = 0 To 11
    If a <> 5 Then
        Controls("textbox" & a + 1) = ListBox1.column(a)
    End If
Next
ComboBox2.Text = ListBox1.column(5)
LastRow = Sheets("Data").Cells(Rows.Count, "A").End(xlUp).row
Sheets("Data").Activate
Sheets("Data").Range("A2:A" & LastRow).Find(What:=ListBox1.Value, LookIn:=xlValues, LookAt:=xlWhole).Activate

say = ActiveCell.row
TextBox15.Value = say

Sheets("Data").Range("A" & say & ":L" & say).Select
End Sub
Size çok teşekkür ederim. Kendim hazırlayacağım formda da yardımcı olursanız sevinirim.
 

Bwtunc

Altın Üye
Katılım
28 Kasım 2008
Mesajlar
156
Excel Vers. ve Dili
değişken
Tekrardan Merhaba,

Konuştuğumuz gibi kendi formumu oluşturdum ( Diğer formdan esinlenmedim dersem yalan olur). Youtube videoları ile kaydetme aşamasını tamamladım. Lakin arama bölümünü bir türlü yapamadım. Gerek youtube gerek elimde ki örnekle denedim olmadı. Arama bölümü konusunda bana yardımcı olabilirseniz sevinirim. Ama açıklamalı olmalı çünkü daha yeni yeni vba tarafına geçiyorum herşeyi karıştırmak istemiyorum. Yeni hazırladığım dosya ektedir.

Teşekkürler.
 

Ekli dosyalar

Üst