アプリ版:「スタンプのみでお礼する」機能のリリースについて

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件)

(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の熟練者の課題だと思う。
    • good
    • 0

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さん)マクロをベースに改めて具体的なマクロの動作(設計方針)をしっかり考えて,必要に応じてまた別途ご質問を投稿してみてください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!