Chèn thêm dòng kèm nội dung bằng vòng lặp For

Liên hệ QC

kobebryant

Thành viên thường trực
Tham gia
7/8/09
Bài viết
248
Được thích
28
Em có 2 sheet. Trong đó Sheet 1 sẽ tìm dữ liệu từ sheet 2 để bổ sung thêm vào sheet 1 bằng cách cứ mỗi dữ liệu tìm thấy sẽ chèn thêm 1 dòng kèm nội dung.
Em viết vòng lặp mà lúc thì nó chạy ok, lúc thì nội dung của dòng vừa chèn thêm nó chạy tá lả, em nghĩ là do khi em cố định LastRow, 1 dòng mới chèn thêm thì LastRow thay đổi nên hình như nó mới bị lỗi vậy.
Cho em hỏi có cách nào xác định LastRow cũ và LastRow mới không ạ vì có lúc em cần dùng LastRow cũ nữa ạ.
Em xin gửi file đính kèm
 

File đính kèm

  • Book1.xlsm
    29.1 KB · Đọc: 20
. . . . . .
Cho em hỏi có cách nào xác định LastRow cũ và LastRow mới không ạ vì có lúc em cần dùng LastRow cũ nữa ạ.. .
Bạn định nghĩa xem LastRow cũ là cái náo: Luôn là dòng 21 hay dòng vừa trước dòng mới nhập dữ liệu?
 
Upvote 0
Bạn định nghĩa xem LastRow cũ là cái náo: Luôn là dòng 21 hay dòng vừa trước dòng mới nhập dữ liệu?
Dạ LastRow cũ của em là 21 và em cũng cần xác định được LastRow mới là 27
Vì LastRow cũ em dùng để xác định công thức cho các dòng vừa insert. LastRow mới thì tiếp tục tính toán dữ liệu trong các dòng vừa chèn.
Em cám ơn.
 
Upvote 0
Em có 2 sheet. Trong đó Sheet 1 sẽ tìm dữ liệu từ sheet 2 để bổ sung thêm vào sheet 1 bằng cách cứ mỗi dữ liệu tìm thấy sẽ chèn thêm 1 dòng kèm nội dung.
Em viết vòng lặp mà lúc thì nó chạy ok, lúc thì nội dung của dòng vừa chèn thêm nó chạy tá lả, em nghĩ là do khi em cố định LastRow, 1 dòng mới chèn thêm thì LastRow thay đổi nên hình như nó mới bị lỗi vậy.
Cho em hỏi có cách nào xác định LastRow cũ và LastRow mới không ạ vì có lúc em cần dùng LastRow cũ nữa ạ.
Em xin gửi file đính kèm
Cái đề bạn ra mình thấy khó hiểu sao ta
 
Upvote 0
LastRowOl = LastRowNu
LastRowNu = ....
 
Upvote 0
Cái đề bạn ra mình thấy khó hiểu sao ta
tức là với dữ liệu cũ là A3:E21, khi mình thực hiện lệnh:
- Sẽ tìm ở sheet ADB A1:A12 dữ liệu nào bắt đầu bằng C hoặc D.
- Theo đó cứ mỗi C or D tìm được thì chèn thêm 1 dòng vào dữ liệu gốc Sheet TT (trên LastRow).
- Dữ liệu C thì cho vào cột C cùng các Offset cùng dòng thêm các nội dung, tương tự dữ liệu D vào cột D. Cột E sẽ có công thức SUMIF liên quan từ E3:E21 (căn cứ theo LastRow cũ)
- Sau đó thêm 1 dòng chốt Tổng kết ở cột E có công thức SUMIF từ E3:E25 (căn cứ theo LastRow cũ + số dòng vừa chèn thêm = LastRow mới).

Trước khi có dòng cuối cùng thì em đã insert nó chạy ra tá lả ví dụ:
- Nếu dòng A20 (trên LastRow) có dữ liệu là nó chạy lệch dòng tè le
- Nếu dòng A20 là dòng trống thì nó lại chạy ok
 
Upvote 0
tức là với dữ liệu cũ là A3:E21, khi mình thực hiện lệnh:
- Sẽ tìm ở sheet ADB A1:A12 dữ liệu nào bắt đầu bằng C hoặc D.
- Theo đó cứ mỗi C or D tìm được thì chèn thêm 1 dòng vào dữ liệu gốc Sheet TT (trên LastRow).
- Dữ liệu C thì cho vào cột C cùng các Offset cùng dòng thêm các nội dung, tương tự dữ liệu D vào cột D. Cột E sẽ có công thức SUMIF liên quan từ E3:E21 (căn cứ theo LastRow cũ)
- Sau đó thêm 1 dòng chốt Tổng kết ở cột E có công thức SUMIF từ E3:E25 (căn cứ theo LastRow cũ + số dòng vừa chèn thêm = LastRow mới).

Trước khi có dòng cuối cùng thì em đã insert nó chạy ra tá lả ví dụ:
- Nếu dòng A20 (trên LastRow) có dữ liệu là nó chạy lệch dòng tè le
- Nếu dòng A20 là dòng trống thì nó lại chạy ok
bạn thử: for = 1 to LastRow thì chuyển for = LastRow to 1 slep -1 xem thử được không
 
Upvote 0
Nói thật là code của bạn viết rất dở, tôi nghĩ nó còn sai nữa (theo như bạn mô tả thì tôi chả hiểu .End(xlUp) trong code để làm cái gì). Thế nên bạn hãy nêu yêu cầu của bạn, dữ liệu ban đầu và kết quả mà bạn mong muốn. Đừng đặt câu hỏi theo hướng suy luận của bạn nữa.
bạn thử: for = 1 to LastRow thì chuyển for = LastRow to 1 slep -1 xem thử được không
Code không có dòng For nào 1 to LastRow hết nha bạn.
 
Upvote 0
bạn thử: for = 1 to LastRow thì chuyển for = LastRow to 1 slep -1 xem thử được không
ở đây mình thấy nếu 1 lần nó chạy ra 1 hàng nội dung liền thì ko bị lỗi .End(xlup). Do nó điền nội dung từng cell nên khi cell có nội dung thì khi End(xlup) lên là nó chạy tá lả. Ko biết có cách nào nó chạy 1 cái ra nội dung của 1 dòng luôn không
Bài đã được tự động gộp:

Nói thật là code của bạn viết rất dở, tôi nghĩ nó còn sai nữa (theo như bạn mô tả thì tôi chả hiểu .End(xlUp) trong code để làm cái gì). Thế nên bạn hãy nêu yêu cầu của bạn, dữ liệu ban đầu và kết quả mà bạn mong muốn. Đừng đặt câu hỏi theo hướng suy luận của bạn nữa.
huhu anh ơi, em dân văn phòng tự học code hiểu được mỗi cái vòng lặp (mà chưa chắc đã hiểu tới nữa) rồi mày mò thêm nên code nhìn vô là biết gà mờ rồi.
Theo mong muốn của em là khi duyệt điều kiện ở sheet ADB nếu khớp điều kiện thì chèn 1 dòng nội dung như mong muốn. Hoặc chèn 1 lần tất cả các dòng thỏa điều kiện cũng được
 
Lần chỉnh sửa cuối:
Upvote 0
em dân văn phòng tự học code
Tôi cũng vậy và ở đây toàn người như vậy.
Khi nào có đủ thông tin như bài #8 mà còn thời gian rảnh thì tôi sẽ giúp bạn. Không thì bạn tiếp tục chờ các bạn khác hỗ trợ. Vậy nhé.
 
Upvote 0
Tôi cũng vậy và ở đây toàn người như vậy.
Khi nào có đủ thông tin như bài #8 mà còn thời gian rảnh thì tôi sẽ giúp bạn. Không thì bạn tiếp tục chờ các bạn khác hỗ trợ. Vậy nhé.
dạ file ví dụ của em có ở #1, lastrow trong ví dụ em cũng có, cần thêm gì anh báo em, rảnh anh giúp em là quý rồi ạ
 

File đính kèm

  • Book1.xlsm
    27.3 KB · Đọc: 6
Upvote 0
Những số liệu này ở đâu ra vậy bạn?
1597037511285.png
 
Upvote 0
"dân văn phòng" thì cái ti-ghe-kít-sốp này nó là cái gì?

View attachment 242835
Mình đưa bạn mật khẩu, bạn vào xóa dùm mình dòng chữ ký đó nhé. Mình ko hề buôn bán một cái gì, tự nhiên nó hiện ra, mình tìm mọi cách bỏ mà ko được chỉ biết ẩn nó đi. Mình cũng điên cái chữ ký rẻ rách đó mà ko biết làm thế nào để bỏ đây.
Còn ko bạn vui lòng xóa comment kiểu chế giễu đó dùm mình
 
Upvote 0
ko và comment nghĩa là gì?
"dân văn phòng" thì cái ti-ghe-kít-sốp này nó là cái gì?
Ý bạn nói mình "dân văn phòng rởm", bán hàng online dấu đầu lòi chữ ký à.
Tiện thể Mod nào xóa được xóa dùm mình chữ ký này. Hình như quy định diễn đàn là không quảng cáo website khác nên xử giúp mình chứ mình ko biết xóa nó sao nữa
Bài đã được tự động gộp:

Ủa! Dữ liệu gốc có sẵn sao bảng bên trái không có?
Thôi chào bạn nhé.
Dạ em bổ sung lại rồi anh. Em nhờ mà để anh đợi, xin lỗi anh
 

File đính kèm

  • Book1.xlsm
    23.8 KB · Đọc: 6
Upvote 0
Bởi vậy mình phục gan mật của mấy người tải cái file xlsm kia về xem thử ghê.
 
Upvote 0
Bởi vậy mình phục gan mật của mấy người tải cái file xlsm kia về xem thử ghê.
Trên diễn đàn cũng có 1 anh nói chữ ký này do diễn đàn bị virus. Mình cũng up mấy file lên và nhiều người tải ko hề bị gì, nếu bạn giúp mình để giải đáp thắc mắc thì mình cám ơn.
Mấy cái mình hỏi cũng chỉ để giúp anh em trong công ty chứ cũng chẳng được đồng bạc nào, cứ nhìn qua code gà mờ của mình là đủ hiểu.
 
Upvote 0
Web KT

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

Back
Top Bottom