Trích lọc công việc sang 1 Sheet mới trường hợp này làm thế nào? (1 người xem)

Liên hệ QC

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

nguyenmanhnam

Thành viên tiêu biểu
Tham gia
24/7/10
Bài viết
434
Được thích
266
Em dùng Filter Advanced làm, nhưng theo yêu cầu của Sếp sau khi lọc xong vẫn có link công thức cho sếp chủ động dễ thay đổi đơn giá bài thầu mà không cần chạy lại. Mong các bác giúp cho 1 tay

---------------

Đầu bài của em là Sheet Data, em cần sau khi chạy VBA nó sẽ giống như Sheet
 

File đính kèm

Em dùng Filter Advanced làm, nhưng theo yêu cầu của Sếp sau khi lọc xong vẫn có link công thức cho sếp chủ động dễ thay đổi đơn giá bài thầu mà không cần chạy lại. Mong các bác giúp cho 1 tay

---------------

Đầu bài của em là Sheet Data, em cần sau khi chạy VBA nó sẽ giống như Sheet

Bạn làm như file nói sau
 

File đính kèm

Upvote 0
Em dùng Filter Advanced làm, nhưng theo yêu cầu của Sếp sau khi lọc xong vẫn có link công thức cho sếp chủ động dễ thay đổi đơn giá bài thầu mà không cần chạy lại. Mong các bác giúp cho 1 tay

---------------

Đầu bài của em là Sheet Data, em cần sau khi chạy VBA nó sẽ giống như Sheet
Không dùng Advanced được thì dùng AutoFilter
Mã:
Public Sub LocLoc()
    Dim Vung
    Application.ScreenUpdating = False
    Set Vung = Sheets("Data").Range(Sheets("Data").[b2], Sheets("Data").[B50000].End(xlUp)).Offset(, -1).Resize(, 9)
    Sheets("Data").Columns("D:I").EntireColumn.Hidden = True
    Sheets("Results").[A3:D5000].Clear
         With Vung
             .AutoFilter 1, "<>"
             .SpecialCells(12).Copy Sheets("Results").[A3]
             .AutoFilter
                Sheets("Data").Columns("D:I").EntireColumn.Hidden = False
             .AutoFilter 2, "T" & ChrW(7893) & "ng c" & ChrW(7897) & "ng"
             .Columns(9).SpecialCells(12).Copy
                Sheets("Results").[D3].Select
                ActiveSheet.Paste Link:=True
            .AutoFilter
        End With
    Application.ScreenUpdating = True
End Sub
Cái lý do này
nhưng theo yêu cầu của Sếp sau khi lọc xong vẫn có link công thức cho sếp chủ động dễ thay đổi đơn giá bài thầu mà không cần chạy lại
mình thấy nó sao sao í, chạy code lại cũng ....nhấn một phát thôi mà. Híc
Thân
 

File đính kèm

Upvote 0
...
Cái lý do này
Em dùng Filter Advanced làm, nhưng theo yêu cầu của Sếp sau khi lọc xong vẫn có link công thức cho sếp chủ động dễ thay đổi đơn giá bài thầu mà không cần chạy lại.
...
mình thấy nó sao sao í, chạy code lại cũng ....nhấn một phát thôi mà. Híc
...

Cách làm việc của sếp: mở file, lập hai cửa sổ con để hiển thị 2 sheets song song. Khi ấy những gì thay đổi ở bên sheet chi tiết sẽ hiển thị ngay trên sheet thu gọn. Có như thế mới dể uốn nắn con số cho vừa ý.

Vả lại, theo thông lệ thì cấp dưới đưa file lên cấp trên không được chứa macro. Nhất là những loại macro chuyên bắt events. Có hai lý do:
1. Nếu máy sếp bị vi rút thì mình không chịu trách nhiệm.
2. Nếu sếp chạy macro không rành, có thể ra kết quả sai.

Trong bài này, macro chỉ làm công việc kéo dữ liệu của những hàng tổng sang sheet khác. Vì vậy nó chính ra không cần phải nhấn nút cho rườm rà. Chỉ cần người lập bảng chạy nó sau khi có đầy đủ dữ liệu. Thường thì người ta làm như sau:

(i) Chạy macro để ghi sheet tổng
(ii) Copy code vào một sheet, ghi theo dạng text, tức là trên sheet chứ không phải là code của sheet. Đặt cho sheet một cái tên thật đặt biệt, chẳng hạn TroDuaSo1
(iii) Giấu cái sheet có chứa code ấy đi. Nếu cần thì "very hidden". Lập một cái macro để giành, chuyên hide và unhide sheets.
(iv) Save file ở dạng xlsx. Tức là không có macro
 
Upvote 0
Lẽ ra thì dữ liệu file này xếp tương đối có ngăn nắp (*), cho nên có thể xếp sheet tổng mà không cần pohair code kiếc gì cả.

Filter cột đầu - bỏ blanks (để lấy hạng mục chính)
Copy visible (hạng mục chính)
Páte links sang sheet tổng
Thả filter
Filter cột thứ 2 - chỉ lấy "tổng cộng"
Copy visible cột tổng tiền
Paste links sang sheet tổng

(*) Tôi chỉ nói là ngăn nắp thôi. Còn "chuẩn" là chuyện khác.
 
Upvote 0

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

Back
Top Bottom