[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ダイアログボックスで』(涼風)
営業の入力用にEXCELの表を使っています。
日報を入力するときに、D列に対応結果としてリストから選択し、L列には理由を入力するようになっています。(E〜Kには他の情報を入力しています)。
D列でリストから「受注不可能」を選択した際には必ず理由を入力させたいのですが
@D列でリストから「受注不可能」を選択すると、ダイアログボックスが表示される。
Aダイアログボックスに理由を入力できるようにして
BOKボタンを押すと、その入力した内容がL列に入力され、
C元の表に戻ったら、カーソルはE列に。
なんて、こんなワガママなこと、出来るでしょうか?
VBAのこと、全く分からないので、出来るかどうかもわかりません。
Excel2003、WindowsXPです。よろしくお願いします。
おはようございます。
>ダイアログボックスで
インプットボックスのことでしょうか?
対象シートの見出しを右クリック→コードを表示させてそこに貼り付けます。
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim MyData As Variant
If Target.Column <> 4 Then Exit Sub
If Target.Count > 1 Then Exit Sub
Application.EnableEvents = False
With Target
Select Case .Value
Case "受注不可能"
Do
MyData = Application.InputBox("受注不可能な理由を入力してください。", Type:=2)
If VarType(MyData) = vbBoolean Then
MsgBox "キャンセル出来ません。" & vbCrLf & vbCrLf & _
"必ず受注不可能な理由を入力して下さい。"
ElseIf MyData = "" Then
MsgBox "受注不可能な理由が入力されていません。" & vbCrLf & vbCrLf & _
"必ず受注不可能な理由を入力して下さい。"
End If
Loop Until VarType(MyData) <> vbBoolean And MyData <> ""
.Offset(, 8).Value = MyData
.Offset(, 1).Select
Case ""
.Offset(, 8).Value = ""
End Select
End With
Application.EnableEvents = True
End Sub
#理由は一文字でも入力されればパスしてしまいます。(^^;
(SoulMan)
ありがとうございます。 インプットボックスなるもの、はじめて知りました・・・ すみません。 一度、試してみます。 また分からなくなったら、教えてください。 (涼風)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.