• 締切済み

エクセル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をブランク状態で表示 以上よろしくお願い致します

みんなの回答

回答No.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

minakun77
質問者

お礼

satoron666さん ありがとうございます Google先生にお付き合いいただき解決しました 何分VBAが初めてなので、条件整備に時間が掛かり、幾度のエラーと戦いながら完成間近です(*^ー゜)bグ

関連するQ&A

専門家に質問してみよう