ComboBox1 de il 2 ilçeleri cıkması

Katılım
1 Ocak 2008
Mesajlar
115
Excel Vers. ve Dili
türkçe 2003
userformda ComboBox1 de il isimleri var ComboBox2 de ise ComboBox1 de seçmiş olduğum illerin ilçelerini nasıl çıkarta bilirim şimdiden teşekkürler.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Sayfa üzerinde iller için bir sütun oluşturun ve illeri o sütundan alın.
İlçeler için yanında ili ile birlikte ilçe adını yazan 2 sütun oluşturun
Combobox!den aldığınız ili diğer 2 sütunda ratarak illerin yanındaki ilçeleri combobox2'ye alın.:cool:
 
Katılım
1 Ocak 2008
Mesajlar
115
Excel Vers. ve Dili
türkçe 2003
hocam teşekkürler ama dediklerininzi nasıl yapacağım ekteki örnekte göstere bilirmisiniz..
 
Son düzenleme:

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
hocam teşekkürler ama dediklerininzi nasıl yapacağım ekteki örnekte göstere bilirmisiniz..
İlk mesajınızda dosyayı eklemediğinizden dolayı anlatılanlarla yapabileğiniz çıkardım.Ben öyle anladım.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Buyurun dosyanız.:cool:
Private Sub UserForm_Initialize()
Sheets("Sayfa1").Select
UserForm1.ComboBox1.RowSource = "A2:A" & Cells(65536, "A").End(xlUp).Row
If ComboBox1.ListCount > 0 Then ComboBox1.ListIndex = 0
End Sub
Sub ilce_liste()
Dim i As Long, a As Long
ReDim myarr(1 To 1, 1 To 1)
ComboBox2.Clear
For i = 2 To Cells(65536, "B").End(xlUp).Row
If Cells(i, "B").Value = ComboBox1.Value Then
a = a + 1
ReDim Preserve myarr(1 To 1, 1 To a)
myarr(1, a) = Cells(i, "C").Value
End If
Next i
If a > 0 Then
ComboBox2.Column = myarr
ComboBox2.ListIndex = 0
End If
End Sub
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Buyurun doayanız hazır.:cool:
Kod:
Private Sub UserForm_Initialize()
Sheets("Sayfa1").Select
UserForm1.ComboBox1.RowSource = "A2:A" & Cells(65536, "A").End(xlUp).Row
If ComboBox1.ListCount > 0 Then ComboBox1.ListIndex = 0
End Sub
Sub ilce_liste()
Dim i As Long, a As Long
ReDim myarr(1 To 1, 1 To 1)
ComboBox2.Clear
For i = 2 To Cells(65536, "B").End(xlUp).Row
    If Cells(i, "B").Value = ComboBox1.Value Then
        a = a + 1
        ReDim Preserve myarr(1 To 1, 1 To a)
        myarr(1, a) = Cells(i, "C").Value
    End If
Next i
If a > 0 Then
    ComboBox2.Column = myarr
    ComboBox2.ListIndex = 0
End If
End Sub
 
Katılım
1 Ocak 2008
Mesajlar
115
Excel Vers. ve Dili
türkçe 2003
hocam teşekkürler sayenizde bir şey dah öğrenmiş oldum....
 
Katılım
1 Ocak 2008
Mesajlar
115
Excel Vers. ve Dili
türkçe 2003
hocam tekrar rahatsız ediyorum

Private Sub UserForm_Initialize()
Sheets("Sayfa1").Select
UserForm1.ComboBox1.RowSource = "A2:A" & Cells(65536, "A").End(xlUp).Row
If ComboBox1.ListCount > 0 Then ComboBox1.ListIndex = 0
End Sub
Sub ilce_liste()
Dim i As Long, a As Long
ReDim myarr(1 To 1, 1 To 1)
ComboBox2.Clear
For i = 2 To Cells(65536, "B").End(xlUp).Row
If Cells(i, "B").Value = ComboBox1.Value Then
a = a + 1
ReDim Preserve myarr(1 To 1, 1 To a)
myarr(1, a) = Cells(i, "C").Value
End If
Next i
If a > 0 Then
ComboBox2.Column = myarr
ComboBox2.ListIndex = 0
End If
End Sub

il yerine sayı girdigimiz zaman örnegin 23 yazdığımız zaman karşılığı 255 ytl olmasını istitorum 23 comboboxta görüyorum ama karşılığı olan 255 ytl yi göremiyorum sizce neden olabilir.
 
S

Skorpiyon

Misafir
Sayın maraş321,

Bence üzerinde çalıştığınız dosyadan küçük bir örnek ekleyin ve ne istediğinizi o şekilde belirtin. Son mesajınızı okuduğumda Evren Hocamdan istemiş olduğunuz kodlar ile sizin son isteğiniz arasında bir alakasızlık var gibime geliyor.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Tabbiki yazmaz.Dağa önce yazdıklarınız string değerdi ve sorgulamayı string değere göre yapıyorduk.
Oysa anladığım kadarı ile İl isimlerini indislerine çevirmişsiniz.Bu durumda değerler string değil sayısal oluyor.O yüzden aşağıdaki kodları kullanınız.
Kırmızı renkli satırda değşiklik yaptım.:cool:
Kod:
Sub ilce_liste()
Dim i As Long, a As Long
ReDim myarr(1 To 1, 1 To 1)
ComboBox2.Clear
For i = 2 To Cells(65536, "B").End(xlUp).Row
    If Cells(i, "B").Value = [COLOR="Red"][B]CLng([/B][/COLOR]ComboBox1.Value[B][COLOR="red"]) [/COLOR][/B]Then
        a = a + 1
        ReDim Preserve myarr(1 To 1, 1 To a)
        myarr(1, a) = Cells(i, "C").Value
    End If
Next i
If a > 0 Then
    ComboBox2.Column = myarr
    ComboBox2.ListIndex = 0
End If
End Sub
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Aşağıdaki kodları kullanmanız dağa doğru olacaktır.
İster sayısal ister string olsun her durumda listeleme yapacaktır.
Kırmızı satırlarda değişiklik yapılmıştır.:cool:
Kod:
Sub ilce_liste()
Dim i As Long, a As Long[B][COLOR="Red"], deg As String[/COLOR][/B]
ReDim myarr(1 To 1, 1 To 1)
ComboBox2.Clear
For i = 2 To Cells(65536, "B").End(xlUp).Row
    [B][COLOR="Red"]deg = Cells(i, "B").Value[/COLOR][/B] 
   If [COLOR="red"][B]deg [/B][/COLOR]= ComboBox1.Value Then
        a = a + 1
        ReDim Preserve myarr(1 To 1, 1 To a)
        myarr(1, a) = Cells(i, "C").Value
    End If
Next i
If a > 0 Then
    ComboBox2.Column = myarr
    ComboBox2.ListIndex = 0
End If
End Sub
 
Katılım
1 Ocak 2008
Mesajlar
115
Excel Vers. ve Dili
türkçe 2003
hocam sizi yorduğum için tekrar özür dilerim...sorunu herzamanki gibi hallettiniz teşekkürler...
 
Katılım
1 Ocak 2008
Mesajlar
115
Excel Vers. ve Dili
türkçe 2003
biliyorum çok oldum artık

Sub ilce_liste()
Dim i As Long, a As Long, deg As String
ReDim myarr(1 To 1, 1 To 1)
ComboBox2.Clear
For i = 2 To Cells(65536, "B").End(xlUp).Row
deg = Cells(i, "B").Value
If deg = ComboBox1.Value Then
a = a + 1
ReDim Preserve myarr(1 To 1, 1 To a)
myarr(1, a) = Cells(i, "C").Value
End If
Next i
If a > 0 Then
ComboBox2.Column = myarr
ComboBox2.ListIndex = 0
End If
End Sub


bu kodu kullanıyorum kaydet butonuna basınca ilgili yerlere aktarıyorum user form içindeki ComboBoxları yine bir butun yardımı ile bu kodu kullanarak (ComboBox2.Value = "" ) içindeki verileri temizliyorum.

buraya kadar herşey normal userformda yeni bir kayıt yapmak istediğim zaman illerin çıkmış olduğu comboxtaki veriler geliyor ama ilçeleri cıkması gereken comboxta cıkmıyor.ancak kapatıp açılınca çıkıyor.
sizce bu neden?
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Kaydettiğniz kodun en altına aşğıdaki kodu yazınız.:cool:
Kod:
call ilce_liste
 
Katılım
1 Ocak 2008
Mesajlar
115
Excel Vers. ve Dili
türkçe 2003
Kaydettiğniz kodun en altına aşğıdaki kodu yazınız.:cool:
Kod:
call ilce_liste
Private Sub CommandButton1_Click()
Sheets("GENEL").Select
Son = [B6500].End(3).Row + 1
If Son < 8 Then Son = 8
Cells(Son, 2) = ComboBox1.Value
Cells(Son, 3) = ComboBox2.Value
Cells(Son, 4) = TextBox1
Cells(Son, 5) = ComboBox10.Value
Cells(Son, 6) = TextBox3.Value
Cells(Son, 7) = ComboBox5.Value
Cells(Son, 8) = ComboBox4.Value
Cells(Son, 9) = ComboBox3.Value
Cells(Son, 10) = TextBox7
Cells(Son, 11) = TextBox8
Cells(Son, 12) = ComboBox9.Value
Cells(Son, 13) = ComboBox6.Value
Cells(Son, 14) = ComboBox7.Value
Cells(Son, 15) = ComboBox12.Value
Cells(Son, 16) = TextBox13.Value
Cells(Son, 17) = ComboBox8.Value
Cells(Son, 18) = TextBox15
Cells(Son, 18) = TextBox2080
Cells(Son, 19) = TextBox16
Cells(Son, 20) = TextBox17
Cells(Son, 21) = ComboBox11
For a = 0 To Controls.Count - 1
If TypeName(Controls(a)) = "TextBox" Then Controls(a) = ""
If TypeName(Controls(a)) = "ComboBox" Then Controls(a) = ""
Next
MsgBox "KAYITLAR AKTARILMIŞTIR...."
Call ilce_liste

End Sub


hocam kaydettiğim kod bu ekledim ama olmuyor???
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Dosyayı yollayın.
Dosyaya sorununuzu yazın ve açıklayıcı bilgileri yazınız.:cool:
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
İşlem başarı ile sonuçlanmıştır.
İlgili prosedürü bulup aşağıdaki ile değiştiriniz.:cool:
Kod:
Sub ilce_liste()
Dim i As Long, a As Long
ReDim myarr(1 To 1, 1 To 1)
ComboBox12.Clear
Set sv = Sheets("veriler")
For i = 2 To sv.Cells(65536, "B").End(xlUp).Row
    If sv.Cells(i, "B").Value = ComboBox7.Value Then
        a = a + 1
        ReDim Preserve myarr(1 To 1, 1 To a)
        myarr(1, a) = sv.Cells(i, "C").Value
    End If
Next i
If a > 0 Then
    ComboBox12.Column = myarr
    ComboBox12.ListIndex = 0
    Erase myarr
End If
Set sv = Nothing
End Sub
 
Üst