• DİKKAT

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

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
 
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.
 
Geri
Üst