Nhờ giúp đỡ: 1 macro chạy trên nhiều sheet

Liên hệ QC

Itoday

Thành viên mới
Tham gia
23/4/07
Bài viết
25
Được thích
2
Mình có 1 file excel khoảng 30 sheets, trong đó có 12 sheets có cấu trúc giống nhau, trước khi in thì chạy macro ẩn các dòng không có dữ liệu như thế này;

Sub hidden()
Dim r As Range, CHK As Boolean
For Each r In Sheet41.Range("B11:B51")
CHK = False
If VarType(r.Value) = vbError Then
CHK = True
Else
If r.Value = "" Then CHK = True
End If
r.EntireRow.hidden = CHK
Next
Set r = Nothing
End Sub
Sub showrows()
Sheet41.Range("B11:B51").EntireRow.hidden = Fales

End Sub


Hiện với lệnh này, mình đang chạy với từng sheet riêng biệt. Nhờ mọi người chỉ giúp, mình muốn chỉ tạo 1 macro này, mà chạy cho nhiều sheet cùng 1 lúc, VD: sheet 4, sheet 6, sheet 8....thì viết lệnh như thế nào ạ>

Mình cám ơn mọi người!
 
Mình có 1 file excel khoảng 30 sheets, trong đó có 12 sheets có cấu trúc giống nhau, trước khi in thì chạy macro ẩn các dòng không có dữ liệu như thế này;

Sub hidden()
Dim r As Range, CHK As Boolean
For Each r In Sheet41.Range("B11:B51")
CHK = False
If VarType(r.Value) = vbError Then
CHK = True
Else
If r.Value = "" Then CHK = True
End If
r.EntireRow.hidden = CHK
Next
Set r = Nothing
End Sub
Sub showrows()
Sheet41.Range("B11:B51").EntireRow.hidden = Fales

End Sub


Hiện với lệnh này, mình đang chạy với từng sheet riêng biệt. Nhờ mọi người chỉ giúp, mình muốn chỉ tạo 1 macro này, mà chạy cho nhiều sheet cùng 1 lúc, VD: sheet 4, sheet 6, sheet 8....thì viết lệnh như thế nào ạ>

Mình cám ơn mọi người!
Sửa tên sub lại:

Sub hiddenSheet(sh as worksheet)
Dim r As Range, CHK As Boolean
For Each r In sh.Range("B11:B51")
CHK = False
If VarType(r.Value) = vbError Then
CHK = True
Else
If r.Value = "" Then CHK = True
End If
r.EntireRow.hidden = CHK
Next
Set r = Nothing
End Sub

Sub showrowsSheet(sh as worksheet)
sh.Range("B11:B51").EntireRow.hidden = False
End Sub

Sub hidden()
Dim sh
For Each sh In Array( Sheet1, Sheet2, ..., 12 cái sheets ở đây)
hiddenSheet sh
Next sh
End Sub

Sub showrows()
Dim sh
For Each sh In Array( Sheet1, Sheet2, ..., 12 cái sheets ở đây)
showrowsSheet sh
Next sh
End Sub
 
Upvote 0
Sửa tên sub lại:

Sub hiddenSheet(sh as worksheet)
Dim r As Range, CHK As Boolean
For Each r In sh.Range("B11:B51")
CHK = False
If VarType(r.Value) = vbError Then
CHK = True
Else
If r.Value = "" Then CHK = True
End If
r.EntireRow.hidden = CHK
Next
Set r = Nothing
End Sub

Sub showrowsSheet(sh as worksheet)
sh.Range("B11:B51").EntireRow.hidden = False
End Sub

Sub hidden()
Dim sh
For Each sh In Array( Sheet1, Sheet2, ..., 12 cái sheets ở đây)
hiddenSheet sh
Next sh
End Sub

Sub showrows()
Dim sh
For Each sh In Array( Sheet1, Sheet2, ..., 12 cái sheets ở đây)
showrowsSheet sh
Next sh
End Sub
Cám ơn bạn nhiều nhiều nhé!
 
Upvote 0
Web KT
Back
Top Bottom