Giup code tắt Unfreeze Panes và Remove Split ( tắt cuộn trang và xóa chia vùng ) (1 người xem)

Liên hệ QC

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

minhtuan55

Thành viên bị đình chỉ hoạt động
Thành viên bị đình chỉ hoạt động
Tham gia
23/3/16
Bài viết
705
Được thích
52
Chào cả nhà GPE !
em muốn dùng code để tắt Unfreeze Panes và Remove Split ( tắt cuộn trang và xóa chia vùng ). Ví dụ file excel em gồm 5 sheet ( 1,2,3,4,5) và sheet5 đang freeze Panes và Split . và em đang nằm ở 1 sheet1 thì làm sao bấm vào nút bấm thì code sẽ tự động Unfreeze Panes và Remove Split cùa sheet5

em đang dùng code này nó chỉ Unfreeze Panes và Remove Split khi mình đang Active trong sheet đó

Sub offcuongtrang()
With ActiveWindow
.SplitColumn = 0
.SplitRow = 0
End With
ActiveWindow.FreezePanes = False
End Sub

Thank cả nhà
 
Mã:
Sub offcuongtrang()
Application.ScreenUpdating = False
Dim Sh0 As Worksheet
Set Sh0 = ActiveSheet
Sheet5.Activate
With ActiveWindow
    .SplitColumn = 0
    .SplitRow = 0
End With
    ActiveWindow.FreezePanes = False
Sh0.Activate
Application.ScreenUpdating = True
End Sub
Với Sheet5 là name của worksheet trong vba.
 
Upvote 0
Bạn thử code này xem thế nào
Mã:
Sub offcuongtrang()
[COLOR=#ff0000][B]Sheets(5).Select[/B][/COLOR]
With ActiveWindow
.SplitColumn = 0
.SplitRow = 0
End With
ActiveWindow.FreezePanes = False
[COLOR=#ff0000][B]Sheets(1).Select[/B][/COLOR]
End Sub
 
Upvote 0
Code của anh thì em biết rồi. ý của em làm sao đừng cho Sheets("5").select

Bạn thử code này xem thế nào
Mã:
Sub offcuongtrang()
[COLOR=#ff0000][B]Sheets(5).Select[/B][/COLOR]
With ActiveWindow
.SplitColumn = 0
.SplitRow = 0
End With
ActiveWindow.FreezePanes = False
[COLOR=#ff0000][B]Sheets(1).Select[/B][/COLOR]
End Sub
 
Upvote 0
thank a . code a good rồi.em sữa lại theo tên sheet của em rồi. ok thank a

Sub offcuongtrang()
Application.ScreenUpdating = False
Dim Sh0 As Worksheet
Set Sh0 = ActiveSheet
Sheets("5").Activate
With ActiveWindow
.SplitColumn = 0
.SplitRow = 0
End With
ActiveWindow.FreezePanes = False
Sh0.Activate
Application.ScreenUpdating = True
End Sub



Mã:
Sub offcuongtrang()
Application.ScreenUpdating = False
Dim Sh0 As Worksheet
Set Sh0 = ActiveSheet
Sheet5.Activate
With ActiveWindow
    .SplitColumn = 0
    .SplitRow = 0
End With
    ActiveWindow.FreezePanes = False
Sh0.Activate
Application.ScreenUpdating = True
End Sub
Với Sheet5 là name của worksheet trong vba.
 
Upvote 0
Mã:
Sub offcuongtrang()
Application.ScreenUpdating = False
Dim Sh0 As Worksheet
Set Sh0 = ActiveSheet
Sheet5.Activate
With ActiveWindow
    .SplitColumn = 0
    .SplitRow = 0
End With
    ActiveWindow.FreezePanes = False
Sh0.Activate
Application.ScreenUpdating = True
End Sub
Với Sheet5 là name của worksheet trong vba.

Ak anh ơi ví dụ em muốn code nó chạy thêm 1 sheet nữa thì làm sao

Sub offcuongtrang()
Application.ScreenUpdating = False
Dim Sh0 As Worksheet
Set Sh0 = ActiveSheet
Sheets("5").Activate
Sheets("4").Activate ' em muốn thêm sheet này nua thi lam sao
With ActiveWindow
.SplitColumn = 0
.SplitRow = 0
End With
ActiveWindow.FreezePanes = False
Sh0.Activate
Application.ScreenUpdating = True
End Sub
 
Upvote 0
vậy thì dùng code bài #2

Dạ thank a. anh giúp luôn em muốn code chạy thêm 1 sheets("4" ) nữa thì làm sao

Sub offcuongtrang()
Application.ScreenUpdating = False
Dim Sh0 As Worksheet
Set Sh0 = ActiveSheet
Sheets("5").Activate
Sheets("4").Activate
With ActiveWindow
.SplitColumn = 0
.SplitRow = 0
End With
ActiveWindow.FreezePanes = False
Sh0.Activate
Application.ScreenUpdating = True
End Sub
 
Upvote 0
Dạ thank a. anh giúp luôn em muốn code chạy thêm 1 sheets("4" ) nữa thì làm sao
Mã:
Sub offcuongtrang()
Application.ScreenUpdating = False
Dim Sh0 As Worksheet, s As Byte, ten()
ten = Array("4", "5")
Set Sh0 = ActiveSheet
For s = LBound(ten) To UBound(ten)
    Sheets(ten(s)).Activate
    With ActiveWindow
        .SplitColumn = 0
        .SplitRow = 0
    End With
        ActiveWindow.FreezePanes = False
Next s
Sh0.Activate
Application.ScreenUpdating = True
End Sub
 
Upvote 0
Tôi thấy code bài 2 và 3 bản chất có gì khác đâu nhỉ. Chắc tại select và activate là khác quá.
bạn minhtuan55 thấy màn hình bị giựt và không biết về các lệnh thôi
dòng lệnh làm màn hình không bị giựt
...
Application.ScreenUpdating = False
...
Application.ScreenUpdating = True

nếu chỉ 2 sheet, bạn viết như sau cho bạn dể hiểu và dể áp dụng, còn nhiều sheet thì sẽ dùng cách khác hơi khó hơn một chút để rút gọn code
Mã:
[COLOR=#000000][COLOR=#000000]Sub offcuongtrang()[/COLOR][/COLOR]
[COLOR=#000000][COLOR=#000000]Application.ScreenUpdating = False[/COLOR][/COLOR]
[COLOR=#000000][COLOR=#000000]Dim Sh0 As Worksheet[/COLOR][/COLOR]
[COLOR=#000000][COLOR=#000000]Set Sh0 = ActiveSheet[/COLOR][/COLOR]
[COLOR=#ff0000][B]Sheets("5").Activate
[/B][/COLOR][COLOR=#000000][COLOR=#000000]With ActiveWindow[/COLOR][/COLOR]
[COLOR=#000000][COLOR=#000000].SplitColumn = 0[/COLOR][/COLOR]
[COLOR=#000000][COLOR=#000000].SplitRow = 0[/COLOR][/COLOR]
[COLOR=#000000][COLOR=#000000]End With[/COLOR][/COLOR]
[COLOR=#000000][COLOR=#000000]ActiveWindow.FreezePanes = False

[/COLOR][/COLOR][COLOR=#ff0000][B]Sheets("4").Activate[/B][/COLOR]
[COLOR=#000000][COLOR=#000000]With ActiveWindow[/COLOR][/COLOR]
[COLOR=#000000][COLOR=#000000].SplitColumn = 0[/COLOR][/COLOR]
[COLOR=#000000][COLOR=#000000].SplitRow = 0[/COLOR][/COLOR]
[COLOR=#000000][COLOR=#000000]End With[/COLOR][/COLOR]
[COLOR=#000000][COLOR=#000000]ActiveWindow.FreezePanes = False[/COLOR][/COLOR]
[COLOR=#000000][COLOR=#000000]Sh0.Activate[/COLOR][/COLOR]
[COLOR=#000000][COLOR=#000000]Application.ScreenUpdating = True[/COLOR][/COLOR]
[COLOR=#000000][COLOR=#000000]End Sub
[/COLOR][/COLOR]
 
Upvote 0
Đoán:
Chắc chủ topic thấy khác ở chỗ:
Sheets(1).Select 'Chỉ định sheets(1)
với
Sh0.Activate 'Quay về sheet lúc trước đang active.
 
Upvote 0
Web KT

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

Back
Top Bottom