Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


20052 / 76732 ←次へ | 前へ→

【62105】入力規則エラーとシート保護
質問  please  - 09/6/23(火) 5:00 -

引用なし
パスワード
   初めて投稿します。
現在、vbaで入力規則を設定しようとしています。
シート保護をかける前は問題なく動作するのですが、保護をかける設定を記述するとエラーになってしまいます。。
最初に種類を選ぶと、その種類に該当するプランのリストがでて、その種類にサブ項目がある場合、サブ項目を選ぶことができるというような仕様です。

以下の「Range("ABC").Validation.Add Type:=xlValidateList, Formula1:="=" & testp」の部分でエラーになります。
他の箇所ではエラーが出ません。

どなたかわかる方ご教示ください。よろしくお願いします。

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("種類,プラン")) Is Nothing Then
  Const MYPW = "abc"
  Worksheets("入力").Unprotect MYPW
   
  Select Case Target.Name.Name
    Case "種類"
      Dim carname As Variant
      carname = Range("種類").Value
      If carname = "種類を選んでください" Then
        Dim Selna As Variant
        Selna = Array("テスト1", "テスト2", "テスト3")
        
        For Each N In Selna
          Range(N).Validation.Delete
          Range(N).Value = "種類を選んでください"
        Next
      Else
        Range("プラン").Validation.Delete
        Range("プラン").Validation.Add Type:=xlValidateList, Formula1:="=" & cname
        Range("サブ").Value = "種類・プランを選んでください"
        Range("サブ項目").Validation.Delete
        Range("サブ項目").Value = "プランを選んでください"
        Range("プラン").Value = "プランを選んでください"
        Range("サブ項目種類").Value = "プランを選んでください"
      End If
     Case "プラン"
      Dim chkn As Variant
      Dim chkh As Variant
      chkn = Range("chkn").Value
      chkh = Range("chkh").Value
      If Range("プラン").Value <> "プランを選択してください" Then
        If chkn = "あり" Then
          Range("サブ項目").Validation.Delete
          Range("サブ項目").Validation.Add Type:=xlValidateList, Formula1:="=glade"
          Range("サブ項目").Value = "サブ項目を選択できます"
          Range("サブ項目種類").Value = "サブ項目種類を選択してください"
        Else
          Range("サブ").Validation.Delete
          If Range("chkn").Value = "-" Then
            Range("サブ").Value = "サブ項目はありません"
          Else
            Range("サブ").Value = "プランを選んでください"
          End If
        End If
        If chkh <> "" Then
          Range("ABC").Value = "ABCを選択してください"
          Range("ABC").Validation.Add Type:=xlValidateList, Formula1:="=" & testp
        Else
           Range("ABC").Validation.Delete
          Range("ABC").Value = "種類・プランを選んでください"
        End If
      End If


  End Select
  
  Worksheets("入力").Protect Password:=MYPW, UserInterfaceOnly:=True
End If

End Sub

1 hits

【62105】入力規則エラーとシート保護 please 09/6/23(火) 5:00 質問
【62108】Re:入力規則エラーとシート保護 フリッパー 09/6/23(火) 11:29 発言
【62109】Re:入力規則エラーとシート保護 please 09/6/23(火) 14:08 回答
【62113】Re:入力規則エラーとシート保護 フリッパー 09/6/23(火) 15:28 発言
【62114】Re:入力規則エラーとシート保護 please 09/6/23(火) 15:39 回答
【62120】Re:入力規則エラーとシート保護 フリッパー 09/6/23(火) 17:17 発言
【62133】Re:入力規則エラーとシート保護 please 09/6/23(火) 22:49 お礼
【62110】Re:入力規則エラーとシート保護 もも 09/6/23(火) 14:32 発言
【62112】Re:入力規則エラーとシート保護 please 09/6/23(火) 15:19 回答
【62115】Re:入力規則エラーとシート保護 もも 09/6/23(火) 16:13 発言
【62124】Re:入力規則エラーとシート保護 please 09/6/23(火) 18:00 質問
【62125】Re:入力規則エラーとシート保護 もも 09/6/23(火) 18:09 発言
【62127】Re:入力規則エラーとシート保護 please 09/6/23(火) 20:27 お礼
【62139】Re:入力規則エラーとシート保護 フリッパー 09/6/24(水) 9:16 発言

20052 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free