
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
vba textboxへの入力について教...
-
VBA 入力箇所指定方法
-
VBAでCOPYを繰り返すと、処理が...
-
Vba セルの4辺について罫線が有...
-
VBAでセルの書式を変えずに文字...
-
vbsでのwebフォームへの入力制限?
-
複数のExcelファイルをマージす...
-
【マクロ】並び替えの範囲が、...
-
VBA ユーザーフォーム ボタンク...
-
vb.net(vs2022)のtextboxのデザ...
-
【VBA】値を変更しながら連続で...
-
vbaにてseleniumを使用したedge...
-
【マクロ】シートの変数へ入れ...
-
【マクロ】開いているブックの...
-
エクセルのマクロについて教え...
-
エクセルのVBAコードについて教...
-
算術演算子「¥」の意味について
-
VBAでユーザーフォームを指定回...
-
VB.net 文字列から日付型へ変更...
-
[VB.net] ボタン(Flat)のEnable...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
時間の判定条件
-
SQLについて
-
ActiveReports
-
accessvbaで内容を結合して保存
-
VBA 条件に合わせたデータ抽出
-
指定文字を太字にするVBAを別シ...
-
配列への分割方法
-
複数のデータテーブルのデータ...
-
SQLローダーCSV取込で、囲み文...
-
テーブルの最後(最新)のレコー...
-
単一グループのグループ関数で...
-
Oracleで「文字が無効です」の...
-
SELECT FOR UPDATE で該当レコ...
-
【PL/SQL】FROM区に変数を使う方法
-
レコードの登録順がおかしい
-
select文の実行結果に空白行を...
-
where句中のtrim関数について
-
count関数の値をwhere句で使用...
-
データ
-
SQL*Loader Append
おすすめ情報
お世話になります。
質問の表は単純ですが実際のデータ数、条件数とも多いです。
今までの担当の方はフィルター、コピーで対応していたようですが間違いもあったりしたので、
正確で早く仕上げる方法を検討しています。
条件を a とした場合に別シートに順番に抽出。
同様に、bとcについても同じ作業が必要となります。
お世話になります。
色々考えていただき大変ありがとうございます。
大文字・小文字、全角・半角の入力は大丈夫だと思います。