エクセルマクロに関する簡単な質問です。

無事解決した場合は200P程度お支払い(?)しますのでどうぞヨロシク。

・C2〜のデータの中で、
・重複しているデータがあった場合、
・その重複しているデータの下側ほうのデータを”重複”という文字列に書き換える

そんなマクロはどう書けばいいのでしょうか?

具体的な書き方教えて頂けるとありがたいです。
宜しくお願いします。


※イメージしてるのはこんな感じ・・・
-------------
C2/150| |C2/150
C3/333| |C3/333
C4/222| |C4/222
C5/777|→|C5/777
C6/777| |C6/重複
C7/254| |C7/254
C8/150| |C8/重複
C9/777| |C9/重複
-------------

こんな感じにしたいです。
※実際にはもっとデータがあるイメージです。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/02/25 01:02:16
  • 終了:--

回答(2件)

id:PPPz No.1

PPPz回答回数1124ベストアンサー獲得回数132006/02/25 01:20:56

ポイント50pt

http://www.hatena.ne.jp/1140796936#

人力検索はてな - エクセルマクロに関する簡単な質問です。 無事解決した場合は200P程度お支払い(?)しますのでどうぞヨロシク。 ・C2〜のデータの中で、 ・重複しているデータがあった..

URLはダミーです。


マクロで書く必要がなければ、関数で処理ができます。


処理を単純化するために 各行に対してあらかじめ、番号をふります。

仮にB列に上から、1、2、3とふります。

そのあと、B列とC列のデータ部分を選択して、C列を昇順に並び替えを実行します。

(そうすることで、同じ番号が上下に並ぶことが保証されます。)


そして、D列が空いていると仮定しますが、一番上のD2のセルに、C2の値をコピーします。D3のセルに関数を記述することになりますが、論理式で処理して、

[=IF(C3=C2,”重複”,C3)]

と入力します。そして、そのセルを選択して、そのままずりずりと下に必要な分ドラッグして式を入力します。(オートフィル)


これで、希望の処理が完了です。


この後、先ほどふったB列の番号で昇順に並び替えれば、もとの状態になります。

C列に値を入力したければ、D列をコピーして、形式を選択してコピーで値をコピーすれば、全て完了ですね。


マクロで記述したければ、上記の処理を記述して頭から実行すればいいですね。


並び替えをするのが、

かえって効率的だと思いますよ。

id:gsjapan

早速のご回答ありがとうございます。できれば

For Each C In Range(”C2:C10”)

Next C

とか、

Range(”C:C”).FinD(What:=Target.Value)

みたいなの使ってマクロ内で処理したいんですが、

んー説明の仕方自体よくワカラナイ状態で・・・

(上の2つ自体も今回の処理に必要かどうか自体不明です)

こんな感じの回答を期待中です→ http://www.hatena.ne.jp/1139608137

一応もう少し回答待ちたいと思います。

宜しくお願いしまする。

2006/02/25 02:11:50
id:konekoneko No.2

konekoneko回答回数4ベストアンサー獲得回数02006/02/25 01:33:56

ポイント200pt

http://blog.livedoor.jp/andrewj/archives/7715753.html

アンドリューのエクセルTIPS:重複するインボイス 2

VBAで検索を行って…という方法でも良いですが、ワークシート関数とマクロの記録でも十分可能です。


C2 100 =IF(SUMPRODUCT(($C$2:C2=C2)*1)=1,C2,”重複”)

C3 200 =IF(SUMPRODUCT(($C$2:C3=C3)*1)=1,C3,”重複”)

C4 300 =IF(SUMPRODUCT(($C$2:C4=C4)*1)=1,C4,”重複”)

C5 100 =IF(SUMPRODUCT(($C$2:C5=C5)*1)=1,C5,”重複”)

C6 400 =IF(SUMPRODUCT(($C$2:C6=C6)*1)=1,C6,”重複”)


こんな感じの数式を作業列に入力(してフィル)

作業列をコピー

C列に形式を選択して貼り付け(値)

作業列を削除

id:gsjapan

初めてのやり方だったので苦戦しましたが何とかうまくいきました。のでこれにて質問を終了させて頂きます。アリガトウゴザイマシタァ

2006/02/25 03:17:31

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません