Soru düşeyara kodunda object required hatası

Katılım
9 Aralık 2006
Mesajlar
134
Excel Vers. ve Dili
microsoft office professional plus 2010 TR
http://www.dosya.tc/server16/oos8mv/2019.rar.html
b sutununda değişiklik olunca çalışan bir kod yazdım.yapılan değişikliğe göre düşeyara yapmasını ve sonucunu 8. sutuna yazmasını istiyorum.bunun yanında eğer ilçe yanlış yazılıpta silmek icap ederse 8. sutunda personel ismini de boşlatsın diye

If Cells(SONSATIR, 2).Value = "" Then
Cells(SONSATIR, 8).Value = ""

bir kod satırıda kullandım ama ne yaptıysam object required hatası çözemedim.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim s As Long
Dim SONSATIR As String
If Intersect(Target, Range("b2:b65536")) Is Nothing Then Exit Sub
For i = 3 To Range("b65536").End(3).Row
If Cells(i, 2).Value = "" Then
Cells(i, 1).Value = ""
Else
s = s + 1
Cells(i, 1).Value = s
End If
Next i
SONSATIR = Cells(Rows.Count, 2).End(xlUp).Row - 1
If Cells(SONSATIR, 2).Value = "" Then
Cells(SONSATIR, 8).Value = ""
Else
Sonuc = Apsoplication.WorksheetFunction.VLookup(Cells(SONSATIR, 2), Sayfa2.Range("B2:C8"), 2, False)
Cells(SONSATIR, 8) = Sonuc
End If
End Sub
 
Katılım
6 Mart 2005
Mesajlar
6,231
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
22/12/2022
Burda bir hata var gibi
Kod:
sonuc=Application.WorksheetFunction.VLookup(Cells(SONSATIR, 2), Sayfa2.Range("B2:C8"), 2, False)
 

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,746
Excel Vers. ve Dili
2010-2016
Aşağıdaki şekilde bir hata vermiyor. Yalnız neden son satıra değer aldırmaya çalıştığınızı anlamadım. 2.Satırda işlem yapsanızda en sona aldırıyorsunuz. Aktif satırın 8. sütununa alması gerekmiyor mu?
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim s As Long
Dim SONSATIR As String
If Intersect(Target, Range("b2:b65536")) Is Nothing Then Exit Sub
For i = 3 To Range("b65536").End(3).Row
If Cells(i, 2).Value = "" Then
Cells(i, 1).Value = ""
Else
s = s + 1
Cells(i, 1).Value = s
End If
Next i
SONSATIR = Cells(Rows.Count, 2).End(xlUp).Row - 1
If Cells(SONSATIR, 2).Value = "" Then
Cells(SONSATIR, 8).Value = ""
Else
Sonuc = WorksheetFunction.VLookup(Cells(SONSATIR, 2), Sayfa2.Range("B2:C8"), 2, False)
Cells(SONSATIR, 8) = Sonuc
End If
End Sub
 
Katılım
9 Aralık 2006
Mesajlar
134
Excel Vers. ve Dili
microsoft office professional plus 2010 TR
Aşağıdaki şekilde bir hata vermiyor. Yalnız neden son satıra değer aldırmaya çalıştığınızı anlamadım. 2.Satırda işlem yapsanızda en sona aldırıyorsunuz. Aktif satırın 8. sütununa alması gerekmiyor mu?
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim s As Long
Dim SONSATIR As String
If Intersect(Target, Range("b2:b65536")) Is Nothing Then Exit Sub
For i = 3 To Range("b65536").End(3).Row
If Cells(i, 2).Value = "" Then
Cells(i, 1).Value = ""
Else
s = s + 1
Cells(i, 1).Value = s
End If
Next i
SONSATIR = Cells(Rows.Count, 2).End(xlUp).Row - 1
If Cells(SONSATIR, 2).Value = "" Then
Cells(SONSATIR, 8).Value = ""
Else
Sonuc = WorksheetFunction.VLookup(Cells(SONSATIR, 2), Sayfa2.Range("B2:C8"), 2, False)
Cells(SONSATIR, 8) = Sonuc
End If
End Sub
teşekkürler . Sizin kastettiğiniz şekilde de yapılabilir di haklısınız .
 
Katılım
6 Mart 2005
Mesajlar
6,231
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
22/12/2022
Aşağıdaki şekilde deneyiniz.
Kod:
Sonuc = Application.WorksheetFunction.VLookup(Cells(SONSATIR, 2), Range("B2:C8"), 2, False)
 
Katılım
9 Aralık 2006
Mesajlar
134
Excel Vers. ve Dili
microsoft office professional plus 2010 TR
gözler yoruluncao_Oo_Oo_O hatayı bile görmüyor application yazacağım yere apsolication yazdığımı şimdi farkettim.:LOL::LOL::LOL::LOL:
 
Katılım
6 Mart 2005
Mesajlar
6,231
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
22/12/2022
gözler yoruluncao_Oo_Oo_O hatayı bile görmüyor application yazacağım yere apsolication yazdığımı şimdi farkettim.:LOL::LOL::LOL::LOL:
Sayfa2 yide kaldırmalısınız.Sayfa2 yazılaçak ise aşağıdaki şekilde olmalı.Dönüş yaptığınız için teşekkür ederim.
Kod:
sonuc = Application.WorksheetFunction.VLookup(Cells(SONSATIR, 2), Sheets("Sayfa2").Range("B2:C8"), 2, False)
 
Üst