No.5ベストアンサー
- 回答日時:
コメントの指摘、確認しました。
最初にヒットする件数を数えて、件数0の場合の処理を追加しました。
どうでしょうか?
Sub 抽出()
'前回の抽出結果をクリア
Range("P7:Y" & Rows.Count).Delete Shift:=xlUp
'E列の最終行を取得
EOL = Range("E7").End(xlDown).Row
'抽出数がゼロなら終了
If WorksheetFunction.CountIf(Range("E7:E" & EOL), Range("Q1")) = 0 Then Exit Sub
'データのある範囲の設定
With Range("E6:N" & EOL)
'オートフィルタでE列をQ1の値で抽出
.AutoFilter Field:=1, Criteria1:=Range("Q1").Value
'抽出結果をコピーして、P7セルを起点に貼り付け
Range("E7:N" & EOL).Copy Range("P7")
'オートフィルタを解除
.AutoFilter
End With
End Sub
No.6
- 回答日時:
こんばんは!
手っ取り早いのはオートフィルタですが、画像を拝見するとタイトル行がないようなので、別案(値の操作)にしてみました。
一例です。
Sub Sample1()
Dim i As Long
Dim cnt As Long, lastRow As Long
'//▼P7以下のデータを一旦消去//
lastRow = Cells(Rows.Count, "P").End(xlUp).Row
If lastRow > 6 Then
Range(Cells(7, "P"), Cells(lastRow, "Y")).ClearContents
End If
'//▼ココから操作//
cnt = 6
For i = 7 To Cells(Rows.Count, "E").End(xlUp).Row
If Cells(i, "E") = Range("Q1") Then
cnt = cnt + 1
Cells(cnt, "P").Resize(, 10).Value = Cells(i, "E").Resize(, 10).Value
End If
Next i
MsgBox "完了"
End Sub
こんな感じではどうでしょうか?m(_ _)m
No.4
- 回答日時:
ほぼ同じことがエクセルのフィルター機能でできます。
6行目を選択 → メニュー → データ → フィルター → E6セルの▼をクリック → テキストフィルタ → 指定の値を含む → 入力欄に『田中』を入力、その右の欄に『を含む』を選択 → OK
フィルター解除するときは、フィルターの右横にある『クリア』をクリックです。
マクロについての質問ですが、マクロを使うというのはあくまでも手段の一つだと思いますので。
No.3
- 回答日時:
セル範囲が狂ってました。
訂正版です。
Sub 抽出()
'前回の抽出結果をクリア
Range("P7:Y" & Rows.Count).Delete Shift:=xlUp
'E列の最終行を取得
EOL = Range("E7").End(xlDown).Row
'データのある範囲の設定
With Range("E6:N" & EOL)
'オートフィルタでE列をQ1の値で抽出
.AutoFilter Field:=1, Criteria1:=Range("Q1").Value
'抽出結果をコピーして、P7セルを起点に貼り付け
Range("E7:N" & EOL).Copy Range("P7")
'オートフィルタを解除
.AutoFilter
End With
End Sub
この回答へのお礼
お礼日時:2020/06/28 20:30
回答ありがとうございます。
おそらくOKみたいな感じなのですが、該当の文字が無い場合、全てを抜き出すような気がするのですが、気のせいでしょうか?
検索文字を英字にしてみたのですが、ダメでしょうか?
No.2
- 回答日時:
即席ですが、どうでしょうか。
Sub 抽出()
'前回の抽出結果をクリア
Range("P7:Y" & Rows.Count).Delete Shift:=xlUp
'E列の最終行を取得
EOL = Range("E7").End(xlDown).Row
'データのある範囲の設定
With Range("E7:N" & EOL)
'オートフィルタでE列をQ1の値で抽出
.AutoFilter Field:=1, Criteria1:=Range("Q1").Value
'抽出結果をコピーして、P7セルを起点に貼り付け
.Copy Range("P7")
'オートフィルタを解除
.AutoFilter
End With
End Sub
No.1
- 回答日時:
Q1に書かれた検索キーを
E7から最下行までの間で検索し、
E列にQ1と同じ内容のせるが会った場合、
■その行を全て下行に表示させる??
…E7から検索して、どこの下行に表示させるの?
■列数はN列までをP7にボタンクリックで表示させたい??
抽出するのは、該当業E列~N列?A列~N列?
その列の範囲をP7に表示させる、マクロボタンを作りたいの?
具体的な動作イメージのスクリーンショットを補足できますか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルで2つの表を比較して、文字列が同じだが、その行のある値が違うものを抽出したい 1 2022/10/06 21:48
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/25 16:07
- Excel(エクセル) Excelでの検索結果を含む行だけを表示させたい 5 2023/03/10 17:08
- その他(プログラミング・Web制作) テキストエディタで複数行にわたる文字列の行頭に番号を振る方法 4 2023/03/11 12:57
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/12/26 12:05
- Visual Basic(VBA) エクセルVBAについて 2 2023/01/31 16:21
- Excel(エクセル) マクロでボタンにつける名前がどこに設定されているかわからないケースがありました。 1 2023/06/19 19:37
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/01/06 08:39
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで時刻(8:00~20:00)...
-
エクセルでオートフィルタのボ...
-
【EXCEL】条件に一致した最新デ...
-
エクセルのオートフィルタで最...
-
Excelのオートフィルタで非表示...
-
エクセルの偶数行(奇数行)の抽出
-
access マクロでのフィルタの...
-
データの抽出を教えてください
-
エクセル・条件付で行を削除す...
-
可視セルを対象としたcountifが...
-
エクセルのオートフィルタで困...
-
オートフィルタで3つ以上の条...
-
【Excel/関数/条件付き書式】月...
-
(VBA)フィルタがかかって...
-
エクセルで検索窓のようなもの...
-
なぜShowAllDataだとうまく行か...
-
エクセルで指定期間内に在職す...
-
Excelオートフィルターで絞り込...
-
【Excel2003】オートフィルタの...
-
EXCELで
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルでオートフィルタのボ...
-
エクセルのオートフィルタで最...
-
エクセルで時刻(8:00~20:00)...
-
Excelのオートフィルタで非表示...
-
エクセルの偶数行(奇数行)の抽出
-
エクセル関数で、数字の入った...
-
エクセルで、条件に一致した行...
-
オートフィルタで3つ以上の条...
-
access マクロでのフィルタの...
-
Excel共有ブックのオートフィル...
-
なぜShowAllDataだとうまく行か...
-
エクセル・条件付で行を削除す...
-
オートフィルタで選択したデー...
-
今日の日付のデータをすばやく...
-
【EXCEL】条件に一致した最新デ...
-
エクセル、オートフィルタで最...
-
Excelオートフィルターで絞り込...
-
可視セルを対象としたcountifが...
-
【Excel/関数/条件付き書式】月...
-
データの抽出を教えてください
おすすめ情報
メッセージありがとうございます。
画像添付します。