Hoàn thiện giúp mình đoạn code cho Button "Xoá dòng" trong Excel. (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

vothanhhoang

Thành viên mới
Tham gia
16/9/08
Bài viết
5
Được thích
0
Nội dung được đính kèm trong file excel...mình mới học VB thôi nên Mình cũng thử viết code cho Button đó nhưng nội dung không như Mình mong muốn. Mọi người xem và chỉnh sửa giúp...Chân thành cảm ơn.
 

File đính kèm

Nội dung được đính kèm trong file excel...mình mới học VB thôi nên Mình cũng thử viết code cho Button đó nhưng nội dung không như Mình mong muốn. Mọi người xem và chỉnh sửa giúp...Chân thành cảm ơn.

Bạn sai vòng lặp. Và đây là code

PHP:
Private Sub CommandButton1_Click()
    On Error Resume Next
    Application.ScreenUpdating = False
    Dim i As Integer
    Dim j As Integer   
    i = Cells(1, 1).Value
    j = Cells(2, 1).Value
    Rows(i & ":" & j).Delete
    MsgBox "Da xoa xong", , "Thong bao"
    Range("A4").Select
    Cells(1, 1) = "": Cells(2, 1) = ""
    Application.ScreenUpdating = True
End Sub
 

File đính kèm

Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
Nội dung được đính kèm trong file excel...mình mới học VB thôi nên Mình cũng thử viết code cho Button đó nhưng nội dung không như Mình mong muốn. Mọi người xem và chỉnh sửa giúp...Chân thành cảm ơn.
Bạn có thể rút ngắn như sau:
Mã:
Private Sub CommandButton1_Click()
    Range(Cells(1, 1).Value & ":" & Cells(2, 1).Value).Delete
    Range("A4").Select
End Sub
Nếu muốn xóa cho từng sheet thì Bạn nên đưa vào 1 Module sau đó vẽ nút bằng Forms và Assign macro
Lúc này code sẽ trở thành
Mã:
Sub Xoadong()
    ActiveSheet.Select
    Range(Cells(1, 1).Value & ":" & Cells(2, 1).Value).Delete
    Range("A4").Select
End Sub
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Code của bạn đây

Các dòng được xoá sẽ phụ thuộc vào giá trị nhập ở ô A1 và ô A2. Ví dụ A1 = 16, A2 = 20 thì từ dòng 16 đến dòng 20 sẽ được xoá….và sau khi xoá xong, dòng "Tổng số học sinh là" (đang ở dòng thứ 17) nếu nằm trong phạm vi bị xoá thì Click vào Button "Xoá Dòng" thì hiện lên thông báo "đã xoá xong", và không cho xoá các cột từ 16 đến 20.
Nó sẽ không xóa các dòng theo yêu cầu, nếu trong fạm vi cần xóa có chứa chuỗi "Tổng số học sinh là"

PHP:
Option Explicit
Private Sub CommandButton1_Click()
 Dim Jj As Long, Ww As Long
 Dim Rng As Range, sRng As Range

 Jj = [A1].Value:       Ww = [A2].Value
 Set Rng = Range([A7], [A65500].End(xlUp))
1 ' Tìm Dòng Tong HS'
 Set sRng = Rng.Find("c sinh là", , xlFormulas, xlPart)
 If Not sRng Is Nothing And (sRng.Row <= Ww And sRng.Row >=  Jj) Then
      MsgBox "Khong Xóa Duoc Các Dòng Này", , "GPE Xin Luu Ý!"
 Else
2 ' Xóa Các Dòng Can Thiet'
   Cells(Jj, 1).Resize(Ww - Jj + 1).EntireRow.Delete
 End If
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Đúng ý mình rồi...Cảm ơn mọi người đã giúp đỡ.
 
Upvote 0
Cảm ơn vì sự giúp đỡ của bạn, đây đúng là cái mình đang cần.
 
Upvote 0
Mọi người cho mình hỏi, thay vì là delete như tác giả, mình chỉnh lại thành: từ dòng 4 (mặc định) đến dòng cuối cùng có công thức (có dữ liệu hoặc không có dữ liệu). Mong mọi ngườii giúp với...
 
Upvote 0

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

Back
Top Bottom