2

combobox2.enable = Trueコンボボックス1に変更がある場合に設定すると、上記のエラーメッセージが表示されました。

Private Sub ComboBox1_Change()

   If ComboBox1.Value = "One Session" Then
      ComboBox2.Enabled = True
   End If
End Sub

誰かが何がうまくいかなかったのか教えてもらえますか? ありがとう

4

3 に答える 3

0

私はこの問題に直面し続けており、私の解決策は前の 2 つの回答とは少し異なります。私の場合、ワークシートだけでなくオブジェクトもロックされています。私の解決策は、ワークシートの保護を解除し、エラーの原因となっているオブジェクトを選択し、そのプロパティに移動して、[ロック] のチェックを外すことです。次に、ワークシートを再保護して保存します。

于 2015-07-08T20:29:02.647 に答える
0

コンボボックスがワークシートにあると思います。

このエラーが発生する主な理由は 2 つあります。

  1. ActiveX コントロールが無効になっています。あなたはこれを見たいかもしれませまたは

  2. ワークシートは保護されています。ワークシートが保護されている場合、それを処理するには 2 つの方法があります

方法 1

Private Sub ComboBox1_Change()
    ActiveSheet.Unprotect "YOUR PASSWORD"
    If ComboBox1.Value = "One Session" Then
       ComboBox2.Enabled = True
    End If
    ActiveSheet.Protect "YOUR PASSWORD"
End Sub

また

方法 2

これはUserInterfaceOnly:=True、マクロを使用してのみシートを変更できるようにするために使用します

ActiveSheet.Protect Password:="YOUR PASSWORD", _
DrawingObjects:=True, Contents:=True, _
Scenarios:=True, UserInterfaceOnly:=True
于 2013-04-21T07:01:50.063 に答える