セルの値に応じて、Excelでボタン/シェイプを非表示/非表示にするにはどうすればよいのでしょうか。VBAに隠れている自動ボタンに最適な方法
例: "A1"のセルの値が1の場合、Sheet2の最初のアクティブなボタン/シェイプが表示されます。 "A1"の値が2の場合、最初の2つのアクティブなボタン/シェイプをSheet2に表示したいと思います。
これを処理する最善の方法は何ですか?私はむしろそのようにそれをハードコーディングしません:
Select Case A1Value
Case Is = 1
With Sheet1.Shapes("Rounded Rectangle 1")
.Visible = msoTrue
With Sheet1.Shapes("Rounded Rectangle 2")
.Visible = msoFalse
With Sheet1.Shapes("Rounded Rectangle 3")
.Visible = msoFalse
With Sheet1.Shapes("Rounded Rectangle 4")
.Visible = msoFalse
Case Is = 2
With Sheet1.Shapes("Rounded Rectangle 1")
.Visible = msoTrue
With Sheet1.Shapes("Rounded Rectangle 2")
.Visible = msoTrue
With Sheet1.Shapes("Rounded Rectangle 3")
.Visible = msoFalse
With Sheet1.Shapes("Rounded Rectangle 4")
.Visible = msoFalse
Case Is = 3
With Sheet1.Shapes("Rounded Rectangle 1")
.Visible = msoTrue
With Sheet1.Shapes("Rounded Rectangle 2")
.Visible = msoTrue
With Sheet1.Shapes("Rounded Rectangle 3")
.Visible = msoTrue
With Sheet1.Shapes("Rounded Rectangle 4")
.Visible = msoFalse
Case Is = 4
With Sheet1.Shapes("Rounded Rectangle 1")
.Visible = msoTrue
With Sheet1.Shapes("Rounded Rectangle 2")
.Visible = msoTrue
With Sheet1.Shapes("Rounded Rectangle 3")
.Visible = msoTrue
With Sheet1.Shapes("Rounded Rectangle 4")
.Visible = msoTrue
End Select
配列にそれらの名前を格納し、その後で:しかし、私は検討のため、これらのいくつかの余分なラインで投げたいのですがあなたのCaseステートメントは、シェイプ名の番号と照合します。 –