- Excel VBA 質問スレ Part41©2ch.net
576 :デフォルトの名無しさん[sage]:2016/06/13(月) 09:25:34.07 ID:8U53ckAC - A列とB列に1以上20以下の整数が200行ほど並んでます(数字は頻繁に更新される)
AセルとBセルの組合せの重複をチェックしたいのですが、どうやれば良いですか。 今はC列に(C1=A1*21+B1)の作業域を設け、n行が更新されるたびに If Application.CountIf (Range ("C1:C200"), Cells(n,3)) > 1 とやってますが、少しでも時間短縮を図りたいのです。 つまりわかりやすさよりもスピード重視でお願いしますm(_ _)m
|
- Excel VBA 質問スレ Part41©2ch.net
579 :デフォルトの名無しさん[sage]:2016/06/13(月) 12:46:55.80 ID:8U53ckAC - >>577
ありがとうございます! フィルターオプション&重複でググって解決しました。 初心者故おかしいかも知れませんが、これで求めるチェックができました。 お陰で、作業域(演算)の分かなりのスピードアップが図れそうです。 Range("a1:b9").AdvancedFilter Action:=xlFilterInPlace, Unique:=True x = WorksheetFunction.Subtotal(3, Range("a1:a9")) Range("a1:b9").AdvancedFilter Action:=xlFilterInPlace, Unique:=False y = WorksheetFunction.Subtotal(3, Range("a1:a9")) MsgBox y - x
|
- Excel VBA 質問スレ Part41©2ch.net
580 :デフォルトの名無しさん[sage]:2016/06/13(月) 12:56:12.13 ID:8U53ckAC - >>578
求める組合せをループ(バックトラック法)かけて延々と調べるものです。 具体的には4列(A-D)あって、次の4条件のしばりがあります。 A<>C B<>D A&B C&D 重複無し A&D C&B 重複無し 力技で判定していたので、長時間かかって終わりそうになかったもので・・
|
- Excel VBA 質問スレ Part41©2ch.net
581 :デフォルトの名無しさん[sage]:2016/06/13(月) 13:01:37.02 ID:8U53ckAC - ちょっと違った・・
An <> Bn A&B 組合せ重複無し Cn <> Dn C&D 組合せ重複無し A&B C&D 組合せ重複無し A&D C&B 組合せ重複無し
|
- Excel VBA 質問スレ Part41©2ch.net
582 :デフォルトの名無しさん[sage]:2016/06/13(月) 13:05:35.50 ID:8U53ckAC - すみません・・
An <> Cn A&C 組合せ重複無し Bn <> Dn B&D 組合せ重複無し A&B C&D 組合せ重複無し A&D C&B 組合せ重複無し
|