|
たびたびお世話になっております。以前、皆様にご指導いただいて、患者データーベースが出来上がってきています。今回、このデーターベースを使用して、データーの抽出と他のワークシートへの転記をしたいと思っています。この抽出されたデーターを他のリストに使用するために、データーの抽出が必要になっています。
===========================================================
A B C D E F
1 患者ID 氏名 性別 生年月日 年齢 入院/外来
2 12345 山田 女性 ‥ ‥ 外来
3 11111 鈴木 男性 … ‥ 入院
4 22222 山下 女性 … ‥ 入院
5 33333 田中 女性 … ‥ 外来
=========================================================
上記のデーターベースより、「F」のフィールドが"入院"の場合は、"抽出入院"と言う名前のワークシートに「B」フィールドの名前のみデーターをコピーし、「F」のフィールドが"外来"の場合は、、"抽出外来"と言う名前のワークシートに「B」フィールドの名前のみデーターをコピー出来るようにしたいです。
データーベースのシートに"抽出"用のボタンを2つ作り(入院用・外来用)、適時更新できるように出来ればと思って、コードを作ってみました。
---------------------------------------------------------------------
Sub 抽出_Click()
'フィルター実行
Range("A1").AutoFilter Field:=6, Criteria1:="外来"
'コピー
Range("A1").CurrentRegion.Copy Destination:=Range("抽出外来!A1")
'フィルター解除
Range("A1").AutoFilter
End Sub
----------------------------------------------------------------------
Sub 抽出2_Click()
'フィルター実行
Range("A1").AutoFilter Field:=6, Criteria1:="入院"
'コピー
Range("A1").CurrentRegion.Copy Destination:=Range("抽出入院!A1")
'フィルター解除
Range("A1").AutoFilter
End Sub
------------------------------------------------------------------------
上記のマクロを登録してある"抽出"と"抽出2"のボタンをクリックすると、ワークシートの"抽出入院""抽出外来"の2つのシート共に、全データーがコピーされていました(入院/外来で分かれていませんでした)。
オートフィルターの機能として、「フィールドがAだったらデーターを○に転記、フィールドがBだったらデーターを△に転記」すると言うような選択は難しいのでしょうか?
また、オートフィルターで抽出されたデーターの1部分のデーターのみの転記(ここでは氏名のみの転記:山田とか鈴木とか)は出来るのでしょうか?
私の持っている本では、上記のコードレベルまでしか参考に出来ていません。一つのボタンのクリックの動作で、上記内容が出来ればいいのですが、持っている本では、一つの条件のみの抽出若しくは、複数の抽出条件(AND / ORのみ)の指定までしか書いてなかったので、やむを得ず、2つのボタンを入院抽出/外来抽出のボタンとしています。
オートフィルターでも、オートフィルター以外の機能でも構いませんので、コードやヒントを与えていただけると助かります。また、1つのボタンクリックで行いたいと思っています。
度々の質問ですみません。
|
|