VBA で抽出したデータが一定数まできたら、異なるセルに折り返して抽出するように設定したいです。
◇シート1◇ ※元データ
A B C D
1| 氏名 役職 部署 年齢
――――――――――――――――
2| 山田 社員 開発 45
3| 田中 社員 人事 42
4| 鈴木 派遣 企画 30
5| 高橋 役員 人事 50
6| 坂野 社員 企画 33
7| 井上 派遣 企画 29
◇シート2◇
条件1.役職は"役員"で、部署が"人事"の人の
氏名、役職、部署をA3から順に抽出する
条件2.A列のデータが9行目まできたら
D3に抽出されるようにする
A B C D E F
1 氏名 役職 部署 氏名 役職 部署
2 高橋 役員 人事
3
4
5
6
7
8
9
――――――――――――――――――――
ちなみにこのサイトで以下のコードを作成してもらいましたが
これだとデータ元の全ての行が抽出されてしまいます。
Private Sub Worksheet_Activate()
With Sheets("Sheet1")
.AutoFilterMode = False
.Range("A1:E1").AutoFilter
.Range("A1:E1").AutoFilter Field:=2, Criteria1:="役員"
.Range("A1:E1").AutoFilter Field:=3, Criteria1:="人事"
.Range(.Range("A1"), .Range("A1").SpecialCells(xlLastCell)).SpecialCells(xlCellTypeVisible).Copy Range("A3")
.AutoFilterMode = False
End With
End Sub
条件2のデータを折り返す条件が難しいようであれば
条件1の3列のみ抽出する方法で結構ですので教えてください。
よろしくお願いします。
No.1
- 回答日時:
なんか複雑なことを考えておられるようですが、要するにそのマクロを
使って一旦「シート3」に全項目の該当するレコードを引っ張り出し、
「シート2」は「シート3」の所要の項目を式で参照すれば済む話では
ないんでしょうか?
マクロに慣れると全部をマクロでやりたくなりますが、せっかくExcel
には「関数」という便利なものがあるんですから、使わない手はないかと。
ご回答ありがとうございます!
マクロの便利さに感動し、何でもできそうと思いましたが
確かに関数の方が向いているかもしれませんね。
複雑にすると
自分も他のファイル使用者も使いづらくなってしまいますよね。。
関数でもいろいろためしてみます!
急ぎで回答下さったのに、お礼が遅れてしまい、すみませんでした。
ありがとうございました。
No.2
- 回答日時:
>条件1の3列のみ抽出する方法
Private Sub Worksheet_Activate()
With Sheets("Sheet1")
.AutoFilterMode = False
.Range("A1:E1").AutoFilter
.Range("A1:E1").AutoFilter Field:=2, Criteria1:="役員"
.Range("A1:E1").AutoFilter Field:=3, Criteria1:="人事"
Intersect(.Range(.Range("A1"), .Range("A1").SpecialCells(xlLastCell)) _
.SpecialCells(xlCellTypeVisible), .Range("A:C")).Copy Range("A3")
.AutoFilterMode = False
End With
End Sub
一例まで。
ご回答ありがとうござます!
さっそく使用させていただきました。
助かりました!!
他のファイルでも活用できそうです^^
急ぎで回答くださったのに
お礼が遅れて申し訳ございません。
ありがとうございました。
No.3
- 回答日時:
おやまたお会いしましたね。
> 条件2.A列のデータが9行目まできたら
A列は3行目から始まるんですよね?
なら9行目とはA10セルまでという意味でいいのかな?
Private Sub Worksheet_Activate()
With Sheets("Sheet1")
.AutoFilterMode = False
lstRow = .Range("A" & Rows.Count).End(xlUp).Row
.Range("A1:C1").AutoFilter
.Range("A1:C1").AutoFilter Field:=2, Criteria1:="役員"
.Range("A1:C1").AutoFilter Field:=3, Criteria1:="人事"
.Range(.Range("A1"), .Range("C" & lstRow)).SpecialCells(xlCellTypeVisible).Copy Range("A3")
.AutoFilterMode = False
End With
lstRow2 = Range("A" & Rows.Count).End(xlUp).Row
MsgBox lstRow2
If lstRow2 >= 12 Then
Range("D3:F3").Value = Range("A3:C3").Value
Range("A12:C" & lstRow).Cut Range("D4")
End If
End Sub
merlionXXさん、こんばんは。
前回に引き続き、またご回答くださり、ありがとうございます。
さっそく使用させていただきました。
完全にマッチしてくれて、感動しました!
何度も申し訳ないのですが
1点質問です。
データが抽出されたとき
抽出数が記載されたポップアップ(エラー表示のような小さいウィンドウ)が表示されるのですが
これを表示させなくすることはできますか?
OKボタンを押せば消え、ファイルも問題なく使用できるので
もしお時間があるときに
教えていただけると幸いです。
よろしくお願いします。
No.4ベストアンサー
- 回答日時:
おはようございます、merlionXXです。
> 抽出数が記載されたポップアップ(エラー表示のような小さいウィンドウ)が表示されるのですが
それは失礼しました。
テストで確認用にわたしが余分なものをつけて、そのまま消し忘れていました。
わたしのコードの下から6行目の
MsgBox lstRow2
という一行を削除してください。
こんばんわ。
メッセージウィンドウ、表示されなくなりました^^
ちょっと調べればわかりそうな事でしたね。。
勉強します!
どうもありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Sheet2の日付をキーにオートフィルターで2023年1月のデータを抽出し、Sheet3へ書き出すた 2 2023/03/06 23:57
- Visual Basic(VBA) excelVBAについて。 4 2022/11/21 16:15
- Excel(エクセル) ExcelVBAについて。 2 2022/12/10 20:08
- Visual Basic(VBA) excelVBAについて。 1 2022/11/30 06:16
- Visual Basic(VBA) エクセル VBA 処理スピードを上げたいのですが。 6 2023/03/31 20:52
- Visual Basic(VBA) 前回質問の続きになりますが、下記マクロでシート1からシート2の抽出項目セルB3「りんご」とセルC2「 2 2022/12/02 17:37
- Excel(エクセル) excelVBAについて。 8 2022/12/11 13:47
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Visual Basic(VBA) Sheet3から2つの条件でオートフィルターで抽出した個数をSheet2へ入力するマクロで、一つ目の 4 2023/01/12 23:40
- Excel(エクセル) VBAのoffsetの動き方について教えてください 3 2022/11/25 23:36
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
回覧板の書き方について。
-
町内会で回覧板を回しますが文...
-
持って行ってもらうの尊敬語は??
-
官僚の課長クラスと対等な立場...
-
取締役は職業を聞かれた時にど...
-
欠席の場合、役員に当たっても...
-
自治会の会合の曜日と時間帯は?
-
PTA総会には今年役員になっ...
-
社内メールの各位の使い方について
-
役員の妻はパートできますか?
-
役員退職金をもらって、同じ会...
-
役職が二つ以上ある方の宛名の...
-
PTAの役員・・・辛いです
-
Commercial Directorはなんて...
-
社長の所属と役職は?
-
恥を忍んで・・・(電話応対)
-
寄付金てどう思います?
-
町内会の役員。皆、やりたくな...
-
学級委員・生徒会役員に推薦される
-
自治会の会長選出の仕方について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
役職が二つ以上ある方の宛名の...
-
町内会で回覧板を回しますが文...
-
回覧板の書き方について。
-
恥を忍んで・・・(電話応対)
-
取締役は職業を聞かれた時にど...
-
社内メールの各位の使い方について
-
自社の執行役員の敬称
-
社長の所属と役職は?
-
PTAへの宛名書き
-
従業員数の正しい数え方
-
持って行ってもらうの尊敬語は??
-
自治会の会計年度と実務的な締め日
-
町会の名義で銀行通帳を作る方法
-
PTA総会には今年役員になっ...
-
欠席の場合、役員に当たっても...
-
役員退職金をもらって、同じ会...
-
CEOって宛名書く時どう表記...
-
代表取締役の方に 殿と記入でも...
-
「相談がありましたら」を丁寧...
-
官僚の課長クラスと対等な立場...
おすすめ情報