マクロは記録しかできない初心者です。
たとえば、
田中 6月 ナシ 12
鈴木 4月 林檎 23
安部 5月 葡萄 34
田中 5月 イモ 12
鈴木 7月 エビ 23
というデータがあって、別シートに「田中」だけのデータを抽出したい場合はどのようなマクロを組めばよいですか。
田中 6月 ナシ 12
田中 5月 イモ 12
しかも、その検索するデータを入力すると検索できるようにしたいのですが。たとえば、
A1に田中←と入力するとそれ以下に
田中 6月 ナシ 12
田中 5月 イモ 12 と抽出されるようにしたいです。
マクロ初心者ですので、詳しく説明をいただければ幸いです
No.4ベストアンサー
- 回答日時:
データ行数が多いということらしいが
テストデータでテストプログラムで600行ぐらいのデータでやったが、1瞬でした。10000行ぐらいなら辛抱できる処理時間でしょう。やってみて言っていますか。
下記は一番泥臭い総舐め法です。
下記コードで実際やってみてください。
こんな簡単なコードで出来ることです。
Sub test01()
k = 1
d = Worksheets("Sheet1").Range("A65536")
For i = 1 To d
x = Worksheets("Sheet1").Cells(i, "A")
If x = "田中" Then
Worksheets("Sheet2").Cells(k, "A") = Worksheets("Sheet1").Cells(i, "A")
Worksheets("Sheet2").Cells(k, "B") = Worksheets("Sheet1").Cells(i, "B")
Worksheets("Sheet2").Cells(k, "C") = Worksheets("Sheet1").Cells(i, "C")
k = k + 1
Else
End If
Next i
End Sub
ーー
If x = "田中" Then
の田中は検索条件の値の入っているセル(Sheet1のA1らしい)を指定してください。
実行のキッカケはボタンのクリックイベントなどに登録。
ーーー
処理するロジック・手法
(1)総なめ法(上記)
(2)Find,FindNext法
(3)Filter・コピー法
(4)ソートし田中の塊の行を抜き出し
(5)データ構造を持ち込む(作りこむ)
(6)アクセスなどに持ち込んで(MSクエリなど)SQLで処理
(7)ユーザー関数を作る(第n番目出現のの田中の行番号を返す関数)
私が思いつくものでも色々ある。
No.5
- 回答日時:
> 上記で表示している「田中」に該当する者が300種類ぐらいありまして、オートフィルタで300の中から田中を探す時間をかけることができない状況です。
行自体は400行近くありますあのぉ・・・オートフィルタが何なのか、解っていらっしゃいますか?
400行くらいの中から、「田中」に該当するものが300くらいあるんですよね?
その300くらいある田中を抽出するためにオートフィルタを使います。
その抽出した300くらいの「田中」の中から、さらに田中を探す???
意味が解らないのですが・・・
No.3
- 回答日時:
> オートフィルタ+コピペで行うにはデータの量が多すぎたもので…
Ctrl+A で全選択したり、Ctrl+Shift+* でデータ領域を選択したり、Ctrl+Shift+矢印で終端までを選択したりできるので、特に問題は無いと思うのですが、データの量が多すぎることで、どんな不都合があるのでしょうか?
上記で表示している「田中」に該当する者が300種類ぐらいありまして、オートフィルタで300の中から田中を探す時間をかけることができない状況です。行自体は400行近くあります
No.2
- 回答日時:
マクロの記録でも近い部分までできますね。
マクロの記録開始
Sheet1の範囲を指定、コピィ
Sheet2のA2を指定、貼り付け
Sheet2の範囲を指定、オートフィル、A列 田中 等しくないでフィルター
適当に行を範囲指定、行の削除
フィルター 解除
マクロの記録終了
少し手を加えましたが
Sub Macro1()
Range("A2:D10").Select
Selection.Copy
Sheets("Sheet2").Select
Range("A2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("A1:D10").Select
Selection.AutoFilter Field:=1, Criteria1:="<>" & Range("A1").Value, Operator:=xlAnd 'この行をRANGEに一部変更
Rows("2:12").Select
Selection.Delete Shift:=xlUp
Selection.AutoFilter
End Sub
参考にしてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelマクロの差分抽出のコードを教えていただきたいです。 2 2023/03/14 11:40
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- Excel(エクセル) (教えて下さい)ExcelのSUMIF又はSUMIFSを使って合計値の算出 4 2023/07/24 11:23
- Excel(エクセル) EXCEL 関数を教えてください。(A列の同じ値が複数ある場合vlookupで出来ますか) 4 2022/12/07 20:54
- タレント・お笑い芸人 食わず嫌い復活して欲しいですか? 1 2023/02/22 22:45
- その他(データベース) 20万行あるデータを動かしたい 2 2023/06/13 15:21
- Excel(エクセル) ②Excel 簡単にシートコピーしたら前日の残高と日付を変更させたい→マクロの記録でエラーが出ます 8 2022/07/16 20:40
- Excel(エクセル) Excelについて 4 2023/03/02 09:24
- Visual Basic(VBA) Sheet2からオートフィルターで売上日を抽出した件数をカウントし、その件数をSheet1のセルB1 2 2023/01/12 12:24
- Excel(エクセル) VBA ふたつの同じ様式シートのセルをコピーしたい 2 2023/03/08 15:28
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでオートフィルタのボ...
-
エクセルのオートフィルタで最...
-
エクセルで時刻(8:00~20:00)...
-
Excelのオートフィルタで非表示...
-
エクセルの偶数行(奇数行)の抽出
-
なぜShowAllDataだとうまく行か...
-
エクセルにて、フィルタをかけ...
-
エクセルで、条件に一致した行...
-
エクセル関数で、数字の入った...
-
Excelのフィルターで抽出した状...
-
ACCESSでスペースの抽出
-
アクセスにはオートフィルタは...
-
エクセルVBA/StatusBarの表示文...
-
【excel】リスト内の条件にあっ...
-
Excel共有ブックのオートフィル...
-
オートフィルタは金額の桁カン...
-
データの抽出を教えてください
-
Excelで文字を入力と自動的にフ...
-
excelオートフィルタの検索条件...
-
Excelオートフィルターで絞り込...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで時刻(8:00~20:00)...
-
エクセルのオートフィルタで最...
-
エクセルでオートフィルタのボ...
-
Excelのオートフィルタで非表示...
-
エクセルの偶数行(奇数行)の抽出
-
エクセル関数で、数字の入った...
-
Excel共有ブックのオートフィル...
-
エクセルで、条件に一致した行...
-
エクセル・条件付で行を削除す...
-
access マクロでのフィルタの...
-
オートフィルタで3つ以上の条...
-
オートフィルタで選択したデー...
-
エクセルにて、フィルタをかけ...
-
可視セルを対象としたcountifが...
-
【EXCEL】条件に一致した最新デ...
-
VBA オートフィルタで抽出した...
-
今日の日付のデータをすばやく...
-
【Excel/関数/条件付き書式】月...
-
なぜShowAllDataだとうまく行か...
-
エクセルのオートフィルタで困...
おすすめ情報