小编mce*_*na2的帖子

通过"旋转"按钮启动不同的工作表

想要使用旋转按钮(ActiveX控件)来显示上一张或下一张.单击该按钮时,事件成功触发并激活所需的工作表,但它包含原始工作表中的一些元素(命令,图形等),并将这些元素显示为附加图片.

错误装纸张 带旋钮的初始表(右) 向下按钮事件的示例代码:

Private Sub SpinButton_JumpToWeek_SpinDown()

Dim sh_num As String
Dim tmp_num As Integer

  Application.ScreenUpdating = False
  Application.EnableEvents = False

  SpinButton_JumpToWeek.Value = Range("B27").Value - 1
  tmp_num = SpinButton_JumpToWeek.Value

   ' Activate desired KTx sheet
  sh_num = "KT" & tmp_num

  Range("F27").Value = ""   'reset to blank

  Sheets(sh_num).Activate

  Application.ScreenUpdating = True
  Application.EnableEvents = True

End Sub
Run Code Online (Sandbox Code Playgroud)

要覆盖此效果,我必须手动选择(激活)另一个工作表,然后再次选择所需的工作表.我还尝试使用宏自动化此变通方法,但不幸的是它不起作用.

有趣的是,如果我在调试模式下执行代码(使用断点和逐行步进),则不会发生此问题.

令人惊讶的是,如果我尝试通过将值(工作表名称索引)写入定义的单元格(即使用Worksheet_Change事件)来显示上一页/下一页,我就没有这样的问题.正确显示所需的页面.看照片.

在此输入图像描述

此evententer图像描述的示例代码如下:

Private Sub Worksheet_Change(ByVal Target As Range)

Dim sh_num As String

  Application.ScreenUpdating = False
  Application.EnableEvents = False

  If Range("F27").Value > 0 Then
 ' Activate desired …
Run Code Online (Sandbox Code Playgroud)

excel vba spinner

5
推荐指数
1
解决办法
896
查看次数

标签 统计

excel ×1

spinner ×1

vba ×1