Giúp Code sắp xếp lại hàng bỏ qua các dòng trống (1 người xem)

Liên hệ QC

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

congnguyen88

Thành viên bị đình chỉ hoạt động
Thành viên bị đình chỉ hoạt động
Tham gia
22/7/14
Bài viết
355
Được thích
31
Mình có 1 bảng tính excel dữ liệu nằm trong vùng B3:E24 , Nhưng trong vùng này người dùng thường xuyên xóa bỏ đi các hàng ( có dòng có dữ liệu, có dòng không có dữ liệu) mình muốn Click vào 1 nút bấm thì dữ liệu nằm trong vùng B3:E24 sẽ sắp xếp lại theo trật tự và bỏ qua các dòng trống.

* Lưu ý là sắp xếp lại bỏ qua các dòng trống, nhưng không được Ẩn dòng
* Điều kiện : Chỉ cần 1 ô của hàng cột C trống thì sắp xếp lại bỏ qua các dòng trống đó luôn
 

File đính kèm

Mình có 1 bảng tính excel dữ liệu nằm trong vùng B3:E24 , Nhưng trong vùng này người dùng thường xuyên xóa bỏ đi các hàng ( có dòng có dữ liệu, có dòng không có dữ liệu) mình muốn Click vào 1 nút bấm thì dữ liệu nằm trong vùng B3:E24 sẽ sắp xếp lại theo trật tự và bỏ qua các dòng trống.

* Lưu ý là sắp xếp lại bỏ qua các dòng trống, nhưng không được Ẩn dòng
* Điều kiện : Chỉ cần 1 ô của hàng cột C trống thì sắp xếp lại bỏ qua các dòng trống đó luôn

Bài này dùng Advanced Filter cái xoẹt là ra, cần gì code kiết
 
Upvote 0
Mong mọi người giúp mình Code, để mình Click vào nút bấm cho nhanh, chứ Advanced Filter mất quá nhiều thao tác. Xin cảm ơn
 
Upvote 0
Mình có 1 bảng tính excel dữ liệu nằm trong vùng B3:E24 , Nhưng trong vùng này người dùng thường xuyên xóa bỏ đi các hàng ( có dòng có dữ liệu, có dòng không có dữ liệu) mình muốn Click vào 1 nút bấm thì dữ liệu nằm trong vùng B3:E24 sẽ sắp xếp lại theo trật tự và bỏ qua các dòng trống.

* Lưu ý là sắp xếp lại bỏ qua các dòng trống, nhưng không được Ẩn dòng
* Điều kiện : Chỉ cần 1 ô của hàng cột C trống thì sắp xếp lại bỏ qua các dòng trống đó luôn

Bạn xem thử có đúng ý bạn không?
 

File đính kèm

Upvote 0
Mình có 1 bảng tính excel dữ liệu nằm trong vùng B3:E24 , Nhưng trong vùng này người dùng thường xuyên xóa bỏ đi các hàng ( có dòng có dữ liệu, có dòng không có dữ liệu) mình muốn Click vào 1 nút bấm thì dữ liệu nằm trong vùng B3:E24 sẽ sắp xếp lại theo trật tự và bỏ qua các dòng trống.

* Lưu ý là sắp xếp lại bỏ qua các dòng trống, nhưng không được Ẩn dòng
* Điều kiện : Chỉ cần 1 ô của hàng cột C trống thì sắp xếp lại bỏ qua các dòng trống đó luôn
Dùng code này xem sao
PHP:
Public Sub XOADONG()
Dim i As Long
With Sheet1
For i = .Range("C65000").End(xlUp).Row To 3 Step -1
If Trim(.Range("C" & i)) = "" Then
.Range("C" & i).EntireRow.Delete
End If
Next i
End With
End Sub
 
Upvote 0
Dùng code này xem sao
PHP:
Public Sub XOADONG()
Dim i As Long
With Sheet1
For i = .Range("C65000").End(xlUp).Row To 3 Step -1
If Trim(.Range("C" & i)) = "" Then
.Range("C" & i).EntireRow.Delete
End If
Next i
End With
End Sub

Ok cảm ơn anh nhiều lắm, Code của anh gần đúng rồi, Nghĩa là em muốn nó trim nhưng không được xóa hết 1 dòng luôn, em chỉ muốn nó trim nhưng chỉ xóa dòng từ cột B đến cột E thôi

Ví dụ thay vì viết code em làm thủ công sẽ như thế này :
Cut nhưng hàng có dữ liệu dán lên những hàng không có dữ liệu
 
Lần chỉnh sửa cuối:
Upvote 0
sắp xếp thế nào, hay xoá dòng trống thui,
xoá thì bạn tự ghi macro là thấy và làm tốt?



Ví dụ thay vì viết code em làm thủ công sẽ như thế này :
Copy nhưng hàng có dữ liệu dán đè lên những hàng không có dữ liệu
 
Upvote 0
sắp xếp thế nào, hay xoá dòng trống thui,
xoá thì bạn tự ghi macro là thấy và làm tốt?

Nghĩa là Cut những hàng nào có dữ liệu paste vào những hàng không có dữ liệu quá trình lặp lại khi nào hết hàng trống thì thôi
 
Upvote 0
Ok cảm ơn anh nhiều lắm, Code của anh gần đúng rồi, Nghĩa là em muốn nó trim nhưng không được xóa hết 1 dòng luôn, em chỉ muốn nó trim nhưng chỉ xóa dòng từ cột B đến cột E thôi

Ví dụ thay vì viết code em làm thủ công sẽ như thế này :
Cut nhưng hàng có dữ liệu dán lên những hàng không có dữ liệu
Với dữ liệu như file của bạn.
Xoá hết các dòng phía dưới dòng 24, xoá hết Merge cells
PHP:
Public Sub GPE()
Range([B3], [B65536].End(xlUp)).Resize(, 4).Sort Key1:=[B3]
[B3].End(xlDown).Offset(1).Resize(100, 4).Clear
End Sub
 
Upvote 0
Ví dụ thay vì viết code em làm thủ công sẽ như thế này :
Copy nhưng hàng có dữ liệu dán đè lên những hàng không có dữ liệu
Thử code này xem, điều kiện xóa chỉ là cột [C] trống, các cột còn lại không quan tâm
Bấm vào ô màu tím của bạn nhé
Thân
 

File đính kèm

Upvote 0
Ok cảm ơn anh nhiều lắm, Code của anh gần đúng rồi, Nghĩa là em muốn nó trim nhưng không được xóa hết 1 dòng luôn, em chỉ muốn nó trim nhưng chỉ xóa dòng từ cột B đến cột E thôi

Ví dụ thay vì viết code em làm thủ công sẽ như thế này :
Cut nhưng hàng có dữ liệu dán lên những hàng không có dữ liệu
Nếu chỉ xóa từ B:E thì sửa thế này
PHP:
Public Sub XOADONG()
Dim Rng As Range, i As Long
With Sheet1
Set Rng = .Range("B3:E" & .Range("E65000").End(xlUp).Row)
For i = .Range("E65000").End(xlUp).Row To 1 Step -1
If Trim(Rng(i, 2)) = "" Then
Rng.Rows(i).Delete
End If
Next i
End With
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Với dữ liệu như file của bạn.
Xoá hết các dòng phía dưới dòng 24, xoá hết Merge cells
PHP:
Public Sub GPE()
Range([B3], [B65536].End(xlUp)).Resize(, 4).Sort Key1:=[B3]
[B3].End(xlDown).Offset(1).Resize(100, 4).Clear
End Sub
Tính hỏng viết thêm nhưng thôi kệ bon chen với anh cho vui. Em code phải ngắn hơn cho anh tức coi chơi
Bảo đảm thằng này là ngắn vô địch luôn
PHP:
Sub xoaxoa()
[C3:C24].SpecialCells(4).EntireRow.Delete
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Tính hỏng viết thêm nhưng thôi kệ bon chen với anh cho vui. Em code phải ngắn hơn cho anh tức coi chơi
Bảo đảm thằng này là ngắn vô địch luôn
PHP:
Sub xoaxoa()
[C3:C24].SpecialCells(4).EntireRow.Delete
End Sub
Ố la la!
Đúng là ngắn vô địch, chỉ có 1 dòng lệnh.
Nhưng!
"Câu" cũng vô địch!
......Nghĩa là em muốn nó trim nhưng không được xóa hết 1 dòng luôn, em chỉ muốn nó trim nhưng chỉ xóa dòng từ cột B đến cột E thôi.......
1/ Người ta hổng chịu xóa cả dòng, vì có thể trên những dòng đó ở các cột khác dữ liệu vẫn "còn xài được"
2/ Người ta phải hỏi lại: dữ liệu không phải cố định C3:C24 thì sao?
3/ Hu hu hu.......
 
Upvote 0
Web KT

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

Back
Top Bottom