• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Soru düşeyara kodunda object required hatası

  • Konbuyu başlatan Konbuyu başlatan y_tekeli
  • Başlangıç tarihi Başlangıç tarihi
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
 
Burda bir hata var gibi
Kod:
sonuc=Application.WorksheetFunction.VLookup(Cells(SONSATIR, 2), Sayfa2.Range("B2:C8"), 2, False)
 
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
 
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 .
 
Aşağıdaki şekilde deneyiniz.
Kod:
Sonuc = Application.WorksheetFunction.VLookup(Cells(SONSATIR, 2), Range("B2:C8"), 2, False)
 
gözler yoruluncao_Oo_Oo_O hatayı bile görmüyor application yazacağım yere apsolication yazdığımı şimdi farkettim.:LOL::LOL::LOL::LOL:
 
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)
 
Geri
Üst