Sub anCotTheoDong0()
Const lngDongTong = 100 ' dòng tính tổng theo hàm subtotal '
Const startCol = ' địa chỉ cột bắt đầu xét tổng '
Const numColsTong = 200 ' số cột tính tổng '
Dim dataTong as variant, iCol as long, rngTong0 as range
Dim ws as worksheet
set ws = activesheet
ws.Rows(1).EntireColumn.Hidden = false
dataTong = ws.Cells(lngDongTong, startCol).Resize(1, numColsTong ).value2
set rngTong0 = ws.Range("XFD1")
For iCol = 1 to numColsTong
if dataTong(1, iCol) = 0 then set rngTong0 = union(rngTong0, ws.Cells(lngDongTong, startCol + iCol - 1) )
Next iCol
rngTong0.EntireColumn.Hidden = True
End Sub
[php]
tại em có tải file nên không để ý đến, em cảm ơn anhChụp cái ảnh lại cắt cụt hết địa chỉ dòng/ cột đi thì làm ăn gì được. Ráng chỉnh theo thực tế nhé
anh ơi, chỗ Const startCol = ' địa chỉ cột bắt đầu xét tổng 'Chụp cái ảnh lại cắt cụt hết địa chỉ dòng/ cột đi thì làm ăn gì được. Ráng chỉnh theo thực tế nhé.
PHP:Sub anCotTheoDong0() Const lngDongTong = 100 ' dòng tính tổng theo hàm subtotal ' Const startCol = ' địa chỉ cột bắt đầu xét tổng ' Const numColsTong = 200 ' số cột tính tổng ' Dim dataTong as variant, iCol as long, rngTong0 as range Dim ws as worksheet set ws = activesheet ws.Rows(1).EntireColumn.Hidden = false dataTong = ws.Cells(lngDongTong, startCol).Resize(1, numColsTong ).value2 set rngTong0 = ws.Range("XFD1") For iCol = 1 to numColsTong if dataTong(1, iCol) = 0 then set rngTong0 = union(rngTong0, ws.Cells(lngDongTong, startCol + iCol - 1) ) Next iCol rngTong0.EntireColumn.Hidden = True End Sub [php]
thế ạ, 2 code trên e search trên google ạKhông biết gì mà viết code ghê gớm thế.
Như thế này mới gọi là không biết gì về VBA nhé:
Bấm ngón tay đếm chữ cái từ A tới J là bao nhiêu thì viết vào đó.
Chỉ giỏi nói dóc.thế ạ, 2 code trên e search trên google ạ
Haha. Lấy râu Google sheets cắm cằm Excelđây bác, cháu không biết gì nên tìm trên google, thấy giống nên cháu áp dụng thử thôi ạ
View attachment 262937
code ket làm gì cho mệt nếu bạn không rànhem có 1 file tính tổng số lượng các cỡ xuất hàng, nhưng mỗi mã hàng có cỡ khác nhau
em muôn khi lọc mã hàng thì các cột có tổng bằng 0 sẽ tự động ẩn đi (dòng tổng e dùng hàm subtotal ạ)
mong mọi người giúp e viet code VBA cho file ạ, em không biết gì về VBA code ạ
em xin cảm ơn mọi người ạ
View attachment 262893
Thương test chưa?Nó ẩn hết các cột từ A đến I luôn rồicode ket làm gì cho mệt nếu bạn không rành
trong office 365 có hàm này
=FILTER($A$2:$AP$39,$A$39:$AP$39>0,"")
Code bạn thấy đó là code của Google Apps Script.đây bác, cháu không biết gì nên tìm trên google, thấy giống nên cháu áp dụng thử thôi ạ
dạ vâng, cháu cảm ơn bác đã chỉ dạy ạCode bạn thấy đó là code của Google Apps Script.
Lần sau nhớ nhìn cho rõ loại ngôn ngữ trước khi "thấy nó giống"
Mỗi ngôn ngữ có cách định nghĩa Const khác nhau.
- Trong VBA, Const (lưu ý: cũng như mọi keywords trong, VBA, viết hoa) dùng để khai báo một hằng số. Thường thì người ta dùng hằng số để xác định thông số tính toán cho hàm/phương thức.
- Trong hẩu hết các ngôn ngữ khác const (lưu ý: không viết hoa) dùng để khai báo một biến mà trị chỉ gán một lần, và không thể thay đổi. Đối với các ngôn ngữ này, việc gán chỉ một lần này bảo đảm biến không bị thay đổi nửa chừng.
JavaScript là một trong những ngôn ngữ sử dụng const kiểu này. Và Google Apps Script căn bản dựa trên JavaScript.
(const còn một đặc tính khác về tầm vực, nhưng không nên bàn thêm ở đây)
Làm vậy tức là đụng vào dữ liệu gốc. Hàm Filter có thể cho nhiều điều kiện mà?có thêm 1 chút thủ thuật mới ok ạ- em quên mất
=FILTER($A$2:$AP$39,($A$39:$AP$39>0)+($A$39:$AP$39=""),"")
em có nhiều dữ liệu nên em nghĩ dùng VBA sẽ nhẹ hơn so với dùng hàm ạ, em cảm ơn anhcode ket làm gì cho mệt nếu bạn không rành
trong office 365 có hàm này
=FILTER($A$2:$AP$39,$A$39:$AP$39>0,"")
hì hì, đây là bài vòi code VBA của cháu ạ, cháu thường vòi công thức bên Hàm và công thức bác ạCâu tâm niệm của dân vòi code trên GPE.