Page 1 of 1

O = rngAll.Rows.Count Eror

Posted: Sat Jan 15, 2022 5:20 pm
by hs6nfg@gmail.com
Sub CopyEnd()
Dim rngAll As Range
Dim P As Long, r As Range
Dim O As Integer, U As Integer
With Sheets("AS_ORD")
If .Range("A6").Value = "" Then Exit Sub
Application.CutCopyMode = False
Set rngAll = .Range("AA6", .Range("A" & .Rows.Count).End(xlUp))
O = rngAll.Rows.Count
End With
With Sheets("AS_SUM")
Sheets("AS_SUM").Select
Application.CutCopyMode = False
If .Range("A2").Value = "" Then
U = 0
Else
U = .Range("A" & .Rows.Count).End(xlUp).Value
End If
With .Range("A" & .Rows.Count).End(xlUp)
.Offset(1, 1).Resize(O, 23).Value = rngAll.Value
For U = 1 To O
.Offset(U, 0).Value = U + P
Next U
End With
Sheets("AS_ORD").Select
End With
End Sub



จาก Code เบื้องต้น สามารถก๊อปปี้ข้อมูลไปยัง Sheet AS_SUM ได้แต่จำนวนแถวน้อย ถ้าเราต้องการจำนวนแถวมากๆประมาณ 1,000,000แถว จะทำอย่างไรครับ ตอนนี้ 40,000แถว ก็รันไม่ได้แล้วครับ
2022-01-15_170541.png

Re: O = rngAll.Rows.Count Eror

Posted: Sat Jan 15, 2022 8:07 pm
by snasui
:D ประกาศตัวแปร O ให้เป็น Long แทน Integer ครับ

สำหรับการ Post Code กรุณาทำให้เป็นตัวอักษรแบบ Code ดูตัวอย่างในกฎการใช้บอร์ดข้อ 5 ด้านบนครับ :roll:

Re: O = rngAll.Rows.Count Eror

Posted: Sat Jan 15, 2022 8:53 pm
by hs6nfg@gmail.com
ครับ

Re: O = rngAll.Rows.Count Eror

Posted: Wed Jan 19, 2022 8:29 am
by vichaim

Code: Select all

Set rngAll = .Range("AA6", .Range("A" & .Rows.Count).End(xlUp))
ตรงนี้ผิดหรือเปล่าครับ ควรจะเป็น A6 หรือเปล่า

Re: O = rngAll.Rows.Count Eror

Posted: Wed Jan 26, 2022 1:19 pm
by hs6nfg@gmail.com
ได้แล้วครับ
ประกาศตัวแปร O ให้เป็น Long แทน Integer ตามที่อาจารย์แจ้งใช้ได้เลยครับ