- 締切済み
VBA 表作成 再 続
引き続きよろしくお願いします。 入力データというブックがありそこには B列に日付と曜日(日付の下)3行目~、 M列に区分(1か2が入力)3行目~、 T列に商品名3行目~、 AQ列に商品数3行目~、 BA列4行目~にコードが入力されています。 日付を入力したブックに 入力データにある、日付の部分を見て入力フォームで日付から1ヶ月の間の日付で一致すれば、商品名、コードを別ブックにある表に貼り付けます。日付部分の表に数値を商品名とコードにあわせて貼り付け、日付も、商品名もコードも同じであれば足してから表示します。 元にあるのはひとつ分しかはいらないので増えるたびに行数を挿入していくようにします。 最初にある表は B M L ・・・ 4 日付・・・ 5 曜日・・・ 6 商品名 コード 数値・・・ 7 小計・・・ 8 商品名 コード 日付・・・ 9 小計・・・ 10 合計・・・ という表になっています。上段には区分1、下段には区分2のものが入ります。 わかりますかね・・・;; 説明下手で申し訳ありません よろしくお願いします
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- pkh4989
- ベストアンサー率62% (162/260)
関連するQ&A
- VBAで表作成中解らないことだらけ・・・ひとつずつ教えてください。
ブックの種類 入力フォーム→日付を設定するフォーム画面です。 book→予め出来ている表(B5・B7・B9・B10・I5はタイトル?になります) B I L ・・・ 4 日付・・・ 5 商品名 コード 曜日・・・ 6 商品名 コード 数値・・・ 7 小計 数値・・・ 8 商品名 コード 数値・・・ 9 小計 数値・・・ 10 合計 数値・・・ 入力データ→日付(曜日)、区分、商品名、商品数、コードが表になっています。 まず入力フォームで日付をセットします。 次にbookに入力フォームで入力した日付から1ヶ月間を表示させます。 (1) 日付設定表に設定日付をキーにして入力データブックより検索 (2) 検索日付が一致すれば、該当商品名、コード、区分、商品数等を取得 (3) 区分:1の場合は、該当日付の下の6行に、区分:2の場合は、8行に設定(同一商品の場合は加算) 但し、新しい商品の場合は行を追加→ 区分:1の場合は6行以降に、区分:2)の場合は8行以降に追加する (4)区分ごとの小計を表示 (5)合計を表示 (6)bookのみ処理した日付と時間で保存 (7)入力データのブックを閉じる。 出来ているところは日付を貼り付けるまでは教えてもらいながらですができています。 明日中とのことなのでよろしくお願いします。
- ベストアンサー
- その他(プログラミング・開発)
- VBA 表作成 続続
以前何度もこの「VBA表作成」というタイトルで何度か質問させていただきました。 前回の締め切りのあと何度もデバック?やってみながら訂正してみたりしたのですが出来ませんでした。 ☆詳細(仕様?) ・入力フォームブックで日付を入力すると出力ブックに入力した日付から1ヶ月の日付が表示されます。 ・入力データブックがあり入力フォームで入力した日付から1ヶ月の日付で入力データにあるデータを貼り付けます。 ・重複したデータは足して表示させます。 ☆入力データブック ・B列に日付:日付の下に曜日が表示されています。 ・M列に区分:1か2が書いてあります。 ・T列に商品名:結合は関係ないとは思いますが、TからAPまで結合されています。 ・AQ列に数量:AQからAUまで結合されています。 ・BA列にコード:表示上記4つに比べ1行下に表記されていてBAからBDまで結合されています。 ☆出力ブック ・BからHまで結合されており、B6に商品名が表示されます。(現時点では商品1つ分しかないので増えるたびに1行ずつセルが結合され挿入されます ・IからKまで結合されており、I6にコードが表示されます。(これも上記と同じ) ・6行目~→区分1の場合・8行目~→区分2の場合に表示します。 (1)出力ブック(以下book)の表は品名とコードを表示する部分が結合されているのですが、挿入され別の値が表示となったときに結合されておらず、コードも表示されませんでした。 (2)入らないはずの所に数値が入ってしまいます。 (3)入るはずの所に値が表示されません(8行目以降の欄) ・品名:B5からH5まで結合されています。 品名が表示されるのはB6からH6までで挿入されるときも結合されて表示されたいです。 ・コード:I5からK5まで結合されています。 コードが表示されるのはI6からI6までで挿入されるときも結合されて表示されたいです。 Sub Get_nyuryoku(wDate As String, hNm As String, hCd As String, hKbn As String, s As Integer) Dim wData As Worksheet Dim i As Integer Dim mR As Long Set wData = Workbooks("入力データ.xls").Worksheets("Sheet1") With wData mR = .Cells(Rows.Count, "B").End(xlUp).Row For i = 3 To mR If .Cells(i, "B") = wDate Then '←ここで両方の日付を確認 hNm = .Cells(i, "T") ←商品名 hCd = .Cells(i, "BA") ←コード hKbn = .Cells(i, "M") ←区分 s = .Cells(i, "AQ") ←数量 Exit For End If Next End With End Sub お手数掛けますがよろしくおねがいします。 他に書かなきゃいけないことがありましたら言ってください。
- ベストアンサー
- その他(プログラミング・開発)
- 「JANコード」と「日付」で販売個数表を作成したい
エクセルで販売個数表を作成していますが、うまくいかず困っています。 Sheet1のA列に現在在庫している全ての商品のJANコード、B1~AF1にある月の1日から31日までの日付が日付データとして入っています。別ブックのSheet1にA列(販売日)、B列(JANコード)、C列(販売個数)のデータがあり、この販売個数を前述の個数表にJANコードと日付を対応させて入力したいのです。(例えばMというJANコードの品物が14日に2個売れたとしたら、MというJANコードの行の14日の列のセルに2と入れたいということです。)尚、別ブックの販売個数のデータは各商品ごとに1日の総売り上げ個数が出ているため、合算をする必要はなく、C列の数字をそのまま該当するセルに直接入れることができればOKです。 できることならマクロを使って、「別ブックを参照してデータを読み込み、販売個数表に個数を反映」させたいのですが、どのように作ったらよいのか具体的に教えていただけないでしょうか?関数を使って入力する方法もあれば是非、お願いします。
- ベストアンサー
- オフィス系ソフト
- 底値表を作る際のエクセルの計算式について
エクセルで買い物の底値表を作っています。それぞれの商品について、底値を出しているスーパーの名前を底値の横の列、その横に曜日を出したいと思っています。 1行目がスーパーの名前(6つ)です。 それぞれのスーパーの下(2行目)には、値段、日付、曜日、備考の4項目を入れています。 3行目以下に商品名(A列)と、それぞれのスーパーマーケットで売っている値段、日付などを入力します。 各商品の底値を、商品名と各スーパーの値段などの間のB列にMIN関数で返しました。 その底値の商品を売っているスーパー名を1行目から参照してC列に、曜日(それぞれの商品と同じ列にあります)をD列に反映させるには、どんな計算式を使えばよいでしょうか。
- 締切済み
- オフィス系ソフト
- VBA表作成 再
頭がこんがらがってしまい途中でしめさせていただきました。改めて整理がついたので質問をしたいと思います。 VBAを使い表を作成しています。 まず入力フォームというブックがあり、そこに入力した日付より1ヶ月分のデータを日付、曜日などを別ブックにある予めできている表に貼り付けていきます。表には31日分の表(罫線あり)が出来ています。 ☆一つ目 Datediff("d",wSh1.Range("C6"),Dateadd("m",1,wSh1range("C6"))) を使いその月の日数を求め表からいらない分の表を削除。 例えば)2/1を入力した際に31日分もいらないため2つ削除。 削除したら入力した日付から1ヶ月間の日付と曜日を貼り付ける。 表は L ・・・ 4 日付・・・ 5 曜日・・・ ・ ・ ・ のようになっています。 ここまでにいく前に次のような処理をしましたのでソースを載せます。 Private Sub CommandButton1_Click() Dim wStr As String Dim wDate As String Dim wDate2 As String Dim Exitflg As Boolean Dim i As Integer Dim wVal As Variant Dim wSh1 As Worksheet Dim wSh2 As Worksheet Dim iStartRow As Long Dim iEndRow As Long Dim wDay As Long Set wSh1 = Workbooks("入力フォーム.xls").Worksheets("日付セット") If wSh1.Range("C6") = "" Then '値が入っているか MsgBox "日付を入力してください!" Exit Sub End If wDate = Replace(wSh1.Cells(6, "C"), "西暦", "") wDate = Format(wSh1.Cells(6, "C"), "yyyy/mm/dd") If Date < wDate Then MsgBox "未来の日付入力はできません!" Exit Sub End If If DateAdd("yyyy", -1, Date) > wDate Then MsgBox "日付を今日から1年以内で設定してください!" Exit Sub End If わかりづらいかもしれませんがよろしくお願いします。
- ベストアンサー
- その他(プログラミング・開発)
- 集計表の作成
集計表の作成 AccessとExcelを使用して集計Aを作成したいと思っています。 (ボタン1クリックだけで行なうのが理想です) 1.グループ毎に小計行を追加したい(小計行はグループ毎の合計 2.エクスポートしたExcelの最終に合計行の追加したい (合計行は全グループの合計) A列はデータ数によって毎回行数が変わる為にあらかじめレイアウトを 作成して、Vlookuopで当てはめるという事も出来ません。 元となる金額のデータはAccessで作成してExcelにエクスポートする 所までは出来たのですがそれ以降(小計行の追加・計算、合計行の追加・計算)が分かりません。どの様にすればよいでしょうか? Access:仕入先テーブル コード |テキスト型 名称 |テキスト型 仕入額 |数値型 前年比 |数値型 グループ |数値型 Excel:集計A A | B | C | D | E | F | 1 |コード | 名称 |仕入額 |前年比|グループ| 2 |1030 | A | 1,000 | 49%|1 | 3 |1040 | B | 1,050 | 32%|1 | 4 | |小計(A+B) | 2,050 | 81%| 5 |1050 | C | 1,000 | 50%|2 | 6 |1060 | D | 1,050 | 52%|2 | 7 |1070 | E | 1,050 | 49%|2 | 8 | |小計(C+D+E)| 3,100|50.3%| 9 |1080 | F | 1,000 | 60%| | 10|1090 | G | 2,000 | 38%| | 11|2000 | H | 1,000 | 60%| | ・ ・ ・ ・ | |合計 | 9,150 |49% | ・・・C4+C8+C9+合計行の直前まで
- 締切済み
- その他MS Office製品
- VBA 表作成
こんにちわ。 表が完成しました。 しかし、後3つの課題が残されています。 ネットで見ても今ひとつわからなかったので再度質問させていただきました。ブックは全部で3つになります。 →入力フォーム、出力、入力 質問1 アラートは表示されずに上書きもなく保存させたいです。 ・入力フォームで入力された日付で保存。(入力する場所はC6でyyyy/m/d/という形です。) ・同じ日付の場合は上書きではなくその日付に何か解るように足せられたものが名前になるようにしたいです。 保存のやり方はわかるのですが上記2つが解りません 質問2 保存が終わって指定したブックのみ閉じたい。 ・入力データを閉じたいです。 解りづらいかもしれませんがよろしくお願いします。
- ベストアンサー
- その他(プログラミング・開発)
- 集計表をエクセルで作成したい。
エクセルで下記のような表を作成したいと思っていますが可能でしょうか、御教示お願い致します。 1.「シート1」のA列に日付・B列に客先コード・C列に客先名・D列に金額・E列に取得ポイントを入力します 2.行に発生順で入力します。その為、同じ客先コードが不規則に発生(入力)します 3.「シート2(1月分)」に、B列の客先コード別(C列に客先名も表示させる)にD列の金額・E列の取得ポイントを合計した一覧表を作成したい。 さらに、入力した時点で合計・更新をしたい 4.2月になれば「シート1」の1月分のデータを削除し2月分のデータ入力に使用したい よろしくお願い致します。
- ベストアンサー
- Windows XP
- 日付を基準に 形式の違う表にデータを反映させたい
Windows8.1を使っています。 新しい職場でデータ入力等の仕事なのですが、同じデータの入力なのに、入力する表のパターンが違うため 二度手間・三度手間なことをしています。 1つの表に入力したデータが、自動で別の表に反映させることができないかと思い、ご相談です。 自分でなんとか・・・と思いましたが、どこをどうして良いのか分からず・・・よろしくお願いいたします。 エクセルで、全く形式の違う表が別々のBookにあります。 Book(1)のシート1には、A列をあけてB列に上から日付が並んでます。 この時、同じ日付のデータ入力が多数あるので、同じ日付で12行あります。 その下に翌日の日付が12行、またその下に12行・・・といった感じです。 Book(1)シート1 A B C D E F G H I J K L M・・ 1 2014年7月 2 × 日付 得意先 現場 × × × 名前1 ◆ ◆ 名前2 ◆ ◆ ・・ 3 × 7/1 山 田中邸 ✓ TRUE 1 ✓ TRUE 1 4 × 7/1 海 鈴木邸 ✓ TRUE 2 5 × 7/1 川 林邸 ✓ TRUE 2 ~~~~~~~~ 14 × 7/1 15 × 7/2 16 × 7/2 同じ日付12行に、得意先・現場を入力。名前の列にはチェックボックスを作り、チェックしたら右横のセルに反映します。7/1のH3にチェックをしたら、◆I3はTRUEになり、◆J3に「1」と反映するようにしました。 A・E・F・G列は、また違う書式に反映するデータを入力しているので、ここでは「×」としました。 同じ日付で12行ありますが、その日の現場数が5件なら5行、10件なら10行の入力です。 このシート1の表を基に、Book(1)のシート2には、シート1のチェックボックスの結果が反映するようにしました。 チェックボックスにチェックをしてTRUEになった行の「日付」「得意先」「現場」を、名前ごとに見られるような表です。(これは、作っておくと後々楽かなあという軽い気持ちで作りました。) Book(1)シート2 A B C D E F G H I ・・・ 1 日付 得意先 現場 日付 得意先 現場 日付 得意先 現場・・・・ 2 7/1 山 田中邸 7/1 山 田中邸 3 7/1 川 林邸 7/1 海 鈴木邸 4 5 ものすごく見づらくて分かりづらいと思いますが、Book(1)のシート1のH3にチェックをしたら、シート1のB3・C3・D3のデータが シート2のA・B・C列に反映します。シート1のK列にチェックしたら シート2のD・E・F列に。シート1のN列にチェックしたら シート2のG・H・I列に。 シート1の名前1さんのデータは、シート2のABC列、名前2さんはDEF列、名前3さんはGHI列、といった感じです。 問題はここからで、このBook(1)のデータをBook(2)の表に自動で反映できないものかと。。。 Book(2)の表がまた全然違う表なんです。 Book(2) A B C D E F G H I J K 1 2 3 日付 曜日 名前1 名前2 名前3 名前4 名前5 名前6 4 6/21 5 6/22 6 6/23 ~~~~~~~~~ 14 7/1 15 7/2 16 7/3 このBook(2)の日付と名前の交わるセルに、Book(1)シート1もしくはシート2の「得意先」「現場」のデータを反映させたいのです。 Book(1)シート1もしくはシート2の日付と Book(2)の日付を連動させて・・・ ややこしいんですが、Book(1)は日付が1日~末日。Book(2)は21日~翌20日。 Book(1)は一月分のデータ(あるのはシート1・シート2くらい)、Book(2)は一年分のデータ(シートが月で分かれていて、シートが2014.1 2014.2 2014.3 2014.4・・・というようになっています。 Book(2)は昔からこの表でやってきたので、基本の形は変えたくないようです。 ただ、Book(2)の表は入力するセルが各一つしかないので、見た目は同じようにしながら作り直そうかと思ってます。 どうか、ご指導・アドバイス等お願いいたします。 知識がないばっかりに、分かりづらく、説明も下手くそですみません。 そして、画像の貼付に何度も失敗し、手入力の見づらい画面ですみません(T T))
- 締切済み
- Windows系OS
- エクセル2010 表の作成、コピペについて
1つのシートに30社の業者に依頼している商品リストがあります。 それには業者名、商品名、寸法、価格、発注数が記載されています。 それを業者ごとに分けて作成します。 表は10行ごとに太い線をひきます。 1ページに31行です。 31行目は小計もしくは合計です。 2ページ、3ページと同じように続きます。 業者によってページ数はさまざまです。 フィルタをかけたデータを一社ずつコピー後、表に値貼付をしています。 しかし、データによっては数値が赤になっていたり取り消し線また太字になっています。 それに気づかずすべてを値貼付してしまい、すべての書式がきえてしまい、後で ひとつずつ書式を直していきました。 10行ごとに太線をひいた表をそのまま用いるためには値貼付をしないと私はうまく できません。。。 表はそのまま使い、データもそのまま貼り付ける方法を御教授ください。 宜しくお願い致します。
- 締切済み
- Excel(エクセル)
補足
失礼しました!! そのとおりです!! 入力データの日付はmm/ddの設定になっています。 MではなくコードはI列になります。 言葉足らずですみません・・・ (3) 区分:1の場合は、該当日付の下の6行に、区分:2の場合は、8行に設定(同一商品の場合は加算) 但し、新しい商品の場合は行を追加→ 区分:1の場合は6行以降に、区分:2)の場合は8行以降に追加する このことを言いたかったんです。 小計と合計は確かに変わってしまいます・・・。 どうしたらいいのでしょうか・・・ 貼り付けはLoopで出来るような気がするんです。 説明が下手ですがご教授お願いします。