excel2003 重複削除マクロ 再質問
QNo.3630625 excel2003 重複削除マクロ
回答マクロを実行した結果、うまくいかないケースがあり、再質問させて頂きました。
winxp he sp2, office2003
AB重複銘柄を削除した結果を、CDに書くマクロを教えてください。
この例では、日経300投信 チャイナボーチーが重複しています。
AB(銘柄コードと銘柄名)は一体です。データは沢山あります。1700個。
列がずれて見にくいです。
A B C D
1313 KODEX200 1313 KODEX200
1319 日経300投信 1319 日経300投信
1319 日経300投信 1380 秋川牧園
1380 秋川牧園 1381 アクシーズ
1381 アクシーズ 1412 チャイナボーチー
1412 チャイナボーチー 1724 シンクレイヤ
1412 チャイナボーチー 1735 伊田テクノス
1412 チャイナボーチー 1753 土屋ツーバイホーム
1724 シンクレイヤ 1783 A.Cホール
1735 伊田テクノス
1753 土屋ツーバイ
1783 A.Cホール
回答:
1行目は項目名と判断されてしまいますので提示の例ではうまく行きましたが、正しくありません。
では、マクロ作業上でダミーで先頭に1行追加し、項目を振り、終了後にダミー行を削除するように変えてみました。
逐条で解説もつけておきます。
Sub test03()
Dim x As Long 'xは長整数と宣言
With ActiveSheet 'アクティブなシートで
.Rows("1").Insert Shift:=xlDown 'ダミー行挿入
.Range("A1") = "Code" 'ダミー項目1
.Range("B1") = "Name" 'ダミー項目2
x = .Cells(.Rows.Count, 1).End(xlUp).Row '最終行取得
.Range("A1:B" & x).Select '範囲選択
Selection.AdvancedFilter Action:=xlFilterInPlace, Unique:=True '重複を表示しない
Selection.Copy .Range("C1") 'コピーしてC1以降に貼り付け
.ShowAllData 'すべてを表示 --------------------------------------ここでデバッグエラーが発生します。
.Rows("1").Delete Shift:=xlUp 'ダミー行削除
End With
End Sub
エラーが発生するケースまでは、特定していません。
よろしくお願いします。