在工作表“输入”中,我有两个下拉列表。第一个是在收益之间进行选择,第二个是在观察类型之间进行选择。从下拉选择中隐藏的行在从第二个下拉列表中选择时隐藏
在工作表“输出”中,行被隐藏。
当我选择一个支付时,指定的行被隐藏,这是很好的,但在选择观察类型后,支付的行是不隐藏的,这是不好的。
我用下面的代码:
With Sheets("Output")
Sheets("Output").Rows("112:137").Hidden = False
Sheets("Output").Rows("138:151").Hidden = False
Select Case Target.Value
Case "Bonus Capped Single Index"
Sheets("Output").Rows("112:154").Hidden = True
Case "Bonus Capped Single Share"
Sheets("Output").Rows("112:154").Hidden = True
Case "Bonus Uncapped Single Index"
Sheets("Output").Rows("112:154").Hidden = True
Sheets("Output").Rows("256:257").Hidden = True
Case "Bonus Uncapped Single Share"
Sheets("Output").Rows("112:154").Hidden = True
Sheets("Output").Rows("256:257").Hidden = True
Case "Bonus Uncapped Single Index"
Sheets("Output").Rows("112:154").Hidden = True
Sheets("Output").Rows("256:257").Hidden = True
Case "Bonus Capped Worst of Indices"
Sheets("Output").Rows("112:154").Hidden = True
Case "Bonus Capped Worst of Shares"
Sheets("Output").Rows("112:154").Hidden = True
Case "Bonus Uncapped Worst of Indices"
Sheets("Output").Rows("112:154").Hidden = True
Sheets("Output").Rows("256:257").Hidden = True
Case "Bonus Uncapped Worst of Shares"
Sheets("Output").Rows("112:154").Hidden = True
Sheets("Output").Rows("256:257").Hidden = True
Case "Phoenix Single Share"
Sheets("Output").Rows("116:133").Hidden = True
Sheets("Output").Rows("139").Hidden = True
Sheets("Output").Rows("254:257").Hidden = True
Case "Phoenix Single Index"
Sheets("Output").Rows("116:133").Hidden = True
Sheets("Output").Rows("138").Hidden = True
Sheets("Output").Rows("254:257").Hidden = True
Case "Phoenix Yeti Single Index"
Sheets("Output").Rows("138").Hidden = True
Sheets("Output").Rows("116:131").Hidden = True
Sheets("Output").Rows("254:257").Hidden = True
Case "Phoenix Yeti Single Share"
Sheets("Output").Rows("139").Hidden = True
Sheets("Output").Rows("116:131").Hidden = True
Sheets("Output").Rows("254:257").Hidden = True
Case "Worst of Indices Phoenix"
Sheets("Output").Rows("138").Hidden = True
Sheets("Output").Rows("254:257").Hidden = True
Sheets("Output").Rows("116:131").Hidden = True
Case "Worst of Shares Phoenix"
Sheets("Output").Rows("138").Hidden = True
Sheets("Output").Rows("254:257").Hidden = True
Sheets("Output").Rows("116:131").Hidden = True
Case "Worst of Shares Phoenix Yeti"
Sheets("Output").Rows("116:131").Hidden = True
Sheets("Output").Rows("138").Hidden = True
Sheets("Output").Rows("254:257").Hidden = True
Case "Worst of Indices Phoenix Yeti"
Sheets("Output").Rows("139").Hidden = True
Sheets("Output").Rows("116:131").Hidden = True
Sheets("Output").Rows("254:257").Hidden = True
Case "Autocall Single Index"
Sheets("Output").Rows("254:257").Hidden = True
Sheets("Output").Rows("112:131").Hidden = True
Sheets("Output").Rows("138").Hidden = True
Case "Autocall Single Share"
Sheets("Output").Rows("254:257").Hidden = True
Sheets("Output").Rows("112:131").Hidden = True
Sheets("Output").Rows("139").Hidden = True
Case "Autocall Worst of Shares"
Sheets("Output").Rows("254:257").Hidden = True
Sheets("Output").Rows("112:131").Hidden = True
Sheets("Output").Rows("139").Hidden = True
Case "Autocall Worst of Indices"
Sheets("Output").Rows("254:257").Hidden = True
Sheets("Output").Rows("112:131").Hidden = True
Sheets("Output").Rows("138").Hidden = True
Case "Reverse Convertible Single Share"
Sheets("Output").Rows("116:133").Hidden = True
Sheets("Output").Rows("138:154").Hidden = True
Sheets("Output").Rows("254:257").Hidden = True
Sheets("Output").Rows("162:164").Hidden = True
Sheets("Output").Rows("173:175").Hidden = True
Case "Reverse Convertible Single Index"
Sheets("Output").Rows("116:133").Hidden = True
Sheets("Output").Rows("138:154").Hidden = True
Sheets("Output").Rows("254:257").Hidden = True
Sheets("Output").Rows("162:164").Hidden = True
Sheets("Output").Rows("173:175").Hidden = True
Case "Worst of Shares Reverse Convertible"
Sheets("Output").Rows("116:133").Hidden = True
Sheets("Output").Rows("138:154").Hidden = True
Sheets("Output").Rows("254:257").Hidden = True
Sheets("Output").Rows("162:164").Hidden = True
Sheets("Output").Rows("173:175").Hidden = True
Case "Worst of Indices Reverse Convertible"
Sheets("Output").Rows("116:133").Hidden = True
Sheets("Output").Rows("138:154").Hidden = True
Sheets("Output").Rows("254:257").Hidden = True
Sheets("Output").Rows("162:164").Hidden = True
Sheets("Output").Rows("173:175").Hidden = True
Case "Coupon Linker Index"
Sheets("Output").Rows("160:164").Hidden = True
Sheets("Output").Rows("254:257").Hidden = True
Sheets("Output").Rows("171:175").Hidden = True
Sheets("Output").Rows("116:133").Hidden = True
Sheets("Output").Rows("138:154").Hidden = True
Case "Fix Coupon Express Single Index"
Sheets("Output").Rows("116:133").Hidden = True
Sheets("Output").Rows("254:257").Hidden = True
Sheets("Output").Rows("136:137").Hidden = True
Sheets("Output").Rows("139").Hidden = True
Case "Fix Coupon Express Single Share"
Sheets("Output").Rows("116:133").Hidden = True
Sheets("Output").Rows("254:257").Hidden = True
Sheets("Output").Rows("136:137").Hidden = True
Sheets("Output").Rows("138").Hidden = True
Case "Fix Coupon Worst of Shares"
Sheets("Output").Rows("116:133").Hidden = True
Sheets("Output").Rows("254:257").Hidden = True
Sheets("Output").Rows("136:137").Hidden = True
Sheets("Output").Rows("138").Hidden = True
Case "Fix Coupon Worst of Indices"
Sheets("Output").Rows("116:133").Hidden = True
Sheets("Output").Rows("254:257").Hidden = True
Sheets("Output").Rows("136:137").Hidden = True
Sheets("Output").Rows("138").Hidden = True
Case Else
Sheets("Output").Rows("112:137").Hidden = False
Sheets("Output").Rows("138:151").Hidden = False
End Select
End With
With Sheets("Output") 'Observation and delivery
Sheets("Output").Rows("158:212").Hidden = False
Sheets("Output").Rows("246:253").Hidden = False
Select Case Target.Value
Case "American Cash"
Sheets("Output").Rows("177:212").Hidden = True
Sheets("Output").Rows("165").Hidden = True
Sheets("Output").Rows("176").Hidden = True
Case "American Physical"
Sheets("Output").Rows("162:164").Hidden = True
Sheets("Output").Rows("177:212").Hidden = True
Sheets("Output").Rows("173:175").Hidden = True
Sheets("Output").Rows("246:253").Hidden = True
Case "European Cash"
Sheets("Output").Rows("170:172").Hidden = True
Sheets("Output").Rows("159:164").Hidden = True
Sheets("Output").Rows("165").Hidden = True
Sheets("Output").Rows("176").Hidden = True
Case "European Physical"
Sheets("Output").Rows("159:164").Hidden = True
Sheets("Output").Rows("170:175").Hidden = True
Sheets("Output").Rows("246:258").Hidden = True
Case Else
Sheets("Output").Rows("158:212").Hidden = False
Sheets("Output").Rows("246:253").Hidden = False
End Select
End With
End Sub
我猜这就是因为当你改变观察类型下拉列表中,在目标的值是一个观测类型。该值与收益中的任何情况都不匹配。因此运行'case else'显示所有行。 – nightcrawler23
快速浏览一下,除了解决方案之外,还可以使用'With With Sheets(“Output”)',但每次都要继续声明它,而不是仅仅执行'.Rows(“1:2”)。 ..'不需要不断重复。 – BruceWayne
@excelnewbie,你已经发布了这个问题[昨天](http://stackoverflow.com/questions/41098986/unable-to-hide-rows-correctly-vba)和一个非常相似的[12月9日]( http://stackoverflow.com/questions/41056861/sheet-refresh-sheet-doesnt-accept-entered-values)。你应该尝试跟踪已经给你的答案/建议和/或显示你的部分努力,而不是仅仅重复相同的代码 – user3598756