Soru VBA Private Sub Method Range of Object'_ Worksheet failed hatası

Katılım
29 Aralık 2023
Mesajlar
1
Excel Vers. ve Dili
2016 (İş yeri) - 2019 (Ev) 64 bit TR-ENG
Merhabalar,

Aşağıda yazılı kodların bulunduğu dosyamda 3-5K satırı geçtikten sonra başlıkta yazılı hatayı alıyorum. Bu hata neden kaynaklanıyor bilmiyorum, yardımcı olabilir misiniz?


Kod:
sonsatir = WorksheetFunction.CountA(Worksheets("OKUTMA").Range("A:A")) + 1
        Worksheets("OKUTMA").Select
        ActiveSheet.Range("A1:I" & sonsatir).AutoFilter Field:=1, Criteria1:="a123"
        ActiveSheet.ShowAllData
If TextBoxTSXID <> "" And TextBoxEAN <> "" Then
        Worksheets("OKUTMA").Cells(sonsatir, 3) = TextBoxTSXID.Value
        Worksheets("OKUTMA").Cells(sonsatir, 4) = TextBoxEAN.Value
        Worksheets("OKUTMA").Cells(sonsatir, 7) = 1
        Worksheets("OKUTMA").Cells(sonsatir, 1) = DateValue(Now)
        Worksheets("OKUTMA").Cells(sonsatir, 2) = TimeValue(Now)
Else
        MsgBox "Lütfen tüm alanlari doldurun", , "Hata"
        GoTo bitir2
End If
tsxid = TextBoxTSXID.Value
Unload Me
sonsatir2 = WorksheetFunction.CountA(Worksheets("OKUTMA").Range("A:A"))
        Sheets("OKUTMA").Select
        Range("A" & sonsatir2).Select
        Selection.NumberFormat = "[$-x-sysdate]dddd, mmmm dd, yyyy"
        Range("B" & sonsatir2).Select
        Selection.NumberFormat = "[$-x-systime]h:mm:ss AM/PM"
If sonsatir2 > 2 Then
' skukalanmiktar kodlari okutma sayfasindaki sku kalan miktar hucresinin degerini bulmak icin kullanilir.
skukalanmiktar = _
        Sheets("OKUTMA").Select
        Range("H2:H" & sonsatir2).Select
        Selection.FormulaR1C1 = _
            "=IF(SUMIFS(TSX!C[-3],TSX!C[-5],OKUTMA!RC[-3],TSX!C[-6],OKUTMA!RC[-5])-SUMIFS(C[-1],C[-5],RC[-5],C[-3],RC[-3])<0,(SUMIFS(TSX!C[-3],TSX!C[-5],RC[-3],TSX!C[-6],RC[-5])-SUMIFS(C[-1],C[-5],RC[-5],C[-3],RC[-3]))*-1&"" tane fazla okutuldu"",SUMIFS(TSX!C[-3],TSX!C[-5],RC[-3],TSX!C[-6],RC[-5])-SUMIFS(C[-1],C[-5],RC[-5],C[-3],RC[-3]))"
' tsxkalanmiktar kodlari okutma sayfasindaki tsx kalan miktar hucresinin degerini bulmak icin kullanilir.
tsxkalanmiktar = _
        Sheets("OKUTMA").Select
        Range("I2:I" & sonsatir2).Select
        Selection.FormulaR1C1 = _
            "=SUMIF(TSX!C[-7],OKUTMA!RC[-6],TSX!C[-4])-SUMIF(C[-6],RC[-6],C[-2])"
' okutmaduseyara kodlari okutma sayfasindaki SKU hucresinin degerini bulmak icin kullanilir.
okutmaskuduseyara = _
        Sheets("OKUTMA").Select
        Range("E" & sonsatir2).Select
        Selection.FormulaR1C1 = "=VLOOKUP(RC[-1],EAN!C1:C2,2,0)"
' okutmalistedevarmi kodlari okutma sayfasindaki Listede var mi? hucresinin degerini bulmak icin kullanilir.
okutmalistedevarmi = _
        Sheets("OKUTMA").Select
        Range("F" & sonsatir2).Select
        Selection.FormulaR1C1 = _
            "=IF(IFERROR(VLOOKUP(RC[-3],TSX!C[-4],1,0),""okutulan tote siparise ait degil"")=""okutulan tote siparise ait degil"",""okutulan tote siparise ait degil"",IF(IFERROR(VLOOKUP(RC[-1],TSX!C[-3],1,0),""yanlis toplama"")=""yanlis toplama"",""yanlis toplama"",""sorun yok""))"
Sheets("OKUTMA").Range("E2:I" & sonsatir2).Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
Application.CutCopyMode = False
Range("G2:I" & sonsatir2).Select
Selection.NumberFormat = "0"

Else
        Worksheets("OKUTMA").Select
        ' asagidaki kodlar sku kalan miktari bulur.
        Range("H" & sonsatir2).Select
        Selection.FormulaR1C1 = _
            "=IF(SUMIFS(TSX!C[-3],TSX!C[-5],OKUTMA!RC[-3],TSX!C[-6],OKUTMA!RC[-5])-SUMIFS(C[-1],C[-5],RC[-5],C[-3],RC[-3])<0,(SUMIFS(TSX!C[-3],TSX!C[-5],RC[-3],TSX!C[-6],RC[-5])-SUMIFS(C[-1],C[-5],RC[-5],C[-3],RC[-3]))*-1&"" tane fazla okutuldu"",SUMIFS(TSX!C[-3],TSX!C[-5],RC[-3],TSX!C[-6],RC[-5])-SUMIFS(C[-1],C[-5],RC[-5],C[-3],RC[-3]))"
        ' asagidaki kodlar sku bulur.
        Range("E" & sonsatir2).Select
        Selection.FormulaR1C1 = "=VLOOKUP(RC[-1],EAN!C1:C2,2,0)"
        ' asagidaki kodlar listede var mi? degerini bulur.
        Range("F" & sonsatir2).Select
        Selection.FormulaR1C1 = _
            "=IF(IFERROR(VLOOKUP(RC[-3],TSX!C[-4],1,0),""okutulan tote siparise ait degil"")=""okutulan tote siparise ait degil"",""okutulan tote siparise ait degil"",IF(IFERROR(VLOOKUP(RC[-1],TSX!C[-3],1,0),""yanlis toplama"")=""yanlis toplama"",""yanlis toplama"",""sorun yok""))"
        Range("I" & sonsatir2).Select
        Selection.FormulaR1C1 = _
            "=SUMIF(TSX!C[-7],OKUTMA!RC[-6],TSX!C[-4])-SUMIF(C[-6],RC[-6],C[-2])"
Range("E2:I2").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
Application.CutCopyMode = False
Range("G2:I2").Select
Selection.NumberFormat = "0"
End If
sonsatirlistedevarmi = Worksheets("OKUTMA").Range("F" & sonsatir2).Value
Worksheets("OKUTMA").Range("J" & sonsatir2).FormulaR1C1 = "=ISNONTEXT(RC[-2])"
urunfazlami = Range("J" & sonsatir2).Value
    If sonsatirlistedevarmi = "okutulan tote siparise ait degil" Then
        Worksheets("OKUTMA").Select
        Range("A" & sonsatir2, "J" & sonsatir2).Select
        Selection.ClearContents
        Range("A" & sonsatir2).Select
        MsgBox "Okutulan tote siparise ait degil, yapmaya calistiginiz giris silindi. Girmeye calistiginiz TSX ID ""OZET"" sayfasinda filtrelenerek gosterilecektir. Lutfen icerigi kontrol edip tekrar deneyiniz.", , "Hata"
        Worksheets("OZET").Select
        ActiveSheet.Range("A1:G" & sonsatir2).AutoFilter Field:=1, Criteria1:=tsxid
        ActiveWorkbook.Save
        GoTo bitir
        Else
        If sonsatirlistedevarmi = "yanlis toplama" Then
            Worksheets("OKUTMA").Select
            Range("A" & sonsatir2, "J" & sonsatir2).Select
            Selection.ClearContents
            Range("A" & sonsatir2).Select
            MsgBox "Okutulan tote siparise ait degil, yapmaya calistiginiz giris silindi. Girmeye calistiginiz TSX ID ""OZET"" sayfasinda filtrelenerek gosterilecektir. Lutfen icerigi kontrol edip tekrar deneyiniz.", , "Hata"
            Worksheets("OZET").Select
            ActiveSheet.Range("A1:G" & sonsatir2).AutoFilter Field:=1, Criteria1:=tsxid
            ActiveWorkbook.Save
            GoTo bitir
        Else
        If urunfazlami = True Then
            If sonsatir2 > 2 Then
            Range("A2:I" & sonsatir2).Select
            Selection.Copy
            Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                :=False, Transpose:=False
            Application.CutCopyMode = False
            Range("J" & sonsatir2).Select
            Selection.ClearContents
            Range("A" & sonsatir2).Select
            Else
            Range("A2:I2").Select
            Selection.Copy
            Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                :=False, Transpose:=False
            Application.CutCopyMode = False
            Range("J" & sonsatir2).Select
            Selection.ClearContents
            Range("A" & sonsatir2).Select
            ActiveWorkbook.Save
            End If
            Else
            If sonsatir2 > 2 Then
            Worksheets("OKUTMA").Select
            Range("A" & sonsatir2, "J" & sonsatir2).Select
            Selection.ClearContents
            Range("A" & sonsatir2).Select
            MsgBox "Okutulan tote siparise ait degil, yapmaya calistiginiz giris silindi. Girmeye calistiginiz TSX ID ""OZET"" sayfasinda filtrelenerek gosterilecektir. Lutfen icerigi kontrol edip tekrar deneyiniz.", , "Hata"
            Worksheets("OZET").Select
            ActiveSheet.Range("A1:G" & sonsatir2).AutoFilter Field:=1, Criteria1:=tsxid
            ActiveWorkbook.Save
            GoTo bitir
            Else
            Worksheets("OKUTMA").Select
            Range("A2:J2").Select
            Selection.ClearContents
            Range("A2").Select
            MsgBox "Okutulan tote siparise ait degil, yapmaya calistiginiz giris silindi. Girmeye calistiginiz TSX ID ""OZET"" sayfasinda filtrelenerek gosterilecektir. Lutfen icerigi kontrol edip tekrar deneyiniz.", , "Hata"
            Worksheets("OZET").Select
            ActiveSheet.Range("A1:G" & sonsatir2).AutoFilter Field:=1, Criteria1:=tsxid
            ActiveWorkbook.Save
            GoTo bitir
            End If
        End If
        End If
    End If
VeriGirisiYapildi.Show
bitir:
VeriGirisTekli.Show
bitir2:
End Sub
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Merhaba.
Dosyanızı dosya.tc gibi bir paylaşım sitesine eklerseniz çözüm bulmaya çalışabiliriz.
Dosyanızda özel bilgiler varsa onları benzer ve farklı değerlerle değiştirebilirsiniz.
 
Üst