Marco hoặc VB để ẩn hiện column, row theo điều kiện. (1 người xem)

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

bucminh99

Thành viên mới
Tham gia
7/8/12
Bài viết
27
Được thích
0
Xin chào mọi người. Hnay có vấn đề này đưa lên nhờ mọi người giải đáp, mình khá gà về VB nên ko tự viết được.
Vấn đề 01:
Trong bảng tính
A B C D E...
1 No1 No2
2
3
4
Mình muốn tạo button1, (2) hoặc checkbox 1 (2) hoặc marco 1 (2) gán phím tắt để thuận tiện việc Hide, unhide các column có chứa điều kiện chứa No1 ( tương ứng button1 hoặc No2 tương ứng button 2..v...v.

Ván đề 02.
Trong hàm sum mình thấy có dạng = SUM(A10: A100),
Mình muốn thay đổi tham số 10, 100 dựa vào Row() hiện hành thì có cách nào ko.
ví dụ : vlook hàng STT, nếu phát hiện ra có giá trị 1 thì tự động =SUM( A(l=số thứ tự row đó +1: A(= số thứ tự row tương ứng với STT2 -1 )
Mục tiêu là auto sum các giá trị giữa khoảng (1 và 2) ( 2 và 3) (3 và 4)

Việc thay đổi giá trị xác định vị trí của cell trên mình thấy rất có giá trị, nhiều ứng dụng hay. Bạn nào có kinh nghiệm, ví dụ chỉ giúp nhé.
 
Vấn đề 1: Bạn tham khảo cách ẩn cột tự động( khỏi cần Button) căn cứ vào Cell A1
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A1")) Is Nothing Then
        Application.EnableEvents = False
        Range("D1,E1").EntireColumn.EntireColumn.Hidden = (Target.Value = "A")
        Range("H1:I1").EntireColumn.EntireColumn.Hidden = (Target.Value = "B")
        Range("H1:I1").EntireColumn.EntireColumn.Hidden = (Target.Value = "C")
        Range("H1:I1").EntireColumn.EntireColumn.Hidden = (Target.Value = "D")
        Application.EnableEvents = True
    End If
End Sub
 
Lần chỉnh sửa cuối:
Xin chào mọi người. Hnay có vấn đề này đưa lên nhờ mọi người giải đáp, mình khá gà về VB nên ko tự viết được.
Vấn đề 01:
Trong bảng tính
A B C D E...
1 No1 No2
2
3
4
Mình muốn tạo button1, (2) hoặc checkbox 1 (2) hoặc marco 1 (2) gán phím tắt để thuận tiện việc Hide, unhide các column có chứa điều kiện chứa No1 ( tương ứng button1 hoặc No2 tương ứng button 2..v...v.

Ván đề 02.
Trong hàm sum mình thấy có dạng = SUM(A10: A100),
Mình muốn thay đổi tham số 10, 100 dựa vào Row() hiện hành thì có cách nào ko.
ví dụ : vlook hàng STT, nếu phát hiện ra có giá trị 1 thì tự động =SUM( A(l=số thứ tự row đó +1: A(= số thứ tự row tương ứng với STT2 -1 )
Mục tiêu là auto sum các giá trị giữa khoảng (1 và 2) ( 2 và 3) (3 và 4)

Việc thay đổi giá trị xác định vị trí của cell trên mình thấy rất có giá trị, nhiều ứng dụng hay. Bạn nào có kinh nghiệm, ví dụ chỉ giúp nhé.
Cái 02 có thể dùng hàm Indirect() kết hợp Match()
Có file đính kèm làm ví dụ nhanh có kết quả hơn
 
Mình muốn quản lý dạng có điều kiện No1, No2, No3... ở dưới để chủ động hide, unhide.
Giống kiểu Vlook kết hợp với match ý, luôn cố định được Column khi insert thêm column
Ý tưởng mình là
Tạo checkbox, tick vào là hiện, bỏ tích là ẩn. như File kèm theo đây
Trình bày hơi xấu,
 

File đính kèm

Cái 02 có thể dùng hàm Indirect() kết hợp Match()
Có file đính kèm làm ví dụ nhanh có kết quả hơn
Mình gửi file nhé.
Mình tìm được cách là insert thêm cột phụ., và sumif. Kết quả hoàn toàn ưng ý thỏa mãn nhu cầu.
Nhưng vẫn muốn tìm cách nào khác, và quan trọng hơn là điều khiển được cái tham số vị trí của cell, để áp dụng các bài toàn khác như:
Auto tự động insert 1 dòng trắng giữa các ô 1,2,3,4.
Mình dân xd, tự nghiên cứu excel để làm bảng tính & báo cáo nên chỉ biết các hàm đơn giản, vlook,match, index,sumif, sumproduct,product đơn giản..Sâu hơn thì ko biết.
 
Mình gửi file nhé.
Mình tìm được cách là insert thêm cột phụ., và sumif. Kết quả hoàn toàn ưng ý thỏa mãn nhu cầu.
Nhưng vẫn muốn tìm cách nào khác, và quan trọng hơn là điều khiển được cái tham số vị trí của cell, để áp dụng các bài toàn khác như:
Auto tự động insert 1 dòng trắng giữa các ô 1,2,3,4.
Mình dân xd, tự nghiên cứu excel để làm bảng tính & báo cáo nên chỉ biết các hàm đơn giản, vlook,match, index,sumif, sumproduct,product đơn giản..Sâu hơn thì ko biết.
Bạn nhập vài dòng ví dụ vào file đính kèm là chắc xử lý được
 
Mình muốn quản lý dạng có điều kiện No1, No2, No3... ở dưới để chủ động hide, unhide.
Giống kiểu Vlook kết hợp với match ý, luôn cố định được Column khi insert thêm column
Ý tưởng mình là
Tạo checkbox, tick vào là hiện, bỏ tích là ẩn. như File kèm theo đây
Trình bày hơi xấu,
Mọi ngừoi giúp ý tưởng này nhé
 
Mọi ngừoi giúp cái VB về unhide, hide cột với
 

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

Back
Top Bottom