Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


6914 / 13644 ツリー ←次へ | 前へ→

【42302】重複データのチェック トホホ 06/9/6(水) 9:15 質問[未読]
【42304】Re:重複データのチェック Jaka 06/9/6(水) 9:25 発言[未読]
【42314】Re:重複データのチェック トホホ 06/9/6(水) 13:53 お礼[未読]
【42305】Re:重複データのチェック Kein 06/9/6(水) 9:32 回答[未読]
【42363】Re:重複データのチェック はじめまして 06/9/8(金) 9:24 質問[未読]
【42365】Re:重複データのチェック Kein 06/9/8(金) 10:17 発言[未読]
【42366】Re:重複データのチェック はじめまして 06/9/8(金) 10:23 お礼[未読]

【42302】重複データのチェック
質問  トホホ  - 06/9/6(水) 9:15 -

引用なし
パスワード
   .xlsファイルの一つのフィールドに重複するデータがあるかチェックし
さらにどのデータが重複するのか検出したいのですが・・・。
レコード数が数十件であれば、オートフィルタで地道に抽出して
結果を毎回留めておくというのも不可能ではないのですが、
数百件以上の場合、手作業では及びません。
これをマクロに記述することは可能でしょうか?
★下記のサンプルの中から結果として重複するのはリンゴとナシですよ。という
検出をしたいのです。よろしくお願いいたします。
<サンプル>
フィールドA フィールドB フィールドC
リンゴ   青森   100
ナシ    鳥取   250
ナシ    山梨   210
ミカン   愛媛   150
リンゴ   仙台   80

【42304】Re:重複データのチェック
発言  Jaka  - 06/9/6(水) 9:25 -

引用なし
パスワード
   作業列に
=COUNTIF($A:$A,A1)
と、書いて下にフィル。
2以上をオートフィルタで抽出。

抽出したデータをフィルタオプションで重複無しの物を抽出してやれば、手作業でもできます。

【42305】Re:重複データのチェック
回答  Kein  - 06/9/6(水) 9:32 -

引用なし
パスワード
   アクティブシートのA列をチェックし、結果をイミディエイトウィンドウに
出力します。IV列を作業列として使います。

Sub Check_Uniq_Data()
  Debug.Print "[ 重複があるデータ ]"
  On Error Resume Next
  With Range("A1", Range("A65536").End(xlUp)).Offset(, 255)
   .Formula = _
   "=IF(AND(COUNTIF(A:A,A1)>1,MATCH(A1,A:A,0)=ROW()),A1,0)"
   For Each C In .SpecialCells(3, 2)
     Debug.Print C.Value
   Next
   .ClearContents
  End With
  On Error GoTo 0
  With Application.VBE.MainWindow
   .Visible = True
   .SetFocus
  End With
  SendKeys "^(g)", True
End Sub

【42314】Re:重複データのチェック
お礼  トホホ  - 06/9/6(水) 13:53 -

引用なし
パスワード
   Jakaさんへ
ありがとうございます。
いつも手作業でやっているので
マクロに記述する方法を模索中です。

▼Jaka さん:
>作業列に
>=COUNTIF($A:$A,A1)
>と、書いて下にフィル。
>2以上をオートフィルタで抽出。
>
>抽出したデータをフィルタオプションで重複無しの物を抽出してやれば、手作業でもできます。

【42363】Re:重複データのチェック
質問  はじめまして  - 06/9/8(金) 9:24 -

引用なし
パスワード
   Kein さんへ

ご教授ありがとうございます。
質問時のサンプルとまったく同じように
A〜C列にデータを入れ、記述をコピペで貼付
実行したのですが、↓の部分でとまってしまいます。
>  With Application.VBE.MainWindow

メッセージは
「実行時エラー'1004':
プログラミングによるVisual Basicプロジェクトへのアクセスは信頼性に欠けます。」

というものでした。
何が原因なのでしょうか?

【42365】Re:重複データのチェック
発言  Kein  - 06/9/8(金) 10:17 -

引用なし
パスワード
   あー・・それは新しいバージョンのExcelだから、セキュリティが厳しくなって
VBEを操作するコードがはじかれてるのでしょう。こちらはVer2000なので
問題なくイミディエイトウィンドウを開くことができるのですが・・。
ま、無理なら仕方がないので、With Applicatiomn〜End With と、その下の
SendKeys・・を削除して下さい。イミディエイトウィンドウは、手操作で
VBEを開いて見にいって下さい。

【42366】Re:重複データのチェック
お礼  はじめまして  - 06/9/8(金) 10:23 -

引用なし
パスワード
   Keinさん

上手くいきました。
エラーメッセージで内容が分かるなんで
私ももっと勉強します。
ありがとうございました。

6914 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free