VBAは必要ありません。私はソフトウェア開発者ですが、私は可能な限りVBAを使用しないようにしています。
A1-A10のすべての用紙に31枚の用紙があります。次に、シートごとに以下を実行します。
最初にシートの一意の値を持つ列を作成します。そのためには、「行列式」が必要です。 (単に入力しないで!)C1をスキップして、セルC2とCTRL-SHIFT-ENTERと密接に次の式を入力します。
=IFERROR(INDEX($A$1:$A$10, MATCH(0, IF(ISBLANK($A$1:$A$10),1,COUNTIF($C$1:C1, $A$1:$A$10)), 0)),"")
今、あなたは行列式を取得します。ご覧のように、数式のまわりには角括弧{}があります。 数式をC11に入力すると、A1-A10の一意の値のみが得られます。これを31回実行した後、31列のC列すべてを概要シートに参照します。
オーバービューシートは条件付き書式で表示されます。それはhereと説明されています。このソリューションを使用すると、重複を正確に特定するのが非常に簡単になります。
しかし、あなたが値を持っている代わりに、書式設定、二概要シートを作成し、A1に次の式を入れたい場合は:
=IF(ISNUMBER(OverviewSheet!A1),IF(OverviewSheet!A1<>0,COUNTIF(OverviewSheet!$A$1:$AE$10,OverviewSheet!A1)>1))
とセルAE10にこの数式を入力します。 TRUE/FALSEの全範囲が得られます。この式では空のセルとゼロも考慮されます。
今二概要シート上のどこかにこの式を配置します。
=COUNTIF(A1:AE10,TRUE())>0
あなたは31枚以上の重複を持っている場合今、あなただけTRUEまたはFALSEが含ま一つのセルを持っています。
この結果をボタンの下に表示するには、このためのマクロを作成できると確信しています。
おそらく短い結果があるかもしれませんが、これが私が思いついたものです。
成功!
EDIT:
OK、多分私はVBAについてあまりにも陽性でした。ビューマクロ> - - >マクロ -
Sub Check()
If ThisWorkbook.Sheets("OverviewSheet2").Range("AF1").Value = True Then
MsgBox "We have duplicates!"
Else
MsgBox "We have no duplicates."
End If
End Sub
今、このマクロのための最も簡単なオプションは、ショートカットキー(ビューの下で置くことです>:これはマクロである、のは、最後の式はAF1であるとしましょう'チェック'マクロ - >オプション - >ショートカットキー)を選択します。 CTRL-SHIFT-D。その後、すべてのシートに31個のボタンは必要ありません。
これまでに何を試しましたか?あなたの質問を、現在作業中のコード/マクロで更新して、どこから始めるべきかを知ってください。 –