BUL DEĞİŞTİR SORUNU

Katılım
8 Ekim 2004
Mesajlar
317
Excel Vers. ve Dili
EXCEL 2003 TÜRKÇE
Sağlıklı günleriniz olsun

KANAL isimli sayfanın “A” sütünunda sıra No “B” sütünunda personel sicil no “C” sütünunda Personel isimleri ve “D” Sütunu ile “AI” sütunları arasında personele ait günlük mesai bilgileri tutuluyor. “D“ Sütunu ili “ AI” sütunları arasındaki sütunlar takvim günü olarak kabul edilip ayın 1’ ile 31’ i arasını kapsıyor. Ben User form üzerinden KANAL sayfasında seçtiğim personelin bulunarak seçilen personelin bulunduğu satırda istenilen hücrede değişiklik yapmak istiyorum. Yani UserForm üzerinde çağırdığım personel için ayın beşine görev ayın 15 nede mesai olarak 1 girmek istiyorum.
Aşağıdaki kodlar işimi görüyor. Ancak KANAL Sayfasında veriler 3. Yada 4. Satırdan sonra yazılırsa hatalı oluyor. İllaki veriler 1. Yada 2. Satırdan başlamak zorunda ben sayfa başlığı ve sayfa bilgilerin için ilk üç satırı sayfa başlığı olarak kullanmak istiyorum


Private Sub Kanal_Ekle_Click()
Set s1 = Sheets("KANAL")
noA = WorksheetFunction.CountA(s1.Range("a:a"))
For i = 1 To noA
If s1.Cells(i, "a") = Val(txtsira) Then
's1.Cells(i, "c") = adı.Text

s1.Cells(i, "b") = sicil.Text

s1.Cells(i, "d") = Kanal_1.Value
s1.Cells(i, "e") = Kanal_2.Value
s1.Cells(i, "f") = Kanal_3.Value
s1.Cells(i, "g") = Kanal_4.Value
s1.Cells(i, "h") = Kanal_5.Value
s1.Cells(i, "ı") = Kanal_6.Value
s1.Cells(i, "j") = Kanal_7.Value
s1.Cells(i, "k") = Kanal_8.Value
s1.Cells(i, "l") = Kanal_9.Value
s1.Cells(i, "m") = Kanal_10.Value
s1.Cells(i, "n") = Kanal_11.Value
s1.Cells(i, "o") = Kanal_12.Value
s1.Cells(i, "p") = Kanal_13.Value
s1.Cells(i, "q") = Kanal_14.Value
s1.Cells(i, "r") = Kanal_15.Value
s1.Cells(i, "s") = Kanal_16.Value
s1.Cells(i, "t") = Kanal_17.Value
s1.Cells(i, "u") = Kanal_18.Value
s1.Cells(i, "v") = Kanal_19.Value
s1.Cells(i, "w") = Kanal_20.Value
s1.Cells(i, "x") = Kanal_21.Value
s1.Cells(i, "y") = Kanal_22.Value
s1.Cells(i, "z") = Kanal_23.Value
s1.Cells(i, "aa") = Kanal_24.Value
s1.Cells(i, "ab") = Kanal_25.Value
s1.Cells(i, "ac") = Kanal_26.Value
s1.Cells(i, "ad") = Kanal_27.Value
s1.Cells(i, "ae") = Kanal_28.Value
s1.Cells(i, "af") = Kanal_29.Value
s1.Cells(i, "ag") = Kanal_30.Value
s1.Cells(i, "ah") = Kanal_31.Value
s1.Cells(i, "aı") = TextBoxTOPLAMKANAL.Value
Exit Sub
End If
Next i
MsgBox "Aradığınız isimde bir kayıt bulunamadı", vbCritical, "KAYIT"

End Sub
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Private Sub Kanal_Ekle_Click()
Set s1 = Sheets("KANAL")
noA = WorksheetFunction.CountA(s1.Range("a:a"))
For i = 3 To noA
If s1.Cells(i, "a") = Val(txtsira) Then
's1.Cells(i, "c") = adı.Text
 
Katılım
8 Ekim 2004
Mesajlar
317
Excel Vers. ve Dili
EXCEL 2003 TÜRKÇE
Private Sub Kanal_Ekle_Click()
Set s1 = Sheets("KANAL")
noA = WorksheetFunction.CountA(s1.Range("a:a"))
For i = 3 To noA
If s1.Cells(i, "a") = Val(txtsira) Then
's1.Cells(i, "c") = adı.Text
Cevabınız ve geri dönüşünüz için teşekkür ederim. Ancak For döngüsünü belirttiğiniz gibi değiştirdim ancak genede olmadı. Aranılan veriyi bulup düzeltmekte sorun yaşıyorum. Döngü sonunda Aratılan veri bulunamıyor.
 
Katılım
5 Kasım 2006
Mesajlar
601
Excel Vers. ve Dili
TÜRKCE Excel 2021 32bit
Yada son satır bulma olayını countA yerine normal son satır bul koduyla yapın.
 
Katılım
8 Ekim 2004
Mesajlar
317
Excel Vers. ve Dili
EXCEL 2003 TÜRKÇE
Yada son satır bulma olayını countA yerine normal son satır bul koduyla yapın.
Hocam teşekkür ederim. Şimdi oldu. Ancak bilgim olsun diye sormadan geçemeyeceğim. Altarnatif olarak Son satırı bulma olayı
noA = WorksheetFunction.CountA(s1.Range("a:a")) satırı normal son satır bul kodu olarak ne yazabilirim.
 
Katılım
5 Kasım 2006
Mesajlar
601
Excel Vers. ve Dili
TÜRKCE Excel 2021 32bit
Hocam teşekkür ederim. Şimdi oldu. Ancak bilgim olsun diye sormadan geçemeyeceğim. Altarnatif olarak Son satırı bulma olayı
noA = WorksheetFunction.CountA(s1.Range("a:a")) satırı normal son satır bul kodu olarak ne yazabilirim.
Rica ederim.
Normalde standart olarak alttaki gibi olabilir.
Mobilden yazdım hatalı olabilir abey.
C#:
Son = Sheets("Sayfa1).range("A" & rows.count).end(3).row
 
Üst