• DİKKAT

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

Multipage sayfasındaki labellere verilerin gelmesi ile ilgili

Katılım
7 Ağustos 2007
Mesajlar
328
Excel Vers. ve Dili
excell 2003 - 2007
Arkadaşlar aşağıdaki kod ile Multipage sayfasına kodu girdiğimde ilgili sayfadaki kodla karşılaştırıp varsa ilgili alanlarda göstermesini istiyorum ancak ypamadım. Yardımcı olursanız sevinirim. Teşekkürler.
Kod:
Private Sub MultiPage1_Change()

Set KT = Sheets("KT")


For i = 9 To 15

For s = 6 To 12
For lb1 = 22 To 28
For lb2 = 43 To 49
If Controls("textbox" & i) = KT.Range("A" & s).Value Then


Controls("label" & lb1) = KT.Range("B" & s)
Controls("label" & lb2) = KT.Range("C" & s)

End If
Next: Next: Next: Next

End Sub
 
Sayın Mx@Raid

iç içe çok fazla döngü kullandığınız için döngüler her sereferinde en son değeri döndürüyor. O yüzden sonuca ulaşılamıyor.
iç içe döngü yerine tanımlama yaparak bu sorunu çözebilirsiniz.
Kodlama aşağıdaki gibi yapılsa sorun çözülür.
Örnek Dosyayı inceleyin
Kod:
Set KT = Sheets("KT")

For i = 9 To 15


If Controls("textbox" & i).Text = KT.Range("A" & i - 3).Text Then
lb1 = 13 + i
lb2 = 34 + i
Controls("label" & lb2) = KT.Range("C" & i - 3)
Controls("label" & lb1) = KT.Range("B" & i - 3)

End If
Next i
 

Ekli dosyalar

Bu yöntemle yazdığımızda örneğin ders kodunu 101 değil de 102 yazarsak ilk derse dersin adını ve kredisini vermiyor. bunun yerine find komutu ile olabilmesi mümkünmüdür. Find komutu ile yazılırsa hangi ders kodu olursa olsun yazar zannedersem. Bu konuda yardımcı olursanız sevinirm. Aslında hedeflediğim şuydu textboxlarda yazılan kodu labelde yazacak ancak bunu tek bir koda ile yapmanın yolu var mı; çünkü textbox ve labeller oldukça fazla.
Kod:
Set Bul = KT.Range("A6:A50") & KT.Range("E6:E49").Find(TextBox1.Text) & "*", LookIn:=xlValues)
yazdım ancak yazım metodu yanlış anladığım kadarıyla.
 
Son düzenleme:
aşağıdaki şekilde deneyince kısmen çıkıyor ancak benim girdiğim değerin karşılığını bulması lazım. Labelleri işin içine katmazsam ders adları ve kredileri geliyor.
Kod:
Private Sub MultiPage1_Change()
Set KT = Sheets("KT")
Dim Bul As Variant

For i = 9 To 15

Set Bul = KT.Range("A6:A50").Find(What:=("textbox" & i), LookIn:=xlValues, LookAt:=xlWhole)
If Not Bul Is Nothing Then

lb1 = 13 + i
lb2 = 34 + i

Controls("label" & lb1) = Bul.Row("B" & i - 3) [COLOR="Red"]'Bunlar olmadığında dersler geliyor[/COLOR]
Controls("label" & lb2) = Bul.Row("C" & i - 3) [COLOR="Red"]'ancak benim girdiğim ders koduna göre gelmesi gerekiyor.[/COLOR]

End If
Next i

End Sub
diğer nokta ise A sütunu ve E sütununda arama yapması lazım.
 
Arkadaşlar konuyu yeniden açmayı uygun bulmadığım için burada devam etmek istiyorum. Dosya ekte inceleyip yardımcı olursanız sevinirim. Teşekkürler.
 

Ekli dosyalar

Arkadaşlar aşağıdaki kodu textboxların tamamında bir defada tanımlatıp hepsinde nasıl uyarlayacağım. Yardımcı olursanız sevinirim. (Şaşkınlık içerisindeyim: Cuma gününden beri uzman arkadaşların neredeyse tamamını forumda göremedim.)

Kod:
Private Sub TextBox9_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox9 = Empty Then Label22 = "": Exit Sub
Label22 = Sheets("KT").Range("A6:E50").Find(What:=TextBox9, LookIn:=xlValues, LookAt:=xlWhole).Offset(0, 1)
Label43 = Sheets("KT").Range("A6:E50").Find(What:=TextBox9, LookIn:=xlValues, LookAt:=xlWhole).Offset(0, 2)
End Sub

Private Sub TextBox10_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox10 = Empty Then Label23 = "": Exit Sub
Label23 = Sheets("KT").Range("A6:E50").Find(What:=TextBox10, LookIn:=xlValues, LookAt:=xlWhole).Offset(0, 1)
Label44 = Sheets("KT").Range("A6:E50").Find(What:=TextBox10, LookIn:=xlValues, LookAt:=xlWhole).Offset(0, 2)
End Sub

Private Sub TextBox11_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox11 = Empty Then Label24 = "": Exit Sub
Label24 = Sheets("KT").Range("A6:E50").Find(What:=TextBox11, LookIn:=xlValues, LookAt:=xlWhole).Offset(0, 1)
Label45 = Sheets("KT").Range("A6:E50").Find(What:=TextBox11, LookIn:=xlValues, LookAt:=xlWhole).Offset(0, 2)
End Sub

Private Sub TextBox12_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox12 = Empty Then Label25 = "": Exit Sub
Label25 = Sheets("KT").Range("A6:E50").Find(What:=TextBox12, LookIn:=xlValues, LookAt:=xlWhole).Offset(0, 1)
Label46 = Sheets("KT").Range("A6:E50").Find(What:=TextBox12, LookIn:=xlValues, LookAt:=xlWhole).Offset(0, 2)
End Sub

Private Sub TextBox13_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox13= Empty Then Label26 = "": Exit Sub
Label26 = Sheets("KT").Range("A6:E50").Find(What:=TextBox13, LookIn:=xlValues, LookAt:=xlWhole).Offset(0, 1)
Label47 = Sheets("KT").Range("A6:E50").Find(What:=TextBox13, LookIn:=xlValues, LookAt:=xlWhole).Offset(0, 2)
End Sub

Private Sub TextBox14_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox14 = Empty Then Label27 = "": Exit Sub
Label27 = Sheets("KT").Range("A6:E50").Find(What:=TextBox14, LookIn:=xlValues, LookAt:=xlWhole).Offset(0, 1)
Label48 = Sheets("KT").Range("A6:E50").Find(What:=TextBox14, LookIn:=xlValues, LookAt:=xlWhole).Offset(0, 2)
End Sub

Private Sub TextBox15_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox15 = Empty Then Label28 = "": Exit Sub
Label28 = Sheets("KT").Range("A6:E50").Find(What:=TextBox15, LookIn:=xlValues, LookAt:=xlWhole).Offset(0, 1)
Label49 = Sheets("KT").Range("A6:E50").Find(What:=TextBox15, LookIn:=xlValues, LookAt:=xlWhole).Offset(0, 2)
End Sub
 
Geri
Üst