Şarta Bağlı Aktarma

Erdinç FIRTINA

Altın Üye
Katılım
14 Şubat 2007
Mesajlar
400
Excel Vers. ve Dili
excel 2003 türkçe
Altın Üyelik Bitiş Tarihi
15-05-2026
Değerli Üyeler,
Yapılmak istenen kısaca şöyledir.

Sporcular değişik çalıştırıcılarla salon ve havuzda çalışmaktadır. Her bir çalıştırıcı, havuzda veya salonda ayrı ayrı ve birer saatten olmak üzere her gün üçer saat çalışmaktadır.
Ancak, bazı günlerde ve bazı saatlerde birden fazla öğrenciyi bir araya getirerek ortak çalışma yapmaktadır.

Bunu şu şekilde yapmaya çalıştım.

Salon veya Havuz sayfasındaki veriler, ComboBox ile alınıyor. Userform üzerindeki textBoxlara alınan verilerin Sayfa2'ye aktarılması gerekiyor.
Ancak, alınan veriler Sayfa2'ye aktarılırken, eğer TextBoxların herhangi birinde yer alan veri, "ORTAK 1" veya "ORTAK 2" veya "ORTAK 3" verisine eşitse, aktarılan hücreye ve altlarındaki hücrelere "ORTAK" çalışmalarda yer alan öğrencilerin aktarılması gerekiyor.
Bunu TextBox larla yaptığımızda her durum için bir şart oluşturmak gerekiyor. Bu durumda da kod satırları alabildiğince artıyor ve kod satırının uzamasından dolayı da "AKTAR" komutuna "HATA" veriyor.
Yapılmak istenen bu şartlı aktarma daha kısa ve daha kolay bir yöntem ile yapılabilir mi?


If TextBox3.Value = Label7 Then
ActiveCell.Offset(0, 0) = TextBox16
ActiveCell.Offset(0, 1) = Label10
ActiveCell.Offset(1, 0) = TextBox17
ActiveCell.Offset(2, 0) = TextBox18

ElseIf TextBox3.Value = Label8 Then
ActiveCell.Offset(0, 0) = TextBox19
ActiveCell.Offset(0, 1) = Label10
ActiveCell.Offset(1, 0) = TextBox20
ActiveCell.Offset(2, 0) = TextBox21

ElseIf TextBox3.Value = Label9 Then
ActiveCell.Offset(0, 0) = TextBox22
ActiveCell.Offset(0, 1) = Label10
ActiveCell.Offset(1, 0) = TextBox23
ActiveCell.Offset(2, 0) = TextBox24
Else
ActiveCell.Offset(0, 0) = TextBox1
ActiveCell.Offset(0, 16) = Label11
Exit Sub
End If
MsgBox "AKTARIM TAMAMLANMIŞTIR!!!"
Exit Sub
End Sub


Kodun devamı ise;

If TextBox4.Value = Label7 Then
....
ElseIf TextBox4.Value = Label8 Then
...
ElseIf TextBox4.Value = Label9 Then
...

If TextBox5.Value = Label7 Then
....
ElseIf TextBox5.Value = Label8 Then
...
ElseIf TextBox5.Value = Label9 Then
...

If TextBox6.Value = Label7 Then
....
ElseIf TextBox6.Value = Label8 Then
...
ElseIf TextBox6.Value = Label9 Then
...

şeklinde uzamaktadır. Bu durumda da kod satırları çok olduğundan hata vermektedir.

YARDIMLARINIZ İÇİN ŞİMDİDEN ÇOK TEŞEKKÜRLER!!!
 
Üst