sheet1にあるデータを条件に合わせてデータを抽出したいのですがうまくいきません。
sheet1
A B C
1 100 a
2 180 b
3 150 c
4 200 c
5 180 a
6 140 b
7 110 a
8 120 a
上記のようなデータで、C列に a と記入されているデータをsheet2に抽出
sheet2
A B C
1 100 a
2 180 a
3 110 a
4 120 a
というように順番に抽出したいのですが、うまくいきません。
ほかにもいろいろな条件があるためフィルターやエクセルでなくVBAでと考えています。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
単純なサンプルですが、最初の例の一例です。
Sub sample1()
Dim Line1 As Long
Dim Line2 As Long
ThisWorkbook.Activate
Worksheets("Sheet1").Select
For Line1 = 1 To Cells(Rows.Count, "A").End(xlUp).Row
If Cells(Line1, "C") = "a" Then
Line2 = Line2 + 1
With Worksheets("Sheet2")
.Cells(Line2, "A") = Line2
.Cells(Line2, "B") = Cells(Line1, "B")
.Cells(Line2, "C") = Cells(Line1, "C")
End With
End If
Next Line1
End Sub
ありがとうございます。
教えていただいたコードをもとにしながら作っていきたいと思います。
また分からなくなったら質問させていただきますので、その際はよろしくお願いします。
No.3
- 回答日時:
>今までの担当の方はフィルター、コピーで対応していたようですが間違いもあったりしたので、
>正確で早く仕上げる方法を検討しています。
同じ操作を繰り返しいても、何回もやっていればミスも生じます。
VBAなどを使っての自動化は正しい方向だと思います。
ただ、tokomamajimikiさんが退職した場合などのことも考えておいてください。
システムの変更が必要になった場合に、対応が出来なくなります。
-----------------------
補足要求です
データを入力する人は、「大文字・小文字」と「全角・半角」と正しく入力できますでしょうか?
それによっては、若干のプラスの関数が必要です(関数で出来ますが、動作速度は落ちてしまいます)。
No.1
- 回答日時:
こんにちは
例が単純ですので、この例なら
「フィルタ→別シートにコピー」
が一番単純であると思います。
芸のないやり方ですが、VBAなら
「1行ずつ条件を判断して、条件にあったデータだけをコピー」
が出来ます。
場合によっては、「ピボットテーブル」をマクロに記録しておいて、その結果をコピーする方が簡単かもしれません。
機密がありますので、詳しいことは書けないこともあると思いますが、もう少し詳細を教えてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【Excel質問】別シートにある複数の同型の表から、同じ行項目にある数字を集計する 4 2023/02/16 00:14
- Excel(エクセル) Excelの関数でこんな処理ができますか 1 2023/02/08 13:46
- Visual Basic(VBA) Sheet2の日付をキーにオートフィルターで2023年1月のデータを抽出し、Sheet3へ書き出すた 2 2023/03/06 23:57
- Excel(エクセル) エクセルで重複データを行ごとに抽出したい 4 2022/12/05 08:18
- Visual Basic(VBA) Sheet「状況」から、分類の年齢別カウント数をSheet「D表」へ転記する下記マクロを作っています 7 2022/12/14 17:57
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- Excel(エクセル) Excel 売上管理シートに入力した売上データを、日報に自動反映させたいと考えています。 売上管理シ 3 2023/04/29 18:08
- その他(Microsoft Office) 従業員増減対応で当番種類の増減対応な当番表 21 2022/07/19 07:30
- C言語・C++・C# C言語初心者 構造体 課題について 1 2023/03/10 19:30
- Access(アクセス) スキルシートのエクセルの項目に 2 2023/04/04 22:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
2つのマクロでチェックボックス...
-
Vba SelStart、SelLen教えてく...
-
【VBA】マクロの入ったファイル...
-
現在のブックを閉じないで、マ...
-
ユーザーフォームに別シートか...
-
A列に記載されているフォルダ...
-
VBA 別ブックからコピペしたい...
-
VBA 複数条件の分岐処理の上手...
-
VBAに詳しい方教えてください。
-
Excelのマクロについて教えてく...
-
エクセルのマクロについて教え...
-
ExcelVBA シート名を複数セルか...
-
Outlookの「受信日時」「件名」...
-
VBA listBoxから
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
ExcelのVBAコードについて教え...
-
エクセルのマクロについて教え...
-
Outlookの「受信日時」「送信者...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB6のオラクルのバインド変数
-
oo4oを使ったOracleへのデータ...
-
accessvbaで内容を結合して保存
-
拡張GerberデータRX-274Xについて
-
SQL文で
-
SQL構文
-
SQLローダーCSV取込で、囲み文...
-
テーブルの最後(最新)のレコー...
-
select文の実行結果に空白行を...
-
<SQL>重複しているデータの場合...
-
エクセルのソートについて
-
【PL/SQL】FROM区に変数を使う方法
-
単一グループのグループ関数で...
-
count関数の値をwhere句で使用...
-
複数のテーブルから値を合計出...
-
SELECT FOR UPDATE で該当レコ...
-
AccessのSQL文で1件のみヒット...
-
2つの列が同じ値の行を取得するSQL
-
Oracleで「文字が無効です」の...
-
トランザクションログを出力せ...
おすすめ情報
お世話になります。
質問の表は単純ですが実際のデータ数、条件数とも多いです。
今までの担当の方はフィルター、コピーで対応していたようですが間違いもあったりしたので、
正確で早く仕上げる方法を検討しています。
条件を a とした場合に別シートに順番に抽出。
同様に、bとcについても同じ作業が必要となります。
お世話になります。
色々考えていただき大変ありがとうございます。
大文字・小文字、全角・半角の入力は大丈夫だと思います。