エクセルでデータ管理をしています(データ件数1万ぐらい)
以下のようなデータがあります。
[調達番号][ID] [カラー][データ1]
1 [H12-15][BCC][Blue] [Sample]
2 [H12-15][BCC][Red] [Shipping]
3 [H12-15][BCC][Pink] [Sample]
4 [H15-20][FCF][Blue] [Sample]
5 [H15-20][FCF][Red] [Sample]
6 [H15-20][DMDCG][Red] [Sample]・・・
と続いていきます。
まずはここからIDが「BCC」と「FCF」のデータを抜き出し、
その後、カラーとデータ1の情報はいらないので、重複している
データを削除して必要なデータのみにしたいです。
このデータで言えば、1、4のデータだけ抽出したいです。
BCCとFCFのデータの抜き出しは下記のように書いてうまく
いっているのですが、その後の重複データを削除する方法を
どなたか教えてください!
For i = rownumber To 2 Step -1
If Mid(.Cells(i, 5), 1, 3) = "BCC" Or _
Mid(.Cells(i, 5), 1, 3) = "FCF" Then
.Rows(i).Delete
End If
Next i
どうぞよろしくお願い致します!
No.1ベストアンサー
- 回答日時:
こんにちは!
>データ件数1万ぐらい
というコトですので、
全ての行をループさせるとそこそこ時間を要すると思います。
オートフィルタの方法ではどうでしょうか?
元データはSheet1にあり、Sheet2に表示するとします。
尚、作業用としてSheet3を使用しますので、Sheet3は全く使っていない状態にしておいてください。
↓の画像のようにSheet1の1行目は項目行でデータは2行目以降にあるとします。
標準モジュールにしてください。
Sub Sample1()
Dim wS2 As Worksheet, wS3 As Worksheet
Set wS2 = Worksheets("Sheet2")
Set wS3 = Worksheets("Sheet3")
Application.ScreenUpdating = False
With Worksheets("Sheet1")
With .Range("A1").CurrentRegion
.AutoFilter field:=2, Criteria1:=Array("BCC", "FCF"), Operator:=xlFilterValues
.SpecialCells(xlCellTypeVisible).Copy wS3.Range("A1")
End With
wS3.Range("B:B").AdvancedFilter Action:=xlFilterInPlace, unique:=True
wS3.Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible).Copy wS2.Range("A1")
.AutoFilterMode = False
End With
wS3.Cells.Clear
Application.ScreenUpdating = True
wS2.Activate
MsgBox "完了"
End Sub
※ 最初に出現(一番上側の行)のデータが表示されます。
こんな感じではどうでしょうか?m(_ _)m
こんにちはー!
そしてありがとうございます!!!
既存のまくろにあわせるのにちょっと手間取りましたができました!!!
すごいすごい!気持ちいいですね笑
どうもありがとうございましたー!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) vba 重複データ合算 5 2023/07/05 18:55
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 3 2022/06/12 11:17
- Visual Basic(VBA) vba 等間隔の列に対しての計算 6 2022/05/17 20:15
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Visual Basic(VBA) 追記する列を増やしたい 2つのデータを検索・照合して元データにないデータを下記マクロで商品名を追記し 9 2022/10/05 10:50
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
教えて下さい
-
VBAで「"」[']をエスケープする...
-
【エクセル】測定時間がバラバ...
-
S9タイプからXタイプにデータ...
-
Accessで該当データにフラグを...
-
VBA 毎日取得するデータを順番...
-
エクセルで2つの時系列のデー...
-
配列でデータが入っている要素...
-
シリアル通信でのデータ受信
-
gridでデータ削除後に上へ1件...
-
重複データを書き込まないよう...
-
チェックサムとCRC
-
特定のデータの抽出方法を教え...
-
Excelのマクロでワードのテキス...
-
Excel VBAでのオートフィルター...
-
ActiveReportについて
-
モジュラス103の算出方法について
-
VBにおいてフォーム間の変数の...
-
javaでDBからデータを取ってき...
-
マクロで同じフォルダにある画...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
教えて下さい
-
配列でデータが入っている要素...
-
【エクセル】測定時間がバラバ...
-
メモ帳(テキストデータ)をExc...
-
VBA 空白セルを削除ではない方...
-
多量のSUMIF式を軽くしたい
-
Excelのマクロでワードのテキス...
-
エクセルで2つの時系列のデー...
-
この行は既に別のテーブルに属...
-
VBAを使ってOutlookメール本文...
-
シーケンサにパソコンからアク...
-
EXCELVBAでSQLserverからデータ...
-
ブレーカー落ちで壊れたりしな...
-
[C言語] コメント文字列を無視...
-
オープンチヤットでデータ削除...
-
モジュラス103の算出方法について
-
javaでDBからデータを取ってき...
-
カンマからスラッシュに
-
VBA 毎日取得するデータを順番...
-
Android携帯をUSBメモリ代わりに
おすすめ情報