Tự động dãn dòng và sắp xếp cho excel (1 người xem)

Liên hệ QC

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

khongtu19bk

Thành viên hoạt động
Tham gia
5/12/09
Bài viết
147
Được thích
69
-Y nghia?
-Muc dich?
-Tinh nang?
 
Lần chỉnh sửa cuối:
Mình có file excel như sau:

http://www.mediafire.com/?fajhz30gvh9m818

Dữ liệu cần xử lý ở sheet 1, mình muốn tạo một chức năng (có thể sử dụng VB), tìm kiếm ở cột G và H, nếu xuất hiện OFF (ở cột G hoặc cột H hoặc cả hai cột) thì dòng chứa OFF sẽ bị xóa đi. Ở cột I, các ô có kí hiệu giống nhau thì hàng chứa các ô đó sẽ nằm liên tiếp nhau, trong trường hợp các ô ở cột I không giống nhau thì hàng chứa ô đó sẽ cách nhau ra 1 dòng --> Kết quả như sheet2.

Ai làm ơn giúp mình với, mình chân thành cảm ơn và hứa sẽ có hậu tạ với những ai sử dụng VB để giúp mình, mục đích mong muốn là chạy tự động lọc bỏ và sắp xếp ^^
Bạn xem đúng ý bạn không nhé
 

File đính kèm

Cảm ơn bạn rất nhiều, mình đã thử và thấy như sau, sau khi ấn nút xóa thì việc giãn dòng xảy ra không chính xác. Các dòng chứa AA10-AJ và BA20-AJ không đứng sát nhau, nó chạy xa nhau.
http://img19.imageshack.us/i/57694531.gif/
 
Cảm ơn bạn rất nhiều, mình đã thử và thấy như sau, sau khi ấn nút xóa thì việc giãn dòng xảy ra không chính xác. Các dòng chứa AA10-AJ và BA20-AJ không đứng sát nhau, nó chạy xa nhau.
http://img19.imageshack.us/i/57694531.gif/
Bạn chạy thử code này xem sao
Mã:
Public Sub xoadong()
    Dim iCuoi As Long, I As Long
    iCuoi = [b1000].End(xlUp).Row
        For I = iCuoi To 2 Step -1
            If Range("G" & I) = "OFF" Or Range("H" & I) = "OFF" Then
                If Range("i" & I - 1) = Range("i" & I + 1) Then
                    Rows(I).Delete
                Else
                    Range("B" & I).Resize(, 8).ClearContents
                End If
            End If
        Next
End Sub
Dữ liệu trong đề bài đã được xắp xếp theo cột I, nếu nằm lung tung thì code phải thêm phần Sort dữ liệu trước khi xóa dòng
Thân
 
Mã:
Range("B" & I).Resize(, 8).ClearContents
Có nghĩa là gì hả bạn?

Cảm ơn bạn nhiều nha ^^
 
Có nghĩa là: Xoá vùng dữ liệu từ ô B2:I. Trong vũng này nếu dữ liệu có đến dòng nào thì nó sẽ xoá đến đó bạn ah!

Nếu I đang bằng 2 thì chỉ xoá trong vùng B2:I2 thôi (1 dòng), chứ đâu mà xoá hết các dòng.

I = 2
"B" & I = B2
Resize(,8) là tăng kích thước B2 lên 8 cột. Số dòng giữ nguyên (=1)
 
Có cách nào để tìm giá trị các hàng bằng nhau và bôi màu các dòng có giá trị bằng nhau không ạ? (Hoặc liệt kê ra sheet khác mà không cần bôi màu cũng được). Khái niệm hai dòng bằng nhau được định nghĩa như trong file này ạ:
http://www.mediafire.com/?pcd2uaikc0gchpc
 
Web KT

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

Back
Top Bottom