Tim*_*Tim 0 excel vba excel-vba
本守则隐藏除德国之外的所有国旗.我有一个存储国家短名称的变量,如GER,NL等.
有没有办法只显示相应的标志而不为每种情况创建多个这样的长真/假块?
'Show proper flag on list and charts
Worksheets("Recommendations").Shapes("GermanyRecommendations").Visible = True
Worksheets("Recommendations").Shapes("NetherlandsRecommendations").Visible = False
Worksheets("Recommendations").Shapes("AustriaRecommendations").Visible = False
Worksheets("Recommendations").Shapes("CzechRecommendations").Visible = False
Worksheets("Recommendations").Shapes("FranceRecommendations").Visible = False
Worksheets("Recommendations").Shapes("PolandRecommendations").Visible = False
Worksheets("Recommendations").Shapes("SlovakiaRecommendations").Visible = False
Worksheets("Recommendations").Shapes("RomaniaRecommendations").Visible = False
Worksheets("Recommendations").Shapes("SpainRecommendations").Visible = False
Worksheets("Recommendations").Shapes("BelgiumRecommendations").Visible = False
Worksheets("Recommendations").Shapes("HungaryRecommendations").Visible = False
Run Code Online (Sandbox Code Playgroud)
比@ Moosli的解决方案简洁一点:
Sub SetFlagVisibility(strCountry As String)
Dim shp As Shape
For Each shp In Worksheets("Recommendations").Shapes
shp.Visible = (shp.Name = strCountry)
Next
End Sub
Run Code Online (Sandbox Code Playgroud)