excelの複数条件抽出をVBAでやりたいので教えてください。
エクセル2003で複数条件抽出をしたいと思っています。
dateのシートに、A列:日付、B列:名前、C列:金額があります。 それを1というシートに、日付と名前の2つの条件が合致している金額を抜き出したいと思っています。
抜き出すのは0601&AさんをA5セル~A20 0601&BさんのはB5~B20へ
ということは可能でしょうか? もしよろしければ教えていただければ助かります。
'date'シート
日付 名前 金額
0601 Aさん 100円
0601 Aさん 120円
0601 Bさん 150円
シート'1'
0601&Aさん 0601&Bさん
100円 150円
120円
どの人がやってもボタン1つで実行できるようにしたいために、
VBA出できればと思っております。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
(1)エクセルにあるフィルタオプションの設定をVBAで行う。
そのためには初心者であればーー>マクロの記録を採って勉強すること。
(2)上行から最後行までシートのデータを1つずつ読んで、そのレコード(行のこと)の列内容が
If Range(”B”& i)="前田" And Range(”A” & i)=#2011/6/11# then
(他シートなりへ、その1行転記処理)
End f
などを行う。
ーー
参考
Sub test01()
For i = 2 To 20
If Range("A" & i) = #6/13/2011# And Range("B" & i) = "前田" Then
MsgBox Range("A" & i) & Range("B" & i)
End If
Next i
End Sub
上記の20にあたる、最終行を割り出すコードなど必要だが略。
他シートへ該当分の書き出しなども必要だろうが略。
ーーー
例データ
2011/6/11
2011/6/12
2011/6/13前田
2011/6/14
2011/6/15
2011/6/13今井
2011/6/17
2011/6/18
2011/6/19
でテスト済み。
ーーー
しかし上記に付帯した修正の知識も質問者には現状無いと思われ、現状では背伸びしすぎだと思う。
VBAの本などで標準的な例題を頭に入れるのが必要と思う。
ーー
>どの人がやってもボタン1つで実行できるようにしたいために
A.ボタンのクリックイベントや
B。名前や年月日をその都度、プログラムで受け取る仕組みが必要だが、そのコードは判っているのか。
質問の表現振りからは、質問者は、他人に使わせるようなものを作る段階とは思えない。もっと修行してからの話では。
他人に使ってもらうには、色々と織り込まなければならないことがあり、VBAの熟練者の課題だと思う。
No.1
- 回答日時:
sub macro1()
worksheets("data").range("A:C").autofilter field:=1, criteria1:="=0601"
worksheets("data").range("A:C").autofilter field:=2, criteria1:="Aさん"
worksheets("data").autofilter.range.columns(3).copy destination:=worksheets("1").range("A5")
worksheets("data").autofiltermode = false
worksheets("1").range("A5") = "0601&Aさん"
end sub
sub macro2()
worksheets("data").range("A:C").autofilter field:=1, criteria1:="=0601"
worksheets("data").range("A:C").autofilter field:=2, criteria1:="Bさん"
worksheets("data").autofilter.range.columns(3).copy destination:=worksheets("1").range("B5")
worksheets("data").autofiltermode = false
worksheets("1").range("B5") = "0601&Bさん"
end sub
sub macro3()
macro1
macro2
end sub
シート上にオートシェイプの図形等でボタンを作成
右クリックしてマクロの登録で用意したmacro3を登録して完成。
#実際には
>ボタン一つで実行できるようにしたい
一体全体どんな風にして条件(0601じゃなく実際には?)を指定したいのか,そういった現実的な使い勝手について,もっと具体的な検討が必要です。
今回ご質問の条件決め打ち(0601のAさんBさん)マクロをベースに改めて具体的なマクロの動作(設計方針)をしっかり考えて,必要に応じてまた別途ご質問を投稿してみてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelのVBAを使い、複数シートの同一箇所を、同一条件にて一括でソルバーを回す方法について 1 2022/04/23 11:49
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Excel(エクセル) エクセルで割り振りをする方法 7 2022/08/02 14:02
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Excel(エクセル) 複数セルデータを別シートの単一セルにコピーしたい。(詳細をご参照ください) 1 2022/12/14 15:08
- Visual Basic(VBA) 複数シートの複数列に入力されているデータを重複なしで抽出するVBAを作りたいです。 9 2022/06/17 10:33
- Visual Basic(VBA) 複数のシートを一つのシートにまとめたい 左から3番目以降のシートのE列のセルに⚪︎が入っている行を抽 2 2022/09/18 18:42
- Excel(エクセル) エクセルの条件付き書式で*を使いたい 4 2022/05/13 16:49
- Excel(エクセル) VBA セルの値と同じ名前のシートにデータを貼り付けするやり方を教えてください 2 2022/05/17 16:26
- Visual Basic(VBA) AdvancedFilterについての質問 2 2022/07/02 22:58
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
マクロの「SaveAs」でエラーが...
-
EXCELのSheet番号って変更でき...
-
楽天RSSからエクセルVBAを使用...
-
VBAで変数の数/変数名を動的に...
-
100万件越えCSVから条件を満た...
-
VBA別シートの最終行の次行へ転...
-
Excel VBA オートフィルターで...
-
マクロ実行後に別シートの残像...
-
VBA 空白行に転記する
-
ExcelのVBマクロを、バックグラ...
-
Changeイベントで複数セルへの...
-
同じ作業(データコピー・貼付...
-
VBA 最終行を選んだシートにコ...
-
ExcelのVBA ListBox.RowSource...
-
グラフマクロで系列を変数にす...
-
1004RangeクラスのPasteSpecial...
-
Count Ifのセルの範囲指定に変...
-
Excel VBAで、散布図のデータ範...
-
VBAでEXCELから固定長...
-
VBA シリアル値から月日への変換
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
マクロの「SaveAs」でエラーが...
-
VBA 空白行に転記する
-
EXCELのSheet番号って変更でき...
-
マクロ実行後に別シートの残像...
-
VBA別シートの最終行の次行へ転...
-
Count Ifのセルの範囲指定に変...
-
Changeイベントで複数セルへの...
-
VBAで変数の数/変数名を動的に...
-
VBA 別ブックからの転記の高速...
-
【VBA】特定の条件でセルをコピー
-
VBA 実行時エラー1004 rangeメ...
-
楽天RSSからエクセルVBAを使用...
-
Unionでの他のシートの参照につ...
-
複数シートの複数列に入力され...
-
ExcelのVBマクロを、バックグラ...
-
100万件越えCSVから条件を満た...
-
VBA Userformで一部別シートに...
-
Excel VBA オートフィルターで...
-
Excel2013で切り取り禁止
-
VBAでEXCELから固定長...
おすすめ情報