Merhabalar,
Günlerdir forum içinde araştırıyorum ve bir çok kodu denedim ama istediğim gibi bir makro yapamadım maalesef, değerli üstadlarımdan talebim aşağıda ki gibidir.
Resimlerde görmüş olduğunuz form ile excelde ilgili proje sayfasına (50 den fazla sayfa olacak toplamda) günlük olarak rapor yazılması istenmektedir.
Temel anlamda istediğimiz gibi ekleme yapılmaktadır. (Seçilen proje numarasına ait sayfada, sırada ki boş satırın A1 hücresine belirtilen hafta no yazılmakta. Ve aynı satırda, OptionButton ile seçilen gün hücresine rapor metni eklenmekte)
Fakat, hatalı veri girişini engellemek amaçlı, "HAFTA NO" seçimine ve GÜN seçimlerine bir kontrol eklemek istiyorum.
Sorularım şu şekilde;


Günlerdir forum içinde araştırıyorum ve bir çok kodu denedim ama istediğim gibi bir makro yapamadım maalesef, değerli üstadlarımdan talebim aşağıda ki gibidir.
Resimlerde görmüş olduğunuz form ile excelde ilgili proje sayfasına (50 den fazla sayfa olacak toplamda) günlük olarak rapor yazılması istenmektedir.
Temel anlamda istediğimiz gibi ekleme yapılmaktadır. (Seçilen proje numarasına ait sayfada, sırada ki boş satırın A1 hücresine belirtilen hafta no yazılmakta. Ve aynı satırda, OptionButton ile seçilen gün hücresine rapor metni eklenmekte)
Fakat, hatalı veri girişini engellemek amaçlı, "HAFTA NO" seçimine ve GÜN seçimlerine bir kontrol eklemek istiyorum.
Sorularım şu şekilde;
- Proje No seçildiğinde "Hafta No" textbox da o projenin yazılan son haftası değeri gelmekte. Bu özelliği OptionButton için de yapabilmemiz mümkün mü? Proje no seçildiğinde, seçilen projenin son haftası ve rapor metni girilmemiş gün seçili olarak gelebilir mi?
- Rapor metni girilmesi istenen Hafta ve Gün kesişiminde ki hücre dolu ise yeni rapor metnini yazmasın ve uyarı versin. Code kısmında göreceğiniz gibi alt kısımda yer alan pasif hale getirdiğim kodlar ile düşündüğümü yapabiliyorum genel olarak, ama kontrol için kodlar yazmaya çalışınca o kodlarda çalışmaz oldu, sırasını tutturamadım bir türlü

- Yeni bir hafta oluştururken, hafta no ya sırada ki haftayı yazdığımda, sırada ki boş satırdan işleme devam edebiliyorum. Bu noktada yapmak istediğim A sütununda benzer hafta ifadesi varsa yine uyarı versin (şimdiki haliyle alt alta 1.HAFTA yazabiliyor ama ben yazılmasın istiyorum)
- Mevcut haftada ki tüm günler dolduğunda yeni haftaya otomatik geçmesi için "yeni hafta ekle" diye bir buton mu eklemek daha mantıklı olur. Yoksa formülasyon ile otomatikleştirebilir miyiz?


Kod:
Private Sub PROJENO_Enter()
i = ActiveSheet.Range("A1000").End(xlUp).Row
HAFTANO.Text = ActiveSheet.Cells(i, 1)
End Sub
Private Sub ComboBox1_Change()
End Sub
Private Sub CommandButton1_Click()
If PROJENO.Text = "" Then
MsgBox ("Lütfen Proje Kodu Giriniz")
Exit Sub
End If
ad = PROJENO.Text
Sheets(ad).Select
Range("A5").Select
ActiveSheet.Name = ad
i = ActiveSheet.Range("A1000").End(xlUp).Row
If OptionButton1.Value = True Then
GUN = 2
ElseIf OptionButton2.Value = True Then
GUN = 3
ElseIf OptionButton3.Value = True Then
GUN = 4
ElseIf OptionButton4.Value = True Then
GUN = 5
ElseIf OptionButton5.Value = True Then
GUN = 6
ElseIf OptionButton6.Value = True Then
GUN = 7
ElseIf OptionButton7.Value = True Then
GUN = 8
End If
If HAFTANO.Value = ActiveSheet.Cells(i, 1) & "HAFTA" Then
ActiveSheet.Cells(i, GUN) = TextBox1.Text
ElseIf ActiveSheet.Cells(i, 1) <> HAFTANO.Text Then
ActiveSheet.Cells(i + 1, 1) = HAFTANO.Text
ActiveSheet.Cells(i + 1, GUN) = TextBox1.Text
End If
'If ActiveSheet.Cells(i + 1, GUN) <> "" Then
'MsgBox ("Belirtilen rapor günü dolu. Lütfen girdileri kontrol ediniz")
'ElseIf ActiveSheet.Cells(i + 1, GUN) = TextBox1.Text Then
'Exit Sub
'End If
End Sub
