Xin cách khắc phục lỗi về activewindow

Liên hệ QC

kobebryant

Thành viên thường trực
Tham gia
7/8/09
Bài viết
248
Được thích
28
mình có 1 sheet, khi nhấn vào đó thì sẽ hiện 1 menu userform, khi nhấn vào nút trên userform thì nó sẽ di chuyển tới vị trí đã đặt tên. Tuy nhiên khi sheet đó ko được active thì nhấn vào nút lệnh code báo lỗi:
Mã:
Private Sub UserForm_Activate()
Dim mclsFormChanger As CFormChanger
Set mclsFormChanger = New CFormChanger
Set mclsFormChanger.Form = Me
mclsFormChanger.ShowCaption = False
Me.SpecialEffect = fmSpecialEffectRaised
MenuTM.Top = 170
MenuTM.Left = 620
Set mclsFormChanger = Nothing
End Sub

Private Sub CommandButton9_Click()
Sheets("TM").Range("TMCNV").Select             'Loi o day
ActiveWindow.ScrollRow = ActiveCell.Row
End Sub

Cho mình hỏi có thể thay bằng code khác như thế nào để ko bị tình trạng này ko vì mỗi lần mình mở 1 file khác tìm dữ liệu để copy vào file gốc, mà ko active file gốc, cứ thế nhấn nút là báo lỗi
 
mình có 1 sheet, khi nhấn vào đó thì sẽ hiện 1 menu userform, khi nhấn vào nút trên userform thì nó sẽ di chuyển tới vị trí đã đặt tên. Tuy nhiên khi sheet đó ko được active thì nhấn vào nút lệnh code báo lỗi:
Mã:
Private Sub UserForm_Activate()
Dim mclsFormChanger As CFormChanger
Set mclsFormChanger = New CFormChanger
Set mclsFormChanger.Form = Me
mclsFormChanger.ShowCaption = False
Me.SpecialEffect = fmSpecialEffectRaised
MenuTM.Top = 170
MenuTM.Left = 620
Set mclsFormChanger = Nothing
End Sub

Private Sub CommandButton9_Click()
Sheets("TM").Range("TMCNV").Select             'Loi o day
ActiveWindow.ScrollRow = ActiveCell.Row
End Sub

Cho mình hỏi có thể thay bằng code khác như thế nào để ko bị tình trạng này ko vì mỗi lần mình mở 1 file khác tìm dữ liệu để copy vào file gốc, mà ko active file gốc, cứ thế nhấn nút là báo lỗi
Thông báo lỗi thế nào bạn?
 
Upvote 0
Bạn thử sửa thành vầy xem.
Mã:
Sub CommandButton9_Click()
    With ThisWorkbook.Sheets("TM")
        If .Visible <> xlSheetVisible Then .Visible = xlSheetVisible
        Application.Goto .Range("TMCNV")
    End With
    ActiveWindow.ScrollRow = ActiveCell.Row
End Sub
 
Upvote 0
Bạn thử sửa thành vầy xem.
Mã:
Sub CommandButton9_Click()
    With ThisWorkbook.Sheets("TM")
        If .Visible <> xlSheetVisible Then .Visible = xlSheetVisible
        Application.Goto .Range("TMCNV")
    End With
    ActiveWindow.ScrollRow = ActiveCell.Row
End Sub
Thành công rồi bạn ơi hihi. Cám ơn bạn nhiều
 
Upvote 0
Web KT
Back
Top Bottom