Excel (VBA)

Excel VBAに関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(指定なし : 指定なし)
空白セルを禁止する
投稿日時: 19/10/09 14:21:50
投稿者: yukagon

A1セルをリスト選択でデータ入力をします。
 A,B、C,Dから選択します。
この時に、B以外を選択した時は、A2セルに必ずコメントを入力する様にしたいです。
 空白の状態で保存が出来ない様にしたいです。

回答
投稿日時: 19/10/09 14:42:21
投稿者: sk

引用:
A1セルをリスト選択でデータ入力

引用:
この時に、B以外を選択した時は、A2セルに必ずコメントを入力する様にしたいです。
空白の状態で保存が出来ない様にしたいです。

( ThisWorkbook モジュール)
------------------------------------------------------------------
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
 
    With Worksheets("Sheet1")
         
        If .Range("A1") = "" Then
            Cancel = True
            .Activate
            .Range("A1").Select
            MsgBox "A1セルに値を入力して下さい", vbExclamation, "入力エラー"
            Exit Sub
        End If
         
        If .Range("A1") <> "B" And .Range("A2") = "" Then
            Cancel = True
            .Activate
            .Range("A2").Select
            MsgBox "A2セルにコメントを入力して下さい", vbExclamation, "入力エラー"
            Exit Sub
        End If
     
    End With
 
End Sub
------------------------------------------------------------------
 
以上のようなコードを記述なさればよろしいのではないかと。

投稿日時: 19/10/10 12:07:31
投稿者: yukagon

sk様
 
ご回答ありがとうございました。
参考にさせて戴き作成してみます。

回答
投稿日時: 20/02/16 16:46:01
投稿者: ロードランナー
投稿者のウェブサイトに移動

yukagon さんの引用:
A1セルをリスト選択でデータ入力をします。
 A,B、C,Dから選択します。
この時に、B以外を選択した時は、A2セルに必ずコメントを入力する様にしたいです。

 
コメントメッセージは、チェンジイベントのほうがいいかも…。セル内編集状態にしてあげる。
 
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    If Intersect(Range("A1"), Target) Is Nothing Then Exit Sub
    Select Case Target.Value
        Case "A", "C", "D"
            Target.Offset(1).Select
            MsgBox "コメントを入力してください"
            SendKeys "{F2}"
    End Select
    On Error GoTo 0
End Sub

回答
投稿日時: 20/02/16 17:58:41
投稿者: mattuwan44

VBAで無理やり制御しなくても、入力を促すようコメントを表示したり、
条件付き書式設定で色を付けて強調するくらいでいいのでは?

回答
投稿日時: 20/02/16 18:01:59
投稿者: mattuwan44

あ、あとA1B1セル以外だと他にも入力したいセルがあるんですかね?
 
セルをロックして不要なところを触れなくしたら、
A1セル入力後B1セルが選択されるようになるかも?状況によりますが。

トピックに返信