Kod kısaltması yardım

Katılım
26 Ocak 2009
Mesajlar
60
Excel Vers. ve Dili
excel 2003
türkçe
Arkadaşlar Aşağıdaki kodu daha kısa nasıl yazabilirim.
acemi biri olarak anca bunu yazabildim. yardımlarınızı bekliyorum. teşekkürler.
If UserForm1.TextBox2 = "İLKÖĞRETİM" And UserForm1.TextBox3 = "6" Then
UserForm1.Label6 = Sayfa10.Range("C2")
UserForm1.Label7 = Sayfa10.Range("C3")
UserForm1.Label8 = Sayfa10.Range("C4")
UserForm1.Label9 = Sayfa10.Range("C5")
UserForm1.Label10 = Sayfa10.Range("C6")

UserForm1.Label21 = Sayfa10.Range("D2")
UserForm1.Label22 = Sayfa10.Range("D3")
UserForm1.Label23 = Sayfa10.Range("D4")
UserForm1.Label24 = Sayfa10.Range("D5")
UserForm1.Label25 = Sayfa10.Range("D6")

UserForm1.Label36 = Sayfa10.Range("E2")
UserForm1.Label37 = Sayfa10.Range("E3")
UserForm1.Label38 = Sayfa10.Range("E4")
UserForm1.Label39 = Sayfa10.Range("E5")
UserForm1.Label40 = Sayfa10.Range("E6")

UserForm1.Label51 = Sayfa10.Range("F2")
UserForm1.Label52 = Sayfa10.Range("F3")
UserForm1.Label53 = Sayfa10.Range("F4")
UserForm1.Label54 = Sayfa10.Range("F5")
UserForm1.Label55 = Sayfa10.Range("F6")

UserForm1.Label66 = Sayfa10.Range("G2")
UserForm1.Label67 = Sayfa10.Range("G3")
UserForm1.Label68 = Sayfa10.Range("G4")
UserForm1.Label69 = Sayfa10.Range("G5")
UserForm1.Label70 = Sayfa10.Range("G6")

UserForm1.Label81 = Sayfa10.Range("H2")
UserForm1.Label82 = Sayfa10.Range("H3")
UserForm1.Label83 = Sayfa10.Range("H4")
UserForm1.Label84 = Sayfa10.Range("H5")
UserForm1.Label85 = Sayfa10.Range("H6")

UserForm1.Label96 = Sayfa10.Range("I2")
UserForm1.Label97 = Sayfa10.Range("I3")
UserForm1.Label98 = Sayfa10.Range("I4")
UserForm1.Label99 = Sayfa10.Range("I5")
UserForm1.Label100 = Sayfa10.Range("I6")

End If
 

dEdE

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2005
Mesajlar
2,607
Excel Vers. ve Dili
Ofis 2013 TR 64 Bit
Merhaba,
Örnek dosyanız olsaydı deneme olanağımız olurdu.

Kod:
If UserForm1.TextBox2 = "İLKÖĞRETİM" And UserForm1.TextBox3 = "6" Then
Set s10 = Sheets("Sayfa10")
sutun = 3
w = 6
e = 10
For q = 1 To 7
    sutun = sutun + 1
    w = w + 15
    e = e + 15
    satır = 2
        For i = w To e
            Me.Controls("Label" & i) = s10.Cells(satır, sutun)
            satır = satır + 1
        Next
Next
 
Katılım
26 Ocak 2009
Mesajlar
60
Excel Vers. ve Dili
excel 2003
türkçe
yardımınız için çok teşekkür ederim.
ama çalışmadı nerede hata olabilir anlayamadım
 
Katılım
26 Ocak 2009
Mesajlar
60
Excel Vers. ve Dili
excel 2003
türkçe
arkadaşlar yukarıdaki formülde nerede hata olabilir acaba.
yardımcı olabilirmisiniz.
 
Katılım
6 Şubat 2005
Mesajlar
1,467
Kodları aşağıdaki gibi düzelttim. Bende deneyemiyorum. Örnek yok. 100 label yapmak bayağı zor.
Private Sub UserForm_Click()
If TextBox2 = "İLKÖĞRETİM" And TextBox3 = "6" Then
Set s10 = Sheets("Sayfa10")
sutun = 3
w = 6
e = 10
For q = 1 To 7
sutun = sutun + 1
w = w + 15
e = e + 15
satır = 2
For i = w To e
Me.Controls("Label" & i).Caption = s10.Cells(satır, sutun)
satır = satır + 1
Next
Next
End If
End Sub
 
Katılım
6 Şubat 2005
Mesajlar
1,467
Kodlar aşağıda
Private Sub UserForm_Click()
If TextBox2 = "İLKÖĞRETİM" And TextBox3 = "6" Then
Sheets("Sayfa1").Activate
Sheets("Sayfa10").Range("C2:I6").Select
say = Selection.Count
For i = 1 To say
Me.Controls("label" & i).Caption = Selection(i)
Next
End If
End Sub
 
Son düzenleme:

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,873
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
sayın dEdE nin düzenlediği eksik yerleri düzelttim umarım kusura bakmaz

Private Sub CommandButton1_Click()
If UserForm1.TextBox2.Text = "İLKÖĞRETİM" And UserForm1.TextBox3.Text = "6" Then
Set s10 = Sheets("Sayfa10")
son_satır = 100
sutun = 3
w = 6
e = 10
For q = 1 To 7

satır = 2
If w > son_satır Then Exit Sub
For i = w To e
Me.Controls("Label" & i) = s10.Cells(satır, sutun)
satır = satır + 1
Next
w = w + 15
e = e + 15
sutun = sutun + 1
Next
End If
End Sub
 
Katılım
6 Şubat 2005
Mesajlar
1,467
Bende bir şeylar öğreniyorum arada

Private Sub UserForm_Click()
If TextBox2 = "İLKÖĞRETİM" And TextBox3 = "6" Then
say = Sheets("Sayfa10").Range("c2:I2").Count
For i = 1 To say
Me.Controls("label" & i).Caption = Sheets("Sayfa1").Range("c2:I2")(i)
Next
End If
End Sub
 

dEdE

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2005
Mesajlar
2,607
Excel Vers. ve Dili
Ofis 2013 TR 64 Bit
sayın dEdE nin düzenlediği eksik yerleri düzelttim umarım kusura bakmaz
Merhaba,
Kusura bakmak ne demek, aksine memnun olurum.
Ancak gözden kaçırılmaması gereken nokta kodların denenememesidir. Malum Userform üzerinde 100 tane label hazırlanacak, veri tabanı olacak v.s. Oturup bunları yapcak zamanı kaç kişinin var. Örnek dosya olsaydı hata hemen bulunabilirdi.

Sayın halit3,
Galiba ikimiz de Label nesnesinin Caption özelliğini unutmuşuz. Sayın ömerceri'nin yazdığı şekilde (.Controls("label" & i).Caption) olması gerekmez mi?

Hoşça kalın.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,873
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
user formun içine bunu yapıştır sennin veri alınacak sayfa isminde değişik kayit sayfası herhalde

ekli dosyayı kontroy ediniz.
 

Ekli dosyalar

Son düzenleme:
Katılım
26 Ocak 2009
Mesajlar
60
Excel Vers. ve Dili
excel 2003
türkçe
çok teşekkür ederim yardımlarınız için
istediğim olmuş.
 
Katılım
6 Şubat 2005
Mesajlar
1,467
Dosyana baktım çok karışık Sayfa10 yok, sonra Bilginin geleceği labellerin adları yanlış label1 listede değil yukarda, "ilkogretim6" şeklindeki Sayfa isimlerini "İLKÖĞRETİM6" şeklide yazarsan aşağıdaki gibi istediğin sayfadan bilgi alabilirsin
sayfaad = TextBox2&TextBox3
say = Sheets(sayfaad). Range("c2:I2").Count
For i = 1 To say
Me.Controls("label" & i).Caption = Sheets(sayfaad).Range("c2:I2")(i)
Next
 
Üst