2016-08-15 4 views
1

私はコンボボックスフォームコントロールを使用しており、入力1,2および3にリンクしています。私は自分の出力にセルリンクC2を使用しました。私は、セル "C2"の値がフォームコントロールbutton3を表示するための数値1であることを認識するためにシートにVBAコードを追加しようとしています。 'Button3'を表示しないようにする他の値であれば、フォームコントロールは非表示になります。VBAをシートに埋め込んで表示/非表示セルの値に基づいたフォームコントロール

私はこれが出ている:

Sub Display_KPI_FORMS() 

If Range("C2").Value = 1 Then 

     Sheets("Sheet1").Shapes("Button3").Visible = msoFalse 
     Else 
     Sheets("Sheet1").Shapes("Button3").Visible = msoTrue 
    End If 

End Sub 

はそれが見つかりません指定された名前のアイテムを言ってエラーが発生します。

助けが必要ですか?

答えて

1

フォームボタンのデフォルト名にはスペースが含まれています。 If Then Elseブロックのロジックがあなたのステートメントと矛盾します。 Ifステートメントを削除して、以下のコードを使用することができます。

Sheets("Sheet1").Shapes("Button 3").Visible = Range("C2").Value = 1 

Sub Display_Forms() 

    With Sheets("KPI Summary") 
     .Shapes("T1M").Visible = Range("R2").Value = 1 
     .Shapes("T1Q").Visible = Range("R2").Value = 3 
     .Shapes("T1Y").Visible = Range("R2").Value = 12 
    End With 

End Sub 
+0

こんにちはトーマス、あなたのコメントをありがとう。それは治療に役立ちます。 –

+0

こんにちはトーマス、あなたは大歓迎です。私は助けられてうれしいです。 –

+0

Hey Thomas、他の値を追加したかったので、ifステートメントに変更する必要がありますか?シート( "KPIサマリー")シェイプ( "T1Q")Visible = Range( "R2")。シェイプ( "T1Y")Visible =範囲( "R2")。値= 12 End Sub –

関連する問題