【问题标题】:How to stop my excel sheets from changing places whenever vba is used?每当使用 vba 时,如何阻止我的 Excel 工作表更改位置?
【发布时间】:2019-07-24 23:04:53
【问题描述】:

我的 excel 文件中有一些 VBA 代码,每当我单击控制按钮时,它都会用新信息刷新一个名为“assgination”的页面。

我的工作表“分配”应始终保持在第 4 位,但无论何时刷新,它都会转到最后一个位置。

如何停止让它移动?

【问题讨论】:

  • 没有看到代码我们无能为力。请edit帖子包含代码。
  • @Chadon Iegran,请给我的Answer一些反馈意见

标签: excel vba


【解决方案1】:

Alt + F11 从左侧 Project Explorer 窗格转到 ThisWorkbook,双击它打开模块,然后 粘贴 这个。此代码将锁定您放置工作表的作业

Private Sub Workbook_SheetActivate(ByVal Sh As Object)

Application.EnableEvents = False
Application.ScreenUpdating = False
If Application.ActiveSheet.Index <> Application.Sheets("assignation").Index Then
    Application.Sheets("assignation").Move Before:=Application.Sheets(Application.ActiveSheet.Index)
    Application.Sheets("assignation").Activate
    Sh.Activate
End If
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub

保存并关闭此代码,现在,当您单击任何工作表选项卡时,此特定工作表将始终位于您单击的工作表选项卡的前面

【讨论】:

  • 它不工作。当我点击我的流程按钮时,“分配”页面总是转到最后一张
  • @chadonlegran 您是否将其粘贴到 ThisWorkbook 中?不在模块中
  • 是的,和你说的一模一样!
  • @chadonlegran 现在关闭您的工作簿并重新打开它;)
  • @chadonlegran 这应该替换正确位置的工作表
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-08-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多