" lỗi phạm vi dữ liệu quá lớn" phải xử lý như thế nào? để copy vào Tap

Liên hệ QC

phamvandunghp84

Thành viên thường trực
Tham gia
5/3/20
Bài viết
241
Được thích
12
Mình dùng code này để copy một hàng dữ liệu từ sheet1 sang cột A hàng cuối cùng của sheet data ( sheet data ở định dạng là 1 tap )

Sub copy_sang_1_tap()
Sheet1.Select
[C2:CZB2].Copy Destination:=Sheets("data").[A65000].End(xlUp).Offset(1, 0)
End Sub


do đôi khi dữ liệu lớn làm máy mình báo lỗi do phạm vi dữ liệu C2:CZB2 quá lớn thì mình phải xử lý như nào để vẫn copy sang được hàng cuối của bảng dữ liệu bên sheet data

Xin cảm ơn các bạn !
 
Mình dùng code này để copy một hàng dữ liệu từ sheet1 sang cột A hàng cuối cùng của sheet data ( sheet data ở định dạng là 1 tap )

Sub copy_sang_1_tap()
Sheet1.Select
[C2:CZB2].Copy Destination:=Sheets("data").[A65000].End(xlUp).Offset(1, 0)
End Sub


do đôi khi dữ liệu lớn làm máy mình báo lỗi do phạm vi dữ liệu C2:CZB2 quá lớn thì mình phải xử lý như nào để vẫn copy sang được hàng cuối của bảng dữ liệu bên sheet data

Xin cảm ơn các bạn !
C2 đến CZB gồm 2704 cột.
Nếu bạn xài Excel 2003 chỉ có 256 cột sẽ lỗi.
 
Vậy thì bạn xem lại "định dạng là 1 tap" nó thế nào.
Hoặc gởi file lên xem mới biết vì sao lỗi.
không phải lúc nào code trên cũng bị lỗi bạn ạ. chỉ đôi khi lượng dữ liệu ở hàng C2:CZB2 nó lớn quá thì máy mới báo lỗi thôi bạn. mình muốn hỏi bây giờ có thể tách nhỏ phạm vi range C2:CZB2 thành nhiều range mà copy vẫn thành 1 hàng sang của tap ( xin lỗi vì minh không phải dân lập lập trình nên không biết cách diễn đạt cho dễ hiểu)
 
Mình dùng code này để copy một hàng dữ liệu từ sheet1 sang cột A hàng cuối cùng của sheet data ( sheet data ở định dạng là 1 tap )

Sub copy_sang_1_tap()
Sheet1.Select
[C2:CZB2].Copy Destination:=Sheets("data").[A65000].End(xlUp).Offset(1, 0)
End Sub


do đôi khi dữ liệu lớn làm máy mình báo lỗi do phạm vi dữ liệu C2:CZB2 quá lớn thì mình phải xử lý như nào để vẫn copy sang được hàng cuối của bảng dữ liệu bên sheet data

Xin cảm ơn các bạn !
Góp ý cho bạn:
1/ Bạn copy 2704 Cell thì chẳng có gì là lớn.
2/ Nhưng không ai xây dựng dữ liệu đến 2706 cột, việc tìm đến chỗ cần nhập liệu cũng hết cả thời gian và cũng không đãm bảo độ chính xác,
3/ Bạn nên đính kèm File lên để mọi góp ý xây dựng lại cho ngắn gọn thì việc nhập liệu mới nhanh và chuẩn xác.
 
PHP:
Sub copy_sang_1_tap()
const vung = "C2:CZB2"
Dim dulieu as variant
dulieu  = Sheet1.range(vung).value2
Sheets("data").Range("A" & Rows.count).End(xlUp).Offset(1, 0).Resize(1, ubound(dulieu,2)).value =dulieu
End Sub
 
PHP:
Sub copy_sang_1_tap()
const vung = "C2:CZB2"
Dim dulieu as variant
dulieu  = Sheet1.range(vung).value2
Sheets("data").Range("A" & Rows.count).End(xlUp).Offset(1, 0).Resize(1, ubound(dulieu,2)).value =dulieu
End Sub
mình vừa thử nó chỉ copy dc mỗi giá trị ở cột đầu tiên C2,thôi bạn. các cột khác không thấy copy dc
 
Bạn chép lại code nhá.
oh được rồi bạn tuyệt quá cảm ơn bạn !
Bài đã được tự động gộp:

Góp ý cho bạn:
1/ Bạn copy 2704 Cell thì chẳng có gì là lớn.
2/ Nhưng không ai xây dựng dữ liệu đến 2706 cột, việc tìm đến chỗ cần nhập liệu cũng hết cả thời gian và cũng không đãm bảo độ chính xác,
3/ Bạn nên đính kèm File lên để mọi góp ý xây dựng lại cho ngắn gọn thì việc nhập liệu mới nhanh và chuẩn xác.
cảm ơn bạn mình sẽ thử
Bài đã được tự động gộp:

Bạn chép lại code nhá.
Ban ơi nhân đây cho mình hỏi mình muốn xóa từ hàng thứ 3 tới hàng cuối cùng của một tap mình đang dùng code này nó chạy rất lâu mới xong bạn có thể chỉ mình một cách để xóa nhanh hơn k?

Sub Xoa_dong_trong_bang()
Dim i As Integer
Dim LastRow As Long

Sheets("Dang cot").Activate
With Sheets("Dang cot")
LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
End With
Application.ScreenUpdating = False

For i = 3 To LastRow
Range("A3").Select
Rows(LastRow - i + 3).Delete
Next i
Range("Table1").Select
Selection.ClearContents
Application.ScreenUpdating = True
End Sub
 
Lần chỉnh sửa cuối:
PHP:
Sub Xoa_dong_trong_bang()
const start_row = 3
Dim LastRow As Long
With Sheets("Dang cot")
LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
.Rows(start_row & ":" & LastRow ).delete
End With
End sub
 
Thứ nhất: Bạn Copy bằng VBA mà đưa bài vô ngăn này là sai với nội 2ui;
Thứ 2: CSDL của bạn như thế nào mà đến hàng ngàn cột vậy; E rằng thiết kế chưa thật tốt
Thứ nữa, nếu thiết kế chưa tốt thì trước khi đòi Code, cần tu chỉnh lại thiết kế cho qui chuẩn cái đã
Nếu thiết kế tồi mà ai viết code là hại chính mình về lâu về dài mà thôi.

& điều cuối: Ai giúp bạn viêt Code từ trước đến giớ là ngầm hại bạn trong tương lai ý nha, coi chừng!
Bài đã được tự động gộp:

Nếu file bạn là 'bí mật CQ' không thể đưa lên DĐ thì chỉ cần bạn nói ngành bạn cần quản lý là gì, mình có thể cho bạn 1 ví dụ về thiết kế CSDL theo chuẩn ở chừng mực nào đó!
$$$$@

Sẵn đây mình cho bạn ví dụ về quản lý đất đai theo hộ
Bạn có trang tính (hay 1 bảng) dữ liệu về chủ hộ:

STTHọ & Tên Chủ hộGTNăm sinh
1​
NVH00Ngô Thị Việt HồngNu
1/7/1948​
2​
NVH01Nguyễn Viết HoànNam
7/1/1948​
3​
LTT00Lê Thị ThơmNu
2/4/1975​

& gắn với nó là bảng danh sách những thành viên trong các hộ:

STTMã QHMã NSHọ & TênQuan HeGTNăm sinh
1​
NVH00NVH02Ng. Việt HàConNam
1/7/1990​
2​
NVH00NVH15Nguyễn Viết HoàiChồngNam
1/7/1947​
3​
LTT00DQF00Dương Quang ĐứcChồngNam
4/2/1974​
4​
NVH00NVH24Ng. Văn HátCháuNam
1/7/2011​

Chứ không thể nào hộ có bao thành viên là thêm ba lần ngần ý cột được!
 
Lần chỉnh sửa cuối:
bạn @befaint đã hại bạn @phamvandunghp84 rồi nhá!
bạn @phamvandunghp84 phải suy nghĩ tại sao không chỉ bạn @Ba Tê rồi đến bạn @be09 nói bạn "đưa file lên" khi mình hỏi ?
Nói bình dân lả "hỏi trỏng" thì theo ông bà gọi là "hỗn xược" đấy nhé!!!!
 
Web KT

Bài viết mới nhất

Back
Top Bottom