Tạo Macro?

Liên hệ QC

vuacudem

Thành viên mới
Tham gia
5/11/13
Bài viết
46
Được thích
1
Mọi người cho mình hỏi có cách nào tạo macro chạy cho nhiều sheet ở 1 file k (mình k biết miêu tả từ thế nào)

ở file dưới mình có 3 sheet a,b,c. làm cách nào để tạo ra macro mà có thể cả 3 sheet cùng bị khóa (Protect sheet), và ở B2 cả 3 sheet lọc bỏ Blanks.
 

File đính kèm

Bạn dán cái này vào
PHP:
Option Explicit
Sub thu()
 Dim i
 For i = 1 To Worksheets.Count
       Sheets(i).Range("$A$2:$C$12").AutoFilter Field:=2, Criteria1:="<>"
       Sheets(i).Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
 Next i
End Sub
 
Bạn dán cái này vào
PHP:
Option Explicit
Sub thu()
 Dim i
 For i = 1 To Worksheets.Count
       Sheets(i).Range("$A$2:$C$12").AutoFilter Field:=2, Criteria1:="<>"
       Sheets(i).Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
 Next i
End Sub
Tuyệt vời:v: cảm ơn bạn nhé.
mình còn 2 thắc mắc mong bạn chỉ giúp.
1. Giả sử nếu mình thêm sheet mới hoặc chỉ áp dụng code cho sheet a,b còn sheet c mình lưu trữ dữ liệu khác, thì code sẽ báo lỗi, bạn có cách nào có thể thay tùy ý áp dụng code cho 1, 2 sheet hoặc 3,4 sheet ở trong code không bạn?
2. tạo macro trích xuất ra file mới ở sheet bất kỳ, code dưới là mình làm ở sheet a, nếu sang b,c thì phải thay code thế nào thì được vậy bạn, bạn giúp mình với nhé.
Sub Macro1()
'
' Macro1 Macro
'
' Keyboard Shortcut: Ctrl+q
'
Sheets("a").Select
Sheets("a").Copy
Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
 
Lần chỉnh sửa cuối:
Tuyệt vời:v: cảm ơn bạn nhé.
mình còn 2 thắc mắc mong bạn chỉ giúp.
1. Giả sử nếu mình thêm sheet mới hoặc chỉ áp dụng code cho sheet a,b còn sheet c mình lưu trữ dữ liệu khác, thì code sẽ báo lỗi, bạn có cách nào có thể thay tùy ý áp dụng code cho 1, 2 sheet hoặc 3,4 sheet ở trong code không bạn?
2. tạo macro trích xuất ra file mới ở sheet bất kỳ, code dưới là mình làm ở sheet a, nếu sang b,c thì phải thay code thế nào thì được vậy bạn, bạn giúp mình với nhé.
Sub Macro1()
'
' Macro1 Macro
'
' Keyboard Shortcut: Ctrl+q
'
Sheets("a").Select
Sheets("a").Copy
Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
.
Bạn dán cái này vào ThisWorkbook.
PHP:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
 If Sh.Name = ActiveSheet.NameThen    
    ActiveSheet.Unprotect    
    ActiveSheet.Range("$A$2:$C$12").AutoFilter Field:=2    
    ActiveSheet.Range("$A$2:$C$12").AutoFilter Field:=2, Criteria1:="<>"    
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
 End If
End Sub

Ý thứ 2 của bạn nói, mình không hiểu lắm
 
Lần chỉnh sửa cuối:
.
Bạn dán cái này vào ThisWorkbook.
PHP:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
 If Sh.Name = ActiveSheet.NameThen    
    ActiveSheet.Unprotect    
    ActiveSheet.Range("$A$2:$C$12").AutoFilter Field:=2    
    ActiveSheet.Range("$A$2:$C$12").AutoFilter Field:=2, Criteria1:="<>"    
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
 End If
End Sub

Ý thứ 2 của bạn nói, mình không hiểu lắm
bạn ơi mình copy code vào ThisWorkbook k chạy đc bạn ạ, giả sử chỉ chạy 2 sheet a,b còn c không chạy, mình thêm sheet cũng k chạy
ý thứ 2 của mình là tách sheet a hoặc b hoặc c ra file mới ý bạn. thường thì phải làm sheet đó > Move or Copy > To book > Creat a copy > ok.
mình chỉ biết làm record macro :( nhưng như thế chỉ làm đc ở sheet a, nếu áp dụng sang sheet b, c thì k copy được sheet đó bạn ạ :(
 
Lần chỉnh sửa cuối:
bạn ơi mình copy code vào ThisWorkbook k chạy đc bạn ạ, giả sử chỉ chạy 2 sheet a,b còn c không chạy, mình thêm sheet cũng k chạy
ý thứ 2 của mình là tách sheet a hoặc b hoặc c ra file mới ý bạn. thường thì phải làm sheet đó > Move or Copy > To book > Creat a copy > ok.
mình chỉ biết làm record macro :( nhưng như thế chỉ làm đc ở sheet a, nếu áp dụng sang sheet b, c thì k copy được sheet đó bạn ạ :(

Bấm vào nút Button rồi điền tên Sheet mà bạn muốn Copy tạo File mới nha
 

File đính kèm

Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom