Excel在任何单元格中输入值时更改工作表

时间:2015-03-12 13:43:15

标签: excel vba excel-vba

我再次需要你聪明的头脑。我正在研究一个相当大的工作簿,现在我已接近它的完成,它已经开始做一些非常奇怪的事情了。每当我在21张纸中的18张中为一个未锁定的单元格中输入一个值时,它就会转到另一张纸上。唯一的代码在18张纸上相似但在另外3张中不存在,如下所示。此代码正在执行的操作是检查工作表中的单元格以查看其是否更改以了解是否应隐藏工作表。此单元格与“计算表”相关联,其中有复选框,用户可以使用这些复选框来确定是否需要该表。如果您在此代码中看到可能导致更改工作表的内容,我很乐意听到。我只用了大约一个星期的时间来推出这个测试用户,大约一个月的时间来实现它。如果查看整个工作簿会很有帮助,我也很乐意为您提供帮助。 谢谢!

Private Sub Worksheet_Calculate()
Static oldval
    If Range("CG1").Value <> oldval Then
        oldval = Range("CG1").Value
        Sheets("CS Personnel").Visible = False
            Select Case Range("CG1").Value
            Case Is = False:
                Sheets("CS Personnel").Visible = True
            End Select
    End If

1 个答案:

答案 0 :(得分:0)

@Tim Williams感谢您让代码更直接。我按照你的建议更改了它们,由于某种原因它现在正常工作。 干杯!

Private Sub Worksheet_Calculate()
Static oldval
If Range("CG1").Value <> oldval Then
    oldval = Range("CG1").Value
        Sheets("CS Personnel").Visible = Not oldval
    End If
End Sub