Hướng dẫn filldown

Liên hệ QC

tdt201012a8

Thành viên mới
Tham gia
26/8/20
Bài viết
7
Được thích
1
Dear Team,
giúp mình câu này với.
tại sheet XP: nếu mình sử dụng câu lệnh ws.range("A" & lastrow +1) = lastrow thì sau khi bấm lệnh xóa thì chỉ xóa dòng đó nhưng số thứ tự vẫn giữ nguyên khi dồn hàng lên.
ví dụ: mình có 5 hàng từ 1-5, mình xóa đi dòng 3 thì còn lại 4 dòng, tuy nhiên khi đó dòng 1=1, dòng 2=2, dòng 3=4 và dòng 4=5. như vậy khi ta chọn xóa dòng số 3 lần nữa trên form thì khi đó form sẽ nhận dạng là dòng 4, vì số thứ tự là 4 nhưng lại nằm dòng 3. khi đó nó sẽ xóa dòng 4 thì số thứ tự lại là 5.
để khắc phục mình đã làm câu lệnh lại như sau:
ws.range("A" & lastrow +1) = "=IF(B2="","",SUBTOTAL(3,$B$2:B2)-COUNTIF($B$2:B2,TEXT($B$1,0)))"
ws.range("A" & lastrow +1).filldown

Tuy nhiên lại ko chạy filldown được.
( sự kiện filldown nằm trên sự kiện thêm. click vào nút thêm rồi lăn chuột lên là thấy )
tiếp theo nhờ các bạn xem giúp mình câu lệnh nút xóa luôn với. vì khi filldown thì txt_id lại hiểu theo công thức nên nút xóa không xóa được.
 

File đính kèm

  • file mau.xlsm
    75.6 KB · Đọc: 10
Dear Team,
giúp mình câu này với.
tại sheet XP: nếu mình sử dụng câu lệnh ws.range("A" & lastrow +1) = lastrow thì sau khi bấm lệnh xóa thì chỉ xóa dòng đó nhưng số thứ tự vẫn giữ nguyên khi dồn hàng lên.
ví dụ: mình có 5 hàng từ 1-5, mình xóa đi dòng 3 thì còn lại 4 dòng, tuy nhiên khi đó dòng 1=1, dòng 2=2, dòng 3=4 và dòng 4=5. như vậy khi ta chọn xóa dòng số 3 lần nữa trên form thì khi đó form sẽ nhận dạng là dòng 4, vì số thứ tự là 4 nhưng lại nằm dòng 3. khi đó nó sẽ xóa dòng 4 thì số thứ tự lại là 5.
để khắc phục mình đã làm câu lệnh lại như sau:
ws.range("A" & lastrow +1) = "=IF(B2="","",SUBTOTAL(3,$B$2:B2)-COUNTIF($B$2:B2,TEXT($B$1,0)))"
ws.range("A" & lastrow +1).filldown

Tuy nhiên lại ko chạy filldown được.
( sự kiện filldown nằm trên sự kiện thêm. click vào nút thêm rồi lăn chuột lên là thấy )
tiếp theo nhờ các bạn xem giúp mình câu lệnh nút xóa luôn với. vì khi filldown thì txt_id lại hiểu theo công thức nên nút xóa không xóa được.
Bạn thử tại nút Xóa sau khi xóa dòng xong thì nạp lại list cho listbox xem sao: thêm lệnh "Call hien_du_lieu" vào Private Sub cmb_xoa_sp_Click()
Mã:
Private Sub cmb_xoa_sp_Click()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("SP")
If MsgBox("Ban Co Chac Muon Xoa Khong", vbYesNo, "Xoa Du Lieu") = vbNo Then
Exit Sub
Else
ws.Rows(Me.txt_id.Value + 1).Delete
Call hien_du_lieu
MsgBox "Da Xoa Du Lieu"
End If
End Sub
 
Upvote 0
Bạn thử tại nút Xóa sau khi xóa dòng xong thì nạp lại list cho listbox xem sao: thêm lệnh "Call hien_du_lieu" vào Private Sub cmb_xoa_sp_Click()
Mã:
Private Sub cmb_xoa_sp_Click()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("SP")
If MsgBox("Ban Co Chac Muon Xoa Khong", vbYesNo, "Xoa Du Lieu") = vbNo Then
Exit Sub
Else
ws.Rows(Me.txt_id.Value + 1).Delete
Call hien_du_lieu
MsgBox "Da Xoa Du Lieu"
End If
End Sub
thanks bạn. nhưng là nút xóa bên userform quan_ly_kho. xóa kia là xóa userform san_pham rồi. Bạn thử nhập liệu vào frame: Lich_Su_Giao_Dich rồi xóa nó thử. tính phần filldown như mô tả của mình lúc trước

Screenshot.jpgcode.jpg
 
Upvote 0
Web KT

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

Back
Top Bottom