Page 1 of 1

เรื่อง Runtime error สามารถมีวิธีแก้ไขได้อย่างไรครับ

Posted: Mon Jan 28, 2013 1:30 pm
by armrobot
โปรแกรมมีการ copy ข้อมูลจากเว็บมาใส่ครับ คำสั่งคือเมื่อโปรแกรมเปิดขึ้นมาจะมีการเก็บข้อมูลครับ
แต่เมื่อ script ในหน้า thisworkbook และ การupdate ข้อมูลได้ทำงาน ปรากฏว่าโปรแกรมค้างแล้วขึ้น
runtime error ดังรูปครับ พอจะมีวิธีแก้ไขหรือไม่ครับ

Re: เรื่อง Runtime error สามารถมีวิธีแก้ไขได้อย่างไรครับ

Posted: Mon Jan 28, 2013 1:42 pm
by snasui
:D โปรแกรมฟ้องชัดอยู่แล้วครับว่ามีปัญหาที่ PasteSpecial

Re: เรื่อง Runtime error สามารถมีวิธีแก้ไขได้อย่างไรครับ

Posted: Mon Jan 28, 2013 1:46 pm
by armrobot
code ตามนี้ครับ ผมนำไปไว้ใน thisworkbook
โดย ผมทำการ copy วันที่มาใส่ครับ พอจะมีวิธีแก้ไขหรือไม่ครับ
แนบไฟล์ไม่ได้เนื่องจากไฟล์ของผมมันใหญ่เกินไป

Code: Select all

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
        If Sheets("BAY").Range("R22") <> Sheets("BAY").Range("A" & Rows.Count).End(xlUp) Then
        Sheets("BAY").Range("R22,AR22,AU22,AV22,AW22").Copy
        With Sheets("BAY")
                .Range("A" & Rows.Count).End(xlUp) _
                    .Offset(1, 0).PasteSpecial xlPasteValues
        End With
        Application.CutCopyMode = False
    End If
    
        If Sheets("BBL").Range("R22") <> Sheets("BBL").Range("A" & Rows.Count).End(xlUp) Then
        Sheets("BBL").Range("R22,AR22,AU22,AV22,AW22").Copy
        With Sheets("BBL")
                .Range("A" & Rows.Count).End(xlUp) _
                    .Offset(1, 0).PasteSpecial xlPasteValues
        End With
        Application.CutCopyMode = False
    End If
    
         If Sheets("CImBT").Range("R22") <> Sheets("CImBT").Range("A" & Rows.Count).End(xlUp) Then
        Sheets("CImBT").Range("R22,AR22,AU22,AV22,AW22").Copy
        With Sheets("CImBT")
                .Range("A" & Rows.Count).End(xlUp) _
                    .Offset(1, 0).PasteSpecial xlPasteValues
        End With
        Application.CutCopyMode = False
    End If
    
    If Sheets("KBANK").Range("R22") <> Sheets("KBANK").Range("A" & Rows.Count).End(xlUp) Then
        Sheets("KBANK").Range("R22,AR22,AU22,AV22,AW22").Copy
        With Sheets("KBANK")
                .Range("A" & Rows.Count).End(xlUp) _
                    .Offset(1, 0).PasteSpecial xlPasteValues
        End With
        Application.CutCopyMode = False
    End If
    
        If Sheets("KTB").Range("R22") <> Sheets("KTB").Range("A" & Rows.Count).End(xlUp) Then
        Sheets("KTB").Range("R22,AR22,AU22,AV22,AW22").Copy
        With Sheets("KTB")
                .Range("A" & Rows.Count).End(xlUp) _
                    .Offset(1, 0).PasteSpecial xlPasteValues
        End With
        Application.CutCopyMode = False
    End If
    
        If Sheets("KK").Range("R22") <> Sheets("KK").Range("A" & Rows.Count).End(xlUp) Then
        Sheets("KK").Range("R22,AR22,AU22,AV22,AW22").Copy
        With Sheets("KK")
                .Range("A" & Rows.Count).End(xlUp) _
                    .Offset(1, 0).PasteSpecial xlPasteValues
        End With
        Application.CutCopyMode = False
    End If
    
        If Sheets("LHBANK").Range("R22") <> Sheets("LHBANK").Range("A" & Rows.Count).End(xlUp) Then
        Sheets("LHBANK").Range("R22,AR22,AU22,AV22,AW22").Copy
        With Sheets("LHBANK")
                .Range("A" & Rows.Count).End(xlUp) _
                    .Offset(1, 0).PasteSpecial xlPasteValues
        End With
        Application.CutCopyMode = False
    End If
    
        If Sheets("SCB").Range("R22") <> Sheets("SCB").Range("A" & Rows.Count).End(xlUp) Then
        Sheets("SCB").Range("R22,AR22,AU22,AV22,AW22").Copy
        With Sheets("SCB")
                .Range("A" & Rows.Count).End(xlUp) _
                    .Offset(1, 0).PasteSpecial xlPasteValues
        End With
        Application.CutCopyMode = False
    End If
    
        If Sheets("TCAP").Range("R22") <> Sheets("TCAP").Range("A" & Rows.Count).End(xlUp) Then
        Sheets("TCAP").Range("R22,AR22,AU22,AV22,AW22").Copy
        With Sheets("TCAP")
                .Range("A" & Rows.Count).End(xlUp) _
                    .Offset(1, 0).PasteSpecial xlPasteValues
        End With
        Application.CutCopyMode = False
    End If
    
        If Sheets("TISCO").Range("R22") <> Sheets("TISCO").Range("A" & Rows.Count).End(xlUp) Then
        Sheets("TISCO").Range("R22,AR22,AU22,AV22,AW22").Copy
        With Sheets("TISCO")
                .Range("A" & Rows.Count).End(xlUp) _
                    .Offset(1, 0).PasteSpecial xlPasteValues
        End With
        Application.CutCopyMode = False
    End If
    
        If Sheets("TmB").Range("R22") <> Sheets("TmB").Range("A" & Rows.Count).End(xlUp) Then
        Sheets("TmB").Range("R22,AR22,AU22,AV22,AW22").Copy
        With Sheets("TmB")
                .Range("A" & Rows.Count).End(xlUp) _
                    .Offset(1, 0).PasteSpecial xlPasteValues
        End With
        Application.CutCopyMode = False
    End If
    
            If Sheets("GC").Range("R22") <> Sheets("GC").Range("A" & Rows.Count).End(xlUp) Then
        Sheets("GC").Range("R22,AR22,AU22,AV22,AW22").Copy
        With Sheets("GC")
                .Range("A" & Rows.Count).End(xlUp) _
                    .Offset(1, 0).PasteSpecial xlPasteValues
        End With
        Application.CutCopyMode = False
    End If
    
                If Sheets("IVL").Range("R22") <> Sheets("IVL").Range("A" & Rows.Count).End(xlUp) Then
        Sheets("IVL").Range("R22,AR22,AU22,AV22,AW22").Copy
        With Sheets("IVL")
                .Range("A" & Rows.Count).End(xlUp) _
                    .Offset(1, 0).PasteSpecial xlPasteValues
        End With
        Application.CutCopyMode = False
    End If
    
                If Sheets("PATO").Range("R22") <> Sheets("PATO").Range("A" & Rows.Count).End(xlUp) Then
        Sheets("PATO").Range("R22,AR22,AU22,AV22,AW22").Copy
        With Sheets("PATO")
                .Range("A" & Rows.Count).End(xlUp) _
                    .Offset(1, 0).PasteSpecial xlPasteValues
        End With
        Application.CutCopyMode = False
    End If
    
                If Sheets("PTTGC").Range("R22") <> Sheets("PTTGC").Range("A" & Rows.Count).End(xlUp) Then
        Sheets("PTTGC").Range("R22,AR22,AU22,AV22,AW22").Copy
        With Sheets("PTTGC")
                .Range("A" & Rows.Count).End(xlUp) _
                    .Offset(1, 0).PasteSpecial xlPasteValues
        End With
        Application.CutCopyMode = False
    End If
    
                If Sheets("TCB").Range("R22") <> Sheets("TCB").Range("A" & Rows.Count).End(xlUp) Then
        Sheets("TCB").Range("R22,AR22,AU22,AV22,AW22").Copy
        With Sheets("TCB")
                .Range("A" & Rows.Count).End(xlUp) _
                    .Offset(1, 0).PasteSpecial xlPasteValues
        End With
        Application.CutCopyMode = False
    End If
    
                If Sheets("TCCC").Range("R22") <> Sheets("TCCC").Range("A" & Rows.Count).End(xlUp) Then
        Sheets("TCCC").Range("R22,AR22,AU22,AV22,AW22").Copy
        With Sheets("TCCC")
                .Range("A" & Rows.Count).End(xlUp) _
                    .Offset(1, 0).PasteSpecial xlPasteValues
        End With
        Application.CutCopyMode = False
    End If
    
                If Sheets("TPA").Range("R22") <> Sheets("TPA").Range("A" & Rows.Count).End(xlUp) Then
        Sheets("TPA").Range("R22,AR22,AU22,AV22,AW22").Copy
        With Sheets("TPA")
                .Range("A" & Rows.Count).End(xlUp) _
                    .Offset(1, 0).PasteSpecial xlPasteValues
        End With
        Application.CutCopyMode = False
    End If
    
                If Sheets("TPC").Range("R22") <> Sheets("TPC").Range("A" & Rows.Count).End(xlUp) Then
        Sheets("TPC").Range("R22,AR22,AU22,AV22,AW22").Copy
        With Sheets("TPC")
                .Range("A" & Rows.Count).End(xlUp) _
                    .Offset(1, 0).PasteSpecial xlPasteValues
        End With
        Application.CutCopyMode = False
    End If
    
                If Sheets("UP").Range("R22") <> Sheets("UP").Range("A" & Rows.Count).End(xlUp) Then
        Sheets("UP").Range("R22,AR22,AU22,AV22,AW22").Copy
        With Sheets("UP")
                .Range("A" & Rows.Count).End(xlUp) _
                    .Offset(1, 0).PasteSpecial xlPasteValues
        End With
        Application.CutCopyMode = False
    End If
    
                If Sheets("VNT").Range("R22") <> Sheets("VNT").Range("A" & Rows.Count).End(xlUp) Then
        Sheets("VNT").Range("R22,AR22,AU22,AV22,AW22").Copy
        With Sheets("VNT")
                .Range("A" & Rows.Count).End(xlUp) _
                    .Offset(1, 0).PasteSpecial xlPasteValues
        End With
        Application.CutCopyMode = False
    End If
    
                If Sheets("WG").Range("R22") <> Sheets("WG").Range("A" & Rows.Count).End(xlUp) Then
        Sheets("WG").Range("R22,AR22,AU22,AV22,AW22").Copy
        With Sheets("WG")
                .Range("A" & Rows.Count).End(xlUp) _
                    .Offset(1, 0).PasteSpecial xlPasteValues
        End With
        Application.CutCopyMode = False
    End If
    
                If Sheets("YCI").Range("R22") <> Sheets("YCI").Range("A" & Rows.Count).End(xlUp) Then
        Sheets("YCI").Range("R22,AR22,AU22,AV22,AW22").Copy
        With Sheets("YCI")
                .Range("A" & Rows.Count).End(xlUp) _
                    .Offset(1, 0).PasteSpecial xlPasteValues
        End With
        Application.CutCopyMode = False
    End If
    ActiveWorkbook.Save
End Sub

Re: เรื่อง Runtime error สามารถมีวิธีแก้ไขได้อย่างไรครับ

Posted: Mon Jan 28, 2013 1:48 pm
by snasui
:D ช่วยแก้ไขการโพสต์ Code โดยโพสต์ให้แสดงเป็น Code ดูตัวอย่างทีนี่ครับ viewtopic.php?f=3&t=1187

Re: เรื่อง Runtime error สามารถมีวิธีแก้ไขได้อย่างไรครับ

Posted: Mon Jan 28, 2013 1:53 pm
by armrobot
แก้แล้วครับ :D

Re: เรื่อง Runtime error สามารถมีวิธีแก้ไขได้อย่างไรครับ

Posted: Mon Jan 28, 2013 2:08 pm
by snasui
:D ดูจาก Code แล้วก็ไม่เห็นสิ่งผิดปกติครับ ช่วยทำไฟล์ตัวอย่าง ตัดเฉพาะ Code ที่เกี่ยวข้อง ลบข้อความสำคัญที่ไม่ควรเปิดเผยทิ้งไปหรือแก้ให้เป็นข้อความอื่น แล้วโพสต์มาดูกันครับ