• ベストアンサー

エクセル VBA で条件を指定する方法

日別売上集計表が1年分1枚のシートにまとめてあります。 品物は全部で5種類です。 別のシートに入力画面を作成しました。 入力画面の一番上に、対象となる日付が入っています。 入力画面に数字を入れて、ボタンを押せば、1年分の日別売上表の対象日付の部分に、数字が入るようにしたいのです。 日別売上表の方にvlookup関数を入れれば、入力画面の数字は反映されますが、それだと次データーを入力画面に入れると、消えてしまいます。 どのようにすれば良いでしょうか? うまく説明できなくてすみません・・。 よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • ASIMOV
  • ベストアンサー率41% (982/2351)
回答No.1

入力画面の日付と売上表の日付のデーター形式は同じでしょうか? 表示は別々でもかまいませんが、シリアル値なのか、文字列なのか、月と日は別のセルに入っているとかの違いは無いでしょうか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • EXCEL VBA VloopUPエラー

    お世話になります。 EXCEL VBAでVlookupを動かそうとしていますが、エラーが出てうまく動きません。 以下やりたいことと、エラーメッセジとなります。 【やりたいこと】 「生販在庫推移表」シートにある日付(Cells(1,j).Value)をキーにして、別シートの「日別商品別集計」(このシートの1列目は日付になっています)のある列(sno)の値を「生販在庫推移表」シートのあるセル(Cells(i,j).Value)に持ってきたいのです。 【エラーになっているロジック】 Worksheets("生販在庫推移表").Cells(i, j).Value = Application.WorksheetFunction.VLookup(Worksheets("生販在庫推移表").Cells(1, j).Value, Worksheets("日別商品別集計").Range("A1:BZ5000"), sno, False) 【エラーメッセージ】 実行時エラー'1004' WorksheetFunction クラスのVLookupプロパテイを取得できません。 どなたか良きアドバイスをご教授いただけますでしょうか。 よろしくお願い致します。

  • Excel VBA

    Excel VBAについて シート1にはデータが入ってます。 G列に日付、L列に商品名、N列に件数。 シート2には集計結果を入力したいです。 セルB2に、日付が10月1日から15日までで、商品名がAの件数の合計。 セルB3は、日付が10月16日から末日まで、セルB4は、日付が11月1日から15日までと半月毎に集計を半年後の末日まで繰返し、B2の数行下には、商品名Bの集計行を作り、その数行下には商品名Cの集計行を作りたいです。 これまでは関数SUMIFSで集計していましたが、複数店舗分のシートの更新・メンテナンスが大変なので、VBAでの集計を考えいろいろ調べてるのですが、方法が思い付かないので、ご教授ください。

  • エクセル数式の質問です。

    エクセルで日付別のシートが(1~31)まであります。 集計シートに日別での集計表を作っていますが、 集計シートに1日のシートの数式を=SUM('1'!$R$7:$R$8)と集計シートのB2にあります。 これを右に連続コピーでシートの2~31を作る事って出来ますか? 元の数式が変わっても構いませんのでよろしくです。 ちなみに集計シートB3には=SUM('1'!$R$9:$R$10)とあります。 1日の集計分の数式は出来てるのですがまとめて右にコピーしてシート名を一つずつ変更してます。効率のいい方法を教えてください。

  • エクセル数式の質問です。

    エクセルで日付別のシートが(1~31)まであります。 集計シートに日別での集計表を作っていますが、 集計シートに1日のシートの数式を=SUM('1'!$R$7:$R$8)と集計シートのB2にあります。 これを右に連続コピーでシートの2~31を作る事って出来ますか? 元の数式が変わっても構いませんのでよろしくです。 ちなみに集計シートB3には=SUM('1'!$R$9:$R$10)とあります。 1日の集計分の数式は出来てるのですがまとめて右にコピーしてシート名を一つずつ変更してます。効率のいい方法を教えてください。

  • エクセル vlookup

    エクセル vlookup 日付検索について。 あ 7/9  500 い 8/9  300   というシート1があり シート2で 月別の集計をしたいです。 ↓ 7月 あ  500 8月 い  300 この時の7月集計の数式は  =VLOOKUP("*/7/*",'シート2'!A1:D30,1,FALSE) 書式を日付にしても#N/Aがでてしまいます。

  • エクセル

    日毎に集計を出したいのですが、どのようにしたらよろしいでしょうか? エクセルです シート1 A列 名前 行日付 それぞれ日付ごとに数字が入ってます シート2 に 日付と名前が一致した場合に値を出したいです 合計ではなく 各人の数字です

  • excelでのシート別条件比較

    別シートでの項目の比較を行い等しければデータをコピーしたいのですがうまくいきません。教えて下さい。 現状 シート1・1日の各項目のデータ入力及び集計 シート2・31日分のデータ(シート1で入力・集計した)及び累計  シート1でのデータをシート2へコピーしています。 シート1に日付指定項目を設けて、シート2の該当日にマクロボタン で転送できるようにしたいのですが、出来ないので困っています。 シート1からシート2へコピーするマクロは作ったのですが それにVBAで日付どうしの比較を付けたいのですが構文エラー が出ます。 If Range("B1").Value & "日" = Sheets("シート2").Select Range("J2").Value Then マクロ記録のコピー処理 End If VBAど素人です。宜しくお願い致します。

  • エクセルVBAで

    1週間分のスケジュールをシートにセットするための入力フォームを作りました。 大まかには、◎年◎月◎週目と選択すると該当日(月~日)が表示され、各日に対するスケジュールを入力します。 『Cmdデータセット』と言うコマンドボタンをクリックすると該当シートにそのデータが反映されます。 シートは月間スケジュールと週間スケジュールに分かれていて、 コマンドボタンをクリックすると月間・週間のそれぞれ該当シートにデータを反映させます。・・・と言うものです。 週間スケジュールについては問題ないのですが、月間スケジュールで行き詰まってしまっています。 助けていただきたいのは・・・ 現在は”19年10月5週目”を選択していたら10月のシートを見るように設定してあります。 基本的にはこれで問題ないのですが、 例えば実際に”19年10月5週目”を選択したとします。 すると、10月29日~11月4日の日付が表示されます。 そのため、この状態だと10月1日~4日と10月29日~31日にデータが反映されてしまいます。 10月29日~31日分は10月のシートを見る(selectする)ように、11月1日~4日分は11月のシートを見る(selectする)ようにしたいのです。 月をまたがない場合は日付は必ず昇順となります。 日付が昇順の場合は現状通り選択した月のシートをselectし、 そうでない場合は1桁の数字(あるいは1~6)の分のみ 次(右隣)の月のシートをselect(ActiveSheet.Next.Select?)させたいのですが可能でしょうか? イメージとしてはselect文を条件式、「どのセルにどのスケジュールをセットするか」を実行する処理としてloopを使えたら。という感じなのですが。 VBAを独学で進めている上にまだまだ未熟のため、 馬鹿げていたりありえない話をしてしまっているかもしれませんが、何卒よろしくお願いします。

  • VBA ブック間でのVLOOKUPのような処理?

    「北海道」「東京」「大阪」「福岡」のような地域ごとのブックがあり、 それぞれのブック内にある「集計」シートのA列に日付がはいっており、 B~E列には数字が入力されています。 開かれたそれらのブックから、 B~E列を指定した日付ごとに「全地域合計」ブックに転記していきたいのですが、 どのようにすればいいでしょうか。 各地域のブックからfindでVLOOKUPのように日付を検索して その列から転記になるのかなと思ったのですが、 そもそもこのような考え方であっているでしょうか…? すみません。よろしくお願いします。

  • エクセルで条件によって、他のセルに反映させる方法

    こんにちは、教えてください 状況としては シート1のセル A1~A31に1日~31の日付 B1~B31に数字を入力 C1~C31にIFの関数で、C1ならB1に、C2ならB2に特定の数字が入力されたときにその件数を表示するようにしています そこでしたいことですが、例えばC5とC10に件数が表示されたら、シート2に件数がでた日の日付リストができるようにしたいのです うまく説明できませんが、やり方を教えて下さい。お願いします

専門家に質問してみよう