垂直滚动不起作用。高强

时间:2012-06-05 13:03:05

标签: excel excel-vba vba

我有一张excel表,我试图让一个滚动条只显示列表中可能有数百个项目中的10个。我创建了一个滚动条,让它引用一个字段,进行计算。滚动条与之交互的每个字段也在字段外引用。所以我无法想象为什么它不起作用。

发生的事情是,当我向上和向下滚动条形图时,文本右侧的文本不会移动。我想知道它是不是我的电脑。如果是我的电脑,我需要做些什么来使它工作?我使用VBA,我可能会意外地禁用某些东西以允许滚动不起作用,但我不知道。

有人可以帮忙吗?

以下是相关工作表。

https://dl.dropbox.com/u/3327208/Excel/scrollnotworking.xlsx

1 个答案:

答案 0 :(得分:2)

您的计算设置为手动。

这样做。

Formulas Tab点击Calculation Options,然后点击Automatic

现在试试吧

enter image description here

<强>后续

  甜蜜的完美,VBA中是否有办法实现这一目标?我必须通过我的代码,找出是否有一个位置使其成为手册...因为我认为有。 - Matt Ridge 1分钟前

计算通过VBA切换到手动主要有两个原因

1)您将其设置为MANUAL,然后忘记将其设置回来。例如

Sub Sample()
    Application.Calculation = xlCalculationManual

    '~~> Rest of your code
End Sub

2)您在开头将其设置为MANUAL并将其设置为AUTOMATIC,但它仍然是MANUAL。这主要是因为您没有包含正确的Error Handling,因为代码会从过程中提前退出。见这个例子

错误的方式

Sub Sample()
    Application.Calculation = xlCalculationManual

    '~~> Rest of your code

    Application.Calculation = xlCalculationAutomatic
End Sub

首选方式

Sub Sample()
    On Error GoTo Whoa

    Application.Calculation = xlCalculationManual

    '~~> Rest of your code

Letscontinue:
    Application.Calculation = xlCalculationAutomatic
    Exit Sub
Whoa:
    MsgBox Err.Description
    Resume Letscontinue
End Sub

注意:如果需要,您还可以存储Calculation的当前状态,并在需要时将其设置回代码末尾。