こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

エクセルVBAで複数条件とデーターの重複チェック

ユーザーフォーム(UserForm1)からSheets("データー")に転記しています

今現在はUserForm1のデーターを入力後「CommandButton2」でシートに書き込みしていますが、重複データーが出て来るので、「CommandButton2」を押した時に重複を防ぎたいのです

データーはSheets("データー")の最終行に次々と転記していってます
Sheets("データー")に見出し行あり
Dim RowNum As Long '最終行

その中で[Me.textbox1]&[Me.textbox3]は必須項目したい
.Cells(RowNum, 3).Value = Me.textbox1.Value  'メイン:必須項目
.Cells(RowNum, 4).Value = Me.textbox2.Value  'サブキー:空白でもOK
.Cells(RowNum, 5).Value = Me.textbox3.Value  'キー:必須項目


やりたいこと
ユーザーフォーム(UserForm1)のテキストボックス入力完了後「CommandButton2」でシートに書き込み時に重複チェック

【UserForm1上の空白チェック】
(1)Me.textbox1&Me.textbox2&Me.textbox3の空白チェック
条件 Me.textbox2は空白でもOK
(2)Me.textbox1が空白の場合UserForm1に入力したデーターを保持したままtextbox1をフォーカスする(できれば背景色と文字色を変える。入力後背景色と文字色は元に戻す)
(3)Me.textbox3が空白の場合UserForm1に入力したデーターを保持したままtextbox3をフォーカスする(できれば背景色と文字色を変える。入力後背景色と文字色は元に戻す)
(4)Me.textbox2が空白の時はメッセージを表示「空白のままでいいですか?はい・いいえ」
(5)はいの時は処理を続行
(6)いいえの場合は場合UserForm1に入力したデーターを保持したままtextbox2をフォーカスする(できれば背景色と文字色を変える。入力後背景色と文字色は元に戻す)

【データーシートとの重複チェック】
(7)textbox3&Sheets("データー")の該当全セル列の重複チェック
条件1 textbox2が空白の時 Me.textbox1&&Me.textbox3とSheets("データー")メイン&キー該当全セル列との重複チェック
(8)重複の場合はメッセージを表示「キーが重複しています!修正して下さい」OKボタンのみ
(9)OKが押されるとUserForm1に入力したデーターを保持したままtextbox3をフォーカスする(できれば背景色と文字色を変える。入力後背景色と文字色は元に戻す)
条件2 textbox2にデーターがある場合Sheets("データー")のサブキー&キー該当全セル列との重複チェック
(10)重複の場合はメッセージを表示「キーが重複しています!修正して下さい」OKボタンのみ
(11)OKが押されるとUserForm1に入力したデーターを保持したままtextbox3をフォーカスする(できれば背景色と文字色を変える。入力後背景色と文字色は元に戻す)
(12)重複が全てなくなったらSheets("データー")の最終行に書き込み
(13)UserForm1をブランク状態で表示

以上よろしくお願い致します

投稿日時 - 2014-02-18 14:03:19

QNo.8480293

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

ここまで書けていれば、プログラム組めるのではないかな?と思いますが…

(1) If Me.textbox1<>"" and Me.textbox3<>"" then
条件
End if

(2) If Me.textbox1="" then
Me.textbox1.SetFocus
(3)Elseif Me.textbox3="" then
Me.textbox3.SetFocus
(4)Elseif Me.textbox2="" then
msgbox("")

組んでて面倒になってきてしまいました…

うーーーん、全体的に、調べればすぐ、分かる内容です。

[SetFocus]
http://pckowaza.web.fc2.com/html/excel_vba_userform_setfocus.html

[MsgBox分岐]
http://officetanaka.net/excel/vba/function/MsgBox.htm

[文字色・背景色]
http://www.excel-vba.net/excel-range-024.html

[重複データがあるのか列検索]
http://www.max.hi-ho.ne.jp/happy/YNxv98c23.html

投稿日時 - 2014-02-18 14:38:32

お礼

satoron666さん
ありがとうございます

Google先生にお付き合いいただき解決しました

何分VBAが初めてなので、条件整備に時間が掛かり、幾度のエラーと戦いながら完成間近です(*^ー゜)bグ

投稿日時 - 2014-02-23 09:59:17

あなたにオススメの質問