[Hỏi đáp - Giúp đỡ] Hỏi về lỗi 1004

Liên hệ QC

vn.danhmay

Thành viên mới
Tham gia
8/11/18
Bài viết
41
Được thích
3
Chào anh chị bạn
Em đang có một vấn đề rắc rối với code tách dòng ạ.
Em có một bảng dữ liệu kế toán có rất nhiều dòng trống không thể sort được nên em viết code VBA để tách các dòng theo điều kiện ạ

Code em viết như này ạ.

Mã:
Sub tachdong()

Dim i As Long

For i = 1 To 350000

If Application.Sheets(1).Range("Q" & i).Value = Application.ActiveSheet.Range("A1").Value Then

Application.Sheets(1).Range("A" & i, "Y" & i).Select
Application.Sheets(1).Range("A" & i, "Y" & i).Copy

Application.ActiveSheet.Range("A" & (i + 1)).Select
Application.ActiveSheet.Range("A" & (i + 1)).Paste

End If

Next

End Sub

Nhưng cứ bị lỗi 1004. Anh chị bạn nào biết code của em lỗi chỗ nào có thể chỉ ra giúp em được không ạ. Em chân thành cám ơn ạ
 
Chào anh chị bạn
Em đang có một vấn đề rắc rối với code tách dòng ạ.
Em có một bảng dữ liệu kế toán có rất nhiều dòng trống không thể sort được nên em viết code VBA để tách các dòng theo điều kiện ạ

Code em viết như này ạ.

Mã:
Sub tachdong()

Dim i As Long

For i = 1 To 350000

If Application.Sheets(1).Range("Q" & i).Value = Application.ActiveSheet.Range("A1").Value Then

Application.Sheets(1).Range("A" & i, "Y" & i).Select
Application.Sheets(1).Range("A" & i, "Y" & i).Copy

Application.ActiveSheet.Range("A" & (i + 1)).Select
Application.ActiveSheet.Range("A" & (i + 1)).Paste

End If

Next

End Sub

Nhưng cứ bị lỗi 1004. Anh chị bạn nào biết code của em lỗi chỗ nào có thể chỉ ra giúp em được không ạ. Em chân thành cám ơn ạ
Bạn sửa lại tiêu đề, và gửi file lên nhé
 
Upvote 0
Dạ file này là file mật nên em không thể gởi lên được ạ
 
Upvote 0
Khi nào thì mình mới dùng application ạ. Em thử bỏ hết rồi mà vẫn bị lỗi 1004 ạ
Mã:
Sub tachdong()

Dim i As Long

For i = 1 To 350000

If Sheets(1).Cells(i, 17).Value = Sheets(2).Cells(1, 1).Value Then

Sheets(1).Range("A" & i, "Y" & i).Select
Sheets(1).Range("A" & i, "Y" & i).Copy

ActiveSheet.Range("A" & (i + 1)).Select
ActiveSheet.Range("A" & (i + 1)).Paste

End If

Next

End Sub
 
Upvote 0
Khi nào thì mình mới dùng application ạ. Em thử bỏ hết rồi mà vẫn bị lỗi 1004 ạ
Mã:
Sub tachdong()

Dim i As Long

For i = 1 To 350000

If Sheets(1).Cells(i, 17).Value = Sheets(2).Cells(1, 1).Value Then

Sheets(1).Range("A" & i, "Y" & i).Select
Sheets(1).Range("A" & i, "Y" & i).Copy

ActiveSheet.Range("A" & (i + 1)).Select
ActiveSheet.Range("A" & (i + 1)).Paste

End If

Next

End Sub
bạn sửa thế này xem nhé
sheets(1).range(cells(i,"A"),cells(i,"Y"))
xem được không
 
Upvote 0
Sửa xong chạy được thì nó không ra kết quả. Không biết cách em làm có đúng không ạ. Các anh chị có các nào tìm dòng theo điều kiện của một ô trong dòng giới thiệu cho em với ạ. Em mới tập học VBA thôi nên không rành cho lắm ạ
 
Upvote 0
Sửa xong chạy được thì nó không ra kết quả. Không biết cách em làm có đúng không ạ. Các anh chị có các nào tìm dòng theo điều kiện của một ô trong dòng giới thiệu cho em với ạ. Em mới tập học VBA thôi nên không rành cho lắm ạ
bạn không muốn gửi file của bạn thì tạo file mẫu rồi gửi lên.bạn hỏi vậy ở đây giải thích bạn cũng không biết được.:D
 
Upvote 0
Sửa xong chạy được thì nó không ra kết quả. Không biết cách em làm có đúng không ạ. Các anh chị có các nào tìm dòng theo điều kiện của một ô trong dòng giới thiệu cho em với ạ. Em mới tập học VBA thôi nên không rành cho lắm ạ
Nói chơi chơi thì sẽ không ai biết phải làm gì.
Bạn cứ giả lập 1 file, dữ liệu "không thật" nhưng cấu trúc dòng cột là thật.
Giải thích rõ ý muốn và kết quả mẫu muốn có.
 
Upvote 0
Em gởi file mẫu ạ
Mong muốn 1: Kiếm những dòng có anh A
Mong muốn 2: Kiếm những ngày bán hàng có anh A
:(
em chỉ mới nghĩ được cú pháp của mong muốn 1
 

File đính kèm

Upvote 0
Em gởi file mẫu ạ
Mong muốn 1: Kiếm những dòng có anh A
Mong muốn 2: Kiếm những ngày bán hàng có anh A
:(
em chỉ mới nghĩ được cú pháp của mong muốn 1
Cái file đính kèm với cái Code trên chẳng "Ăn nhậu" gì với nhau cả. 350000 dòng mà dùng kiểu này thì uống 2 ly cà phê Code nó mới chạy xong :p:p:p
 
Upvote 0
file gốc nó tới 350 ngàn dòng lận chị ạ :(
Ý em là muốn tách cái dòng có anh A ra thôi ấy ạ
Có anh chị bạn nào có giải pháp giúp em được không ạ
 
Upvote 0
file gốc nó tới 350 ngàn dòng lận chị ạ :(
Ý em là muốn tách cái dòng có anh A ra thôi ấy ạ
Có anh chị bạn nào có giải pháp giúp em được không ạ
Ngày A, ngày B... Nếu bạn nhập 01/11/2018, 02/11/2018 ... thì còn "cứu" được. Ví dụ của bạn chỉ làm rối bòng bong. Sao biết dữ liệu thật của bạn nó ra kiểu gì.
 
Upvote 0
em muốn lọc ra dữ liệu những ngày có anh A trước cũng dc ạ :( cái đó quan trọng hơn ạ
 
Upvote 0

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0

File đính kèm

Upvote 0
File của bạn là trang ghi chép chứ chưa là CSDL;
Như file của thầy Ba Tê mới là CSDL
Hiển nhiên là làm việc với CSDL bao giờ cũng ngon lành hơn với những trang ghi chép.
 
Upvote 0
Xem file này rồi bạn tự xoay với dữ liệu thật 350000 dòng của bạn.
Tên sheet không đặt là tiếng Việt có dấu.
bạn đấy mà xoay được dữ liệu theo code của bác thì cũng khó bạn đấy quá.vì nhìn ở trên không biết tí gì về mảng.bạn đấy đang làm theo kiểu record mà bác .:D
 
Upvote 0
bạn đấy mà xoay được dữ liệu theo code của bác thì cũng khó bạn đấy quá.vì nhìn ở trên không biết tí gì về mảng.bạn đấy đang làm theo kiểu record mà bác .:D
Không xoay được ngay thì xoay từ từ. Kiểu gì cũng sang được Anh ạ. Quan trong là thời gian thôi.
Dạo trước mới tiếp xúc với VBA em cứ phải như thế này
1541744893076.png
 
Upvote 0
File của bạn là trang ghi chép chứ chưa là CSDL;
Như file của thầy Ba Tê mới là CSDL
Hiển nhiên là làm việc với CSDL bao giờ cũng ngon lành hơn với những trang ghi chép.
Cơ sở dữ liệu là sao hả bác :D em mới coi được 2 ngày nên không biết ạ
Bài đã được tự động gộp:

Không xoay được ngay thì xoay từ từ. Kiểu gì cũng sang được Anh ạ. Quan trong là thời gian thôi.
Dạo trước mới tiếp xúc với VBA em cứ phải như thế này
Em cũng làm như bác :D
 
Upvote 0
Web KT

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

Back
Top Bottom