@Wolfie Excel Data Checkingによって提出されたコードを使用して、日付と特定のコードが一致する重複エントリにフラグを立てようとしています。私のデータベースでは、日付は列Bにあり、一意のコードは列Lにあり、2文字と2つの数字(すなわちAA22)で構成されていますExcelデータの重複を確認するためのチェック
データベースには列AからQがあります。それが持つ行の数
私は、次のようにコードを修正しようとした -
Dim q As Long
Dim matched As Boolean
matched = False
' Loop over all used rows
For q = 1 To ActiveSheet.UsedRange.Rows.Count
' Check if concatenated string of date & name is unique
' e.g. '01/01/17john'
If ActiveSheet.Cells(q, "B").Text & ActiveSheet.Cells(q, "L").Text = _
myUserForm.DateField.Text & myUserForm.NameField.Text Then
MsgBox "This Duty/Date combination has already been entered, please check for previous entry"
matched = True
Exit For
End If
Next q
If matched = False Then
' Name/Date combination is unique, send data to sub or whatever...
End If
私は私のデータベースがユーザーフォームとして設定されているので、おそらくそれが問題を引き起こしているものかもしれないとは思いませんか?
誰かがそれが何であるかを指摘できれば、私は非常に感謝しています。
誰かが非常に寛大であると感じたら、私にとって素晴らしい1つの調整があります。私は3つのオプションHGWを許可する列(K)を持っています。 RDW & O/T。 HGWまたはRDWが選択されている場合は、重複フラグが表示されている必要があります。ただし、O/Tが選択されている場合は、重複としてフラグを立てません。
希望はこれが理にかなっています!
ありがとうございました。私はデータベースにVBAコードを追加しましたが、何らかの理由で情報が重複しているというメッセージが表示されていますが、重複が見つかったときだけでなく、すべてのエントリで発生しています。私はそれがどのように行われたのか分かりませんが、あなたが見るためにデータベースをアップロードします! –
数式を調整して、正しい列と行に適用する必要があります。数式が行5で始まる場合は、 'match(B2とL2')は使用できません。また、日付と名前がBとLにない場合は、それも調整する必要があります。 – teylyn
@teylynに戻ってくれてありがとう、私は式のバージョンを試していない、私は余分な列を望んでいなかったので、私はスクリーンショットで見ることができます。データベース(既に非常に広がっています!)重複が見つかったときに代わりにスプラッシュ画面を表示する式を得ることができたら、列を作成して非表示にしてバックグラウンドで動作させることができました。すべてのエントリを重複して強調表示するという問題に直面していたvbaスクリプト!私は3行目以降をチェックするコードが必要で、チェックする行の制限はありません。最終的に新しいentiesが下に追加されます –