Xin giúp tạo nút tìm kiếm và cắt hàng

Liên hệ QC

Sonquang93

Thành viên mới
Tham gia
8/2/20
Bài viết
34
Được thích
5
Chào mọi người. nhờ mọi người làm giúp mình bài này với ạ.
file mình có 3 sheet, bây giờ mình muốn tạo 1 nút tìm kiếm và nút cắt ở sheet "MLHS" để khi mình nhập vào 1 số sổ ở chổ tìm kiếm thì sẽ hiện lên kết quả và khi nhấn vào nút cắt thì sẽ cắt hàng chứa kết quả đó để dán vào hàng tiếp theo của sheet "MLHS". Cảm ơn mọi người nhiều
Bài đã được tự động gộp:

.
 

File đính kèm

  • Số sổ.xlsx
    603.3 KB · Đọc: 5
Lần chỉnh sửa cuối:
Chào mọi người. nhờ mọi người làm giúp mình bài này với ạ.
file mình có 3 sheet, bây giờ mình muốn tạo 1 nút tìm kiếm và nút cắt ở sheet "MLHS" để khi mình nhập vào 1 số sổ ở chổ tìm kiếm thì sẽ hiện lên kết quả và khi nhấn vào nút cắt thì sẽ cắt hàng chứa kết quả đó để dán vào hàng tiếp theo của sheet "MLHS". Cảm ơn mọi người nhiều
Bài đã được tự động gộp:
Đã hiện lên kết quả thì cần gì phải dán vào nữa, chỉ cắt bỏ hàng bên sheet cũ là xong.
Ngoài ra chỉ 2 sheet là đủ thôi bạn, cần gì đến 3 sheet vậy nhỉ.
 
Upvote 0
Đã hiện lên kết quả thì cần gì phải dán vào nữa, chỉ cắt bỏ hàng bên sheet cũ là xong.
Ngoài ra chỉ 2 sheet là đủ thôi bạn, cần gì đến 3 sheet vậy nhỉ.
tức là file của mình rất dài. bây giờ mình muốn nó tự động tìm và cắt dòng có sốn sổ đó để dán vào sheet MLHS ạ
 
Upvote 0
tức là file của mình rất dài. bây giờ mình muốn nó tự động tìm và cắt dòng có sốn sổ đó để dán vào sheet MLHS ạ
Khi bạn nhấn nút tìm kiếm là nó đã dán sẵn lên rồi, bạn kiểm tra nếu thấy đúng không bị nhầm thì nhấn nút cắt là sẽ cắt dòng bên sheet cũ là xong đúng không.
 
Upvote 0
Khi bạn nhấn nút tìm kiếm là nó đã dán sẵn lên rồi, bạn kiểm tra nếu thấy đúng không bị nhầm thì nhấn nút cắt là sẽ cắt dòng bên sheet cũ là xong đúng không.
dạ. Ý mình là mình muốn nhập số sổ vào ô tìm kiếm và khi nhấn nút tìm kiếm thì nó sẽ tìm ở 2 sheet còn lại và khi nhấn nút cắt thì nó sẽ tự động cắt và dán sang sheet "MLHS" ạ
 
Upvote 0
dạ. Ý mình là mình muốn nhập số sổ vào ô tìm kiếm và khi nhấn nút tìm kiếm thì nó sẽ tìm ở 2 sheet còn lại và khi nhấn nút cắt thì nó sẽ tự động cắt và dán sang sheet "MLHS" ạ
Mình hiểu ý bạn, như vậy mong muốn của bạn là sau khi gõ mã sổ, ấn hai nút thì sẽ hiện lên dòng cần tìm ở sheet MLHS và cắt dòng kết quả đó bên sheet kia là được đúng không.
 
Upvote 0
Mình hiểu ý bạn, như vậy mong muốn của bạn là sau khi gõ mã sổ, ấn hai nút thì sẽ hiện lên dòng cần tìm ở sheet MLHS và cắt dòng kết quả đó bên sheet kia là được đúng không.
vâng ạ. mình muốn cắt dòng kết quả tìm được đó dán vào sheet MLHS. nếu được thì nút tìm kiếm và nút cắt nó ra riêng biệt thì tốt vì có lúc mình chỉ muốn tìm trước rồi cắt thì cắt ạ. Còn không thì tìm rồi cắt dán sang luôn cũng được
 
Upvote 0
vâng ạ. mình muốn cắt dòng kết quả tìm được đó dán vào sheet MLHS. nếu được thì nút tìm kiếm và nút cắt nó ra riêng biệt thì tốt vì có lúc mình chỉ muốn tìm trước rồi cắt thì cắt ạ. Còn không thì tìm rồi cắt dán sang luôn cũng được
- Theo mình thì bạn không nên cắt đi, nhỡ gõ nhầm nó cắt đi mất thì làm thế nào?, không cắt thì có được không bạn.
- Bạn nên gộp hai sheet dữ liệu thành một thôi, có chục ngàn dòng thì cũng đâu có nhiều.
 
Upvote 0
- Theo mình thì bạn không nên cắt đi, nhỡ gõ nhầm nó cắt đi mất thì làm thế nào?, không cắt thì có được không bạn.
- Bạn nên gộp hai sheet dữ liệu thành một thôi, có chục ngàn dòng thì cũng đâu có nhiều.
file của mình rất nhiều 1 sheet không hết được ạ. còn copy hay cắt gì cũng được, nhưng mình vẫn muốn cắt hơn vì thuận tiện cho sau này nữa
 
Upvote 0
được rồi ạ. mình cảm ơn bạn rất nhiều. và cho mình hỏi thêm là nếu cột số sổ của mình đổi vị trí sang cột khác thì chỗ If ws3.Cells(i, 4) = dk sẽ thay đổi đúng không ạh
Đúng rồi bạn ạ, nếu bạn vẫn cần tách riêng nút cắt thì xem file dưới đây?
 

File đính kèm

  • Số sổ (1).xlsm
    613.1 KB · Đọc: 5
Lần chỉnh sửa cuối:
Upvote 0
Đúng rồi bạn ạ, bạn có cần tách riêng nút cắt nữa không?
dạ vâng. như vậy là được rồi. cảm ơn bạn nhiều.
cho mình hỏi thêm chút vì đôi lúc số cột nó thay đổi ạ
lr2 = ws2.Cells(Rows.Count, 7).End(xlUp).Row đây là 7 cột phải không ạ
ReDim arrD(1 To UBound(arrN, 1), 1 To 7)
khi số cột và cột số sổ của mình thay đổi thì mình thay đổi theo đây đúng không ạ
If ws3.Cells(i, 4) = dk Then
lr2 = lr2 + 1
j = j + 1
.Cells(lr2, 1) = ws3.Cells(i, 1)
.Cells(lr2, 2) = ws3.Cells(i, 2)
.Cells(lr2, 3) = ws3.Cells(i, 3)
.Cells(lr2, 4) = ws3.Cells(i, 4)
.Cells(lr2, 5) = ws3.Cells(i, 5)
.Cells(lr2, 6) = ws3.Cells(i, 6)
.Cells(lr2, 7) = ws3.Cells(i, 7)
ws3.Cells(i, 7).EntireRow.Delete
 
Upvote 0
dạ vâng. như vậy là được rồi. cảm ơn bạn nhiều.
cho mình hỏi thêm chút vì đôi lúc số cột nó thay đổi ạ
lr2 = ws2.Cells(Rows.Count, 7).End(xlUp).Row đây là 7 cột phải không ạ
ReDim arrD(1 To UBound(arrN, 1), 1 To 7)
khi số cột và cột số sổ của mình thay đổi thì mình thay đổi theo đây đúng không ạ
If ws3.Cells(i, 4) = dk Then
lr2 = lr2 + 1
j = j + 1
.Cells(lr2, 1) = ws3.Cells(i, 1)
.Cells(lr2, 2) = ws3.Cells(i, 2)
.Cells(lr2, 3) = ws3.Cells(i, 3)
.Cells(lr2, 4) = ws3.Cells(i, 4)
.Cells(lr2, 5) = ws3.Cells(i, 5)
.Cells(lr2, 6) = ws3.Cells(i, 6)
.Cells(lr2, 7) = ws3.Cells(i, 7)
ws3.Cells(i, 7).EntireRow.Delete
Đúng rồi, bạn cần điều chỉnh cả vùng này nữa: "arrN = ws3.Range("A2:G" & lr3)
 
Upvote 0
dạ vâng. như vậy là được rồi. cảm ơn bạn nhiều.
cho mình hỏi thêm chút vì đôi lúc số cột nó thay đổi ạ
lr2 = ws2.Cells(Rows.Count, 7).End(xlUp).Row đây là 7 cột phải không ạ
ReDim arrD(1 To UBound(arrN, 1), 1 To 7)
khi số cột và cột số sổ của mình thay đổi thì mình thay đổi theo đây đúng không ạ
If ws3.Cells(i, 4) = dk Then
lr2 = lr2 + 1
j = j + 1
.Cells(lr2, 1) = ws3.Cells(i, 1)
.Cells(lr2, 2) = ws3.Cells(i, 2)
.Cells(lr2, 3) = ws3.Cells(i, 3)
.Cells(lr2, 4) = ws3.Cells(i, 4)
.Cells(lr2, 5) = ws3.Cells(i, 5)
.Cells(lr2, 6) = ws3.Cells(i, 6)
.Cells(lr2, 7) = ws3.Cells(i, 7)

ws3.Cells(i, 7).EntireRow.Delete
.
Màu dỏ:
Cột thứ 7 chứ không phải 7 cột.

Màu xanh:
Code này có thể thay bằng
Range(.Cells(r2, 1), .Cells(r2, 7)) = Range(ws3.Cells(i, 1), ws3.Cells(i, 7))

Nói chung thì con số 7 trong đoạn code này người ta coi là magic (repeating) number.
Theo thói chung của lập trình, người ta đưa nó làm hằng
Const SOCOT= 7
 
Upvote 0
.
Màu dỏ:
Cột thứ 7 chứ không phải 7 cột.

Màu xanh:
Code này có thể thay bằng
Range(.Cells(r2, 1), .Cells(r2, 7)) = Range(ws3.Cells(i, 1), ws3.Cells(i, 7))

Nói chung thì con số 7 trong đoạn code này người ta coi là magic (repeating) number.
Theo thói chung của lập trình, người ta đưa nó làm hằng
Const SOCOT= 7
Vâng ạh. Mình cảm ơn bạn ạ
 
Upvote 0
Web KT

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

Back
Top Bottom