Ẩn cùng 1 cột trong all sheet

Liên hệ QC

mhieuit

Thành viên hoạt động
Tham gia
3/9/13
Bài viết
163
Được thích
19
Nghề nghiệp
Data controller
chào cả nhà,

em muốn ẩn cùng một cột cho all sheet đã chọn nhưng code bên dưới của em vẫn không work được, xin nhờ các thầy giúp em với

PHP:
Sub hideColumn()Worksheets.SelectRange("L:L").EntireColumn.Hidden = TrueEnd Sub
 
chào cả nhà,

em muốn ẩn cùng một cột cho all sheet đã chọn nhưng code bên dưới của em vẫn không work được, xin nhờ các thầy giúp em với

PHP:
Sub hideColumn()Worksheets.SelectRange("L:L").EntireColumn.Hidden = TrueEnd Sub

bạn thử với đoạn code sau dùng cho tất cả các sheet:
Mã:
Dim ws As Worksheet
    For Each ws In Worksheets
        ws.Range("L:L").EntireColumn.Hidden = True
    Next ws

nếu áp dụng cho 1 số sheet nhất định:
Mã:
Dim ws As Worksheet
Set WSArray = Sheets(Array("Sheet2", "Sheet3", "Sheet4"))
    For Each ws In WSArray
        ws.Range("L:L").EntireColumn.Hidden = True
    Next
 
Lần chỉnh sửa cuối:
chào cả nhà,

em muốn ẩn cùng một cột cho all sheet đã chọn nhưng code bên dưới của em vẫn không work được, xin nhờ các thầy giúp em với

PHP:
Sub hideColumn()Worksheets.SelectRange("L:L").EntireColumn.Hidden = TrueEnd Sub
Mình làm theo kiểu ghi Macro. bạn xem thử.
Sub hideColumn()
Sheets("Sheet1").Select
Columns("B:B").Select
Selection.EntireColumn.Hidden = True
Sheets("Sheet2").Select
Columns("B:B").Select
Selection.EntireColumn.Hidden = True
Sheets("Sheet3").Select
Columns("B:B").Select
Selection.EntireColumn.Hidden = True
End Sub
 
em có đoạn code bên dưới áp dụng định dạng cho all sheet in workbook, nhưng khi run thi mất khoảng time khá lâu để final, các Thầy và các anh chị có cách viết code nào chon run nhanh hơn ko. Thank all.
PHP:
Sub an_cot()
Dim i As Integer
For i = 1 To Sheets.Count
Sheets(i).Columns("L").EntireColumn.Hidden = True
Sheets(i).Columns("M").ColumnWidth = 11.3
Sheets(i).Range("A21:A100").RowHeight = 25
With Sheets(i).PageSetup
.Zoom = 95
.RightHeader = "Page &P of &N"
.PrintTitleRows = "$1:$20"
.LeftMargin = Application.InchesToPoints(0.5)
.RightMargin = Application.InchesToPoints(0.1)
.TopMargin = Application.InchesToPoints(0.1)
.BottomMargin = Application.InchesToPoints(0.1)
.HeaderMargin = Application.InchesToPoints(0.1)
.FooterMargin = Application.InchesToPoints(0.1)
End With
Next
End Sub
 
Lần chỉnh sửa cuối:
em có đoạn code bên dưới áp dụng định dạng cho all sheet in workbook, nhưng khi run thi mất khoảng time khá lâu để final, các Thầy và các anh chị có cách viết code nào chon run nhanh hơn ko. Thank all.
PHP:
Sub an_cot()
Dim i As Integer
For i = 1 To Sheets.Count
Sheets(i).Columns("L").EntireColumn.Hidden = True
Sheets(i).Columns("M").ColumnWidth = 11.3
Sheets(i).Range("A21:A100").RowHeight = 25
With Sheets(i).PageSetup
.Zoom = 95
.RightHeader = "Page &P of &N"
.PrintTitleRows = "$1:$20"
.LeftMargin = Application.InchesToPoints(0.5)
.RightMargin = Application.InchesToPoints(0.1)
.TopMargin = Application.InchesToPoints(0.1)
.BottomMargin = Application.InchesToPoints(0.1)
.HeaderMargin = Application.InchesToPoints(0.1)
.FooterMargin = Application.InchesToPoints(0.1)
End With
Next
End Sub

mình test thử code trên thấy tốc độ cũng OK, có thể file bạn có nhiều sheet

bạn thử chèn đoạn code và đầu và cuối:
Mã:
Application.ScreenUpdating = False 
Application.Calculation = xlCalculationManual 'nếu ko liên quan đến tính toán --> off

    '    ooo   Your code here   ooo 

Application.Calculation = xlCalculationAutomatic 
Application.ScreenUpdating = True
 
mình test thử code trên thấy tốc độ cũng OK, có thể file bạn có nhiều sheet

bạn thử chèn đoạn code và đầu và cuối:
Mã:
Application.ScreenUpdating = False 
Application.Calculation = xlCalculationManual 'nếu ko liên quan đến tính toán --> off

    '    ooo   Your code here   ooo 

Application.Calculation = xlCalculationAutomatic 
Application.ScreenUpdating = True
File excel của em khoảng chừng 139 sheet (vì file của em số sheet tùy thuộc vào mỗi lần xuất hàng nhiều hay ít)
Em sẽ run hay code của anh để xem có thể cải thiện được không, Thank anh
 
mình test thử code trên thấy tốc độ cũng OK, có thể file bạn có nhiều sheet

bạn thử chèn đoạn code và đầu và cuối:
Mã:
Application.ScreenUpdating = False 
Application.Calculation = xlCalculationManual 'nếu ko liên quan đến tính toán --> off

    '    ooo   Your code here   ooo 

Application.Calculation = xlCalculationAutomatic 
Application.ScreenUpdating = True
Em đã run test đoạn của anh, nhưng tốc độ vẫn chưa được cải thiện.
kính mong các thầy ra tay giúp em với.
 
chào cả nhà,

em muốn ẩn cùng một cột cho all sheet đã chọn nhưng code bên dưới của em vẫn không work được, xin nhờ các thầy giúp em với

PHP:
Sub hideColumn()Worksheets.SelectRange("L:L").EntireColumn.Hidden = TrueEnd Sub

sao phức tạp vậy?
chọn hết sheet rồi cho nó ẩn mộ lần
Mã:
Sub Macro1()
    
    Sheets.Select
    Columns("l:l").EntireColumn.Hidden = True
    Sheet1.Select
    
End Sub
 
sao phức tạp vậy?
chọn hết sheet rồi cho nó ẩn mộ lần
Mã:
Sub Macro1()
    
    Sheets.Select
    Columns("l:l").EntireColumn.Hidden = True
    Sheet1.Select
    
End Sub
Cám ơn Anh nhiều,
Đoạn code của Anh chỉ ẩn cột L của sheet1 thui, nhưng phần code này em đã run ok rồi:
Sub an_cot()
Dim i As Integer
For i = 1 To Sheets.Count
Sheets
(i).Columns("L").EntireColumn.Hidden = True
Sheets
(i).Columns("M").ColumnWidth = 11.3
Sheets
(i).Range("A21:A100").RowHeight = 25
With Sheets
(i).PageSetup
.Zoom = 95
.RightHeader = "Page &P of &N"
.PrintTitleRows = "$1:$20"
.LeftMargin = Application.InchesToPoints(0.5)
.
RightMargin = Application.InchesToPoints(0.1)
.
TopMargin = Application.InchesToPoints(0.1)
.
BottomMargin = Application.InchesToPoints(0.1)
.
HeaderMargin = Application.InchesToPoints(0.1)
.
FooterMargin = Application.InchesToPoints(0.1)
End With
Next
End Sub

Bây giờ là làm sao để cải thiện tộc độ định dạng hết các sheet trong workboob nữa là ok.
anh xem đoạn code bên trên giúp em nhé. Thank
 
Cám ơn Anh nhiều,
Đoạn code của Anh chỉ ẩn cột L của sheet1 thui, nhưng phần code này em đã run ok rồi:
Bây giờ là làm sao để cải thiện tộc độ định dạng hết các sheet trong workboob nữa là ok.
anh xem đoạn code bên trên giúp em nhé. Thank

uh lạ hén, vì sao mình thực hiện bằng tay lại được
chắc sai chổ nào. nếu thực hiện được, bạn sẻ khỏi phải sử dụng vòng lặp, như vậy thì tốc độ nhanh thôi
 
Em đã áp dụng code của anh Phucbugis vào code của em và thấy tốc độ được cải thiện đáng kể (chắc có sự khác biệt đâu đây :D), Thank anh Phucbugis nhiều.

Sub an_cot()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
'Dim i As Integer
'For i = 1 To Sheets.Count
'Sheets(i).Columns("L").EntireColumn.Hidden = True
'Sheets(i).Columns("M").ColumnWidth = 11.3
'Sheets(i).Range("A21:A60").RowHeight = 25
'With Sheets(i).PageSetup
Dim ws As Worksheet
For Each ws In Worksheets
ws.Columns("L").EntireColumn.Hidden = True
ws.Columns("M").ColumnWidth = 11.3
ws.Range("A21:A60").RowHeight = 25
With ws.PageSetup
.Zoom = 95
.RightHeader = "Page &P of &N"
.PrintTitleRows = "$1:$20"
.LeftMargin = Application.InchesToPoints(0.5)
.RightMargin = Application.InchesToPoints(0.1)
.TopMargin = Application.InchesToPoints(0.1)
.BottomMargin = Application.InchesToPoints(0.1)
.HeaderMargin = Application.InchesToPoints(0.1)
.FooterMargin = Application.InchesToPoints(0.1)
End With
Next
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
 
Web KT

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

Back
Top Bottom