• ベストアンサー

ExcelVBAマクロ『並べ替え』⇒『重複の削除』

ExcelVBAマクロについて確認させてください。 いくつかの値がエクセルのB10から下方向に入力されてあります。 この値をExcelの機能である『並べ替え』⇒『重複の削除』をExcelVBAマクロで同様に実行したいのですが、 どのようにすれば良いでしょうか。 ご教授下さい。 以上、よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.2

(1)範囲指定ー並べ変え マクロの記録で判る。 重複を判断する列(x)のデータをソート第1キーとして並び替える。 (2)重複の削除 最終データ行を掴むーー質問の回答に頻出する事項。勉強のこと。 最終行から、第10(この質問の場合)行まで(FOR I=最終行 TO 10 STEP -1 NEXTを使う) 、x列のセルの値について、前の行と今の行の同じかどうか判別し、同じならその行を削除する。そのためには前の行(下の行)の値を次の行の処理のために受け渡す,変数を1つ用意し使う。 行削除はマクロの記録を参照。またはGoogleででも照会。 ソーと列と重複を考える列が違う場合は、1工夫必要。 ーーー これ以外に、フィルタオプションの設定ー重複するレコードは無視する、などのマクロの記録でも出来ると思う。非表示のみになるだけだが。その後1処理必要。 ーー そのほかにも色んなロジックが使える。 例 http://pc.nikkeibp.co.jp/article/NPC/20060214/229179/?rt=nocnt ーー 質問異はエクセルのバージョンを書くこと。2007か2010か。 ーー コードは敢えてここに書かない。勉強してください。

rotawota7
質問者

お礼

早速のご回答ありがとうございました。 アドバイスをもとに色々とやってみたところ、 うまく出来ました。 本当にありがとうございました。

その他の回答 (1)

noname#158634
noname#158634
回答No.1

まずは「マクロの記録」。

rotawota7
質問者

お礼

早速のご回答ありがとうございました。 マクロの記録機能を参考にしてマクロ改良してみたところ うまく出来ました 本当にありがとうございました。

関連するQ&A