2015-04-01 183 views
0

我有一个输入表“Sheet I”,输入单元格:C3,输入值将为整数,例如1,2,3 ...。 输出表为“输出1”,“输出2”,“输出3”,...“输出10”。某些输出页包含从A2到G36的内容,而其他输出页包含从A2到H36或T36的信息。理想情况下,我希望看到列(从列C开始)有条件地基于表单I中$ C $ 3的值。这里是逻辑:根据输入值显示/隐藏列

  • 如果输入值= 1,则显示列A,列B和C列
  • 如果输入值= 2,显示列A,列B和列d
  • 如果输入值= 6,显示列A,列B和H列
  • .....

现在我有这个VBA,但是这个代码中的输入值是静态的nu MBER。任何人都可以建议我应该如何更改代码才能使其工作?

Private Sub Workbook_SheetCalculate(ByVal Sh As Object) 
Dim ShArray 
Dim i 
Dim MyRange, c As Range 

Application.ScreenUpdating = False 
Application.EnableEvents = False 
ShArray = Array("Out 1", "Out 2", "Out 3", "Out 4", "Out 5",.. "Out 10") 
For i = LBound(ShArray) To UBound(ShArray) 
    Set MyRange = Sheets(ShArray(i)).Range("A:T") 
    For Each c In MyRange 
     Sheets(ShArray(i)).Rows(c.Column).Hidden = c.Value = "??" 
    Next c 
Next i 
Application.EnableEvents = True 
Application.ScreenUpdating = True 
End Sub 

回答

0

不太确定这是你在找什么,但你应该试试这个。