Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1498 / 13644 ツリー ←次へ | 前へ→

【73996】日付を指定して別シートから抽出したい ぶたごりら 13/4/2(火) 23:07 質問[未読]
【73998】Re:日付を指定して別シートから抽出したい UO3 13/4/3(水) 11:58 発言[未読]
【74006】Re:日付を指定して別シートから抽出したい ぶたごりら 13/4/3(水) 19:20 発言[未読]
【74007】Re:日付を指定して別シートから抽出したい UO3 13/4/3(水) 20:26 発言[未読]
【74009】Re:日付を指定して別シートから抽出したい ぶたごりら 13/4/4(木) 10:28 発言[未読]
【74010】Re:日付を指定して別シートから抽出したい UO3 13/4/4(木) 10:41 発言[未読]
【74011】Re:日付を指定して別シートから抽出したい UO3 13/4/4(木) 10:53 発言[未読]
【74012】Re:日付を指定して別シートから抽出したい ぶたごりら 13/4/4(木) 11:00 発言[未読]
【74013】Re:日付を指定して別シートから抽出したい UO3 13/4/4(木) 11:10 発言[未読]
【74014】Re:日付を指定して別シートから抽出したい ぶたごりら 13/4/4(木) 11:54 お礼[未読]

【73996】日付を指定して別シートから抽出したい
質問  ぶたごりら  - 13/4/2(火) 23:07 -

引用なし
パスワード
   シートAとシートBがあり、
シートAは抽出したデータを載せる場所、
シートBは元のデータが入っています。

<シートB>
A列|B列   |C列  |D列 |E列 |
001|13/01/05|りんご|xxx1|1020|
001|13/01/30|とまと|xya1|1020|
001|13/01/30|りんご|xue2|1021|
001|13/02/25|こめ |skf1|1023|
・ |・   |・  |・ |・ |
・ |・   |・  |・ |・ |
※B列に日付、D列にはユニークな文字列が入っています
※データの最終行は決まっていません
※B列はシリアル値ではなく日付で入ってます

<シートA>
A列 |B列 |C列   ・・・H列   |I列
xxx1|1020|りんご  ・・・13/01/01|13/01/31
xya1|1020|とまと
xue2|1021|りんご
※シートAのH-I列でデータを取りたい日付を範囲指定します。
※シートBのD列=シートAのA列
 シートBのE列=シートAのB列
 シートBのC列=シートAのC列

シートAで日付の範囲を指定して、
シートBのその範囲内にある中身を反映させたいです。

日付の範囲を指定する時点で動かず諦めかけています。
よろしくお願いいたします。

【73998】Re:日付を指定して別シートから抽出したい
発言  UO3  - 13/4/3(水) 11:58 -

引用なし
パスワード
   ▼ぶたごりら さん:

こんにちは
本件、操作であれVBA処理であれフィルターオプションで容易に実行できると思うのですが

>日付の範囲を指定する時点で動かず諦めかけています。

これは、操作でやってみたけど躓いている?
それとも、VBAを書いたけどうまくいかない?

いずれかにもよりますが、前者であれば、具体的にどんな操作をやられたのかの背説明。
後者であれば、うまくいかないコードのアップ。

そして、いずれの場合でも【何が、どう うまくいかないか】の説明。

こういったことをアップいただけますか?

【74006】Re:日付を指定して別シートから抽出したい
発言  ぶたごりら  - 13/4/3(水) 19:20 -

引用なし
パスワード
   ▼UO3 さん:
すみません、操作です。
SUMPRODUCTで範囲指定して抽出しようとしたのですが、
そもそも範囲指定する日付が固定ではなく、
ある時は2/1~2/28だったり、ある時は7/1~7/31でまちまちで。
ので日付をシリアル値にして、それをSUMPRODUCTで見ようとしたのですが、、

=SUMPRODUCT((データ!$B$2:$B$11961>=H3)*(データ!$B$2:$B$11961<=J3),データ!$D$2:$D$11961)
H3とJ3には日付をシリアル値にしたのを入れています。
でユニークなD列だけをとりあえず拾おうとしています。

が、データシート(シートB)自体も最終行が時期によって変わりますので、
であればVBAで柔軟に何かできないのかしら、と。

すみません、簡単に考えすぎてますかね、、


>▼ぶたごりら さん:
>
>こんにちは
>本件、操作であれVBA処理であれフィルターオプションで容易に実行できると思うのですが
>
>>日付の範囲を指定する時点で動かず諦めかけています。
>
>これは、操作でやってみたけど躓いている?
>それとも、VBAを書いたけどうまくいかない?
>
>いずれかにもよりますが、前者であれば、具体的にどんな操作をやられたのかの背説明。
>後者であれば、うまくいかないコードのアップ。
>
>そして、いずれの場合でも【何が、どう うまくいかないか】の説明。
>
>こういったことをアップいただけますか?

【74007】Re:日付を指定して別シートから抽出したい
発言  UO3  - 13/4/3(水) 20:26 -

引用なし
パスワード
   ▼ぶたごりら さん:

こんばんは

もちろん、VBAでやれば、様々な方法で処理できますが、
とりあえず、操作で実行する案です。
データシートの1行目をタイトル行とすることが前提ですが。

・準備

 1.転記側シートのA、B,C列の1行目に、データシートから抜き出したい項目の
   タイトルをセットします。
   つまり、A1に、データシートのD1、B1にデータシートのE1、C1にデータシートのC1 と
   同じものをセットしておきます。
 2.転記側シートの H1,I1に日付を入れておきます。
 3.転記側シートの J1を空白。J2に =AND(データ!B2>=H1,データ!B2<=I1) と入れます。
 4.転記側シートを表示した状態で、データ->フィルタオプション
   ・リスト範囲(L) に データシートの A:E列
   ・検索条件範囲(C) に、転記側シートの J:J2
   ・指定した範囲(O) を選び
   ・抽出範囲(T) に 転記側シートの A1:C1
 5.これでOKボタンを押しますと抽出されます。

・一度、処理しておけば、次回、日付を変更して際抽出する際はフィルターオプションを選ぶと、
 リスト範囲以外の範囲は残っていますので、リスト範囲を指定し直し、指定した範囲(O)を選び直し、
 OKボタンを押すだけで処理されます。
 前回の抽出済みデータが残っていても自動的に消されて置き換わります。

で、VBA処理をするとしても、私なら、この方法をコード化したもので実行しますね。
どうしてもタイトル行を設けるのがいやだという場合でも、マクロの中でタイトル行を
自動生成し、実行後に削除しますね。

【74009】Re:日付を指定して別シートから抽出したい
発言  ぶたごりら  - 13/4/4(木) 10:28 -

引用なし
パスワード
   ▼UO3 さん:
ありがとうございます、、
が、フィルタオプションでやってみたのですが動きませんでした。
何も動作しません。
EXCEL2010だから、とか関係ありますか?

>▼ぶたごりら さん:
>
>こんばんは
>
>もちろん、VBAでやれば、様々な方法で処理できますが、
>とりあえず、操作で実行する案です。
>データシートの1行目をタイトル行とすることが前提ですが。
>
>・準備
>
> 1.転記側シートのA、B,C列の1行目に、データシートから抜き出したい項目の
>   タイトルをセットします。
>   つまり、A1に、データシートのD1、B1にデータシートのE1、C1にデータシートのC1 と
>   同じものをセットしておきます。
> 2.転記側シートの H1,I1に日付を入れておきます。
> 3.転記側シートの J1を空白。J2に =AND(データ!B2>=H1,データ!B2<=I1) と入れます。
> 4.転記側シートを表示した状態で、データ->フィルタオプション
>   ・リスト範囲(L) に データシートの A:E列
>   ・検索条件範囲(C) に、転記側シートの J:J2
>   ・指定した範囲(O) を選び
>   ・抽出範囲(T) に 転記側シートの A1:C1
> 5.これでOKボタンを押しますと抽出されます。
>
>・一度、処理しておけば、次回、日付を変更して際抽出する際はフィルターオプションを選ぶと、
> リスト範囲以外の範囲は残っていますので、リスト範囲を指定し直し、指定した範囲(O)を選び直し、
> OKボタンを押すだけで処理されます。
> 前回の抽出済みデータが残っていても自動的に消されて置き換わります。
>
>で、VBA処理をするとしても、私なら、この方法をコード化したもので実行しますね。
>どうしてもタイトル行を設けるのがいやだという場合でも、マクロの中でタイトル行を
>自動生成し、実行後に削除しますね。

【74010】Re:日付を指定して別シートから抽出したい
発言  UO3  - 13/4/4(木) 10:41 -

引用なし
パスワード
   ▼ぶたごりら さん:

>が、フィルタオプションでやってみたのですが動きませんでした。
>何も動作しません。
>EXCEL2010だから、とか関係ありますか?

いえいえ、こちらの環境は2010です。そこでちゃんと動きますよ。

【74011】Re:日付を指定して別シートから抽出したい
発言  UO3  - 13/4/4(木) 10:53 -

引用なし
パスワード
   ▼ぶたごりら さん:

念のためなんですが。

>データシートの1行目をタイトル行とすることが前提ですが。

個々は大丈夫ですか?

【74012】Re:日付を指定して別シートから抽出したい
発言  ぶたごりら  - 13/4/4(木) 11:00 -

引用なし
パスワード
   ▼UO3 さん:
はい、、ですが動きません。
何も起こりません。


>▼ぶたごりら さん:
>
>念のためなんですが。
>
>>データシートの1行目をタイトル行とすることが前提ですが。
>
>個々は大丈夫ですか?

【74013】Re:日付を指定して別シートから抽出したい
発言  UO3  - 13/4/4(木) 11:10 -

引用なし
パスワード
   ▼ぶたごりら さん:

わぁわぁ、ごめんなさ〜い!!
J2 の式ですが

=AND(データ!B2>=H$1,データ!B2<=I$1)

H1とI1の行を絶対指定にしてお試しください。

【74014】Re:日付を指定して別シートから抽出したい
お礼  ぶたごりら  - 13/4/4(木) 11:54 -

引用なし
パスワード
   ▼UO3 さん:
出ました!!!!!!!!
ありがとうございます!!!!!
感動しました!!


>▼ぶたごりら さん:
>
>わぁわぁ、ごめんなさ〜い!!
>J2 の式ですが
>
>=AND(データ!B2>=H$1,データ!B2<=I$1)
>
>H1とI1の行を絶対指定にしてお試しください。

1498 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free