• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルで業務日報を作りたい-(2))

エクセルで業務日報を作りたい

pc_knightの回答

  • ベストアンサー
  • pc_knight
  • ベストアンサー率66% (52/78)
回答No.6

#4です。「IF文で作らないと無理でしょうか?」の回答ですが、その通りで、件数入力の対象セルをA列2~4行までとD列2~3行までと指定するにはIF分が必要です。そのため数値入力が行われたセルの行番号(Target.Row)と列番号(Target. Column)の両者について条件設定を行います。 コードの変更は、次の四つです。 (1)件数入力の行われたセルから取得した列番号を代入する変数を追加し定義 この変数を仮に”clm”と定義し、二行目に「clm = Target.Column」を追加し、「rw = Target.Row: clm = Target.Column」とします。 (2)rwとclmに「A列の2行から4行までとD列の2行から3行まで」のセル条件を付与する。 その方法は前回回答の三行目のIf~からThenの手前までの条件文を、セル条件にあうよう手直しを行います。 手直し内容は、napiiさんの楽しみのために今回の回答では割愛、やられる余地を残しておきます。頑張って下さい。もしうまく行かない場合は、回答への補足欄へご記入を!! (3)月計/期計/本日の年月日を書き込むセルの列番号を書き換える。 Cells(rw, 2) → Cells(rw, clm+1)  Cells(rw, 3) → Cells(rw, clm+2) Cells(rw, 4) → Cells(rw, clm \ 4+26) (4)前回に件数入力した時の年月日取得の変更 pdate = Cells(rw, clm \ 4+26) 以上ですが、どこかのセルに、件数をインプットした本日の年月日を書き込んでおく事が月計・期計を求める上で必須で、このコードではAA列2~4行、AB2~3行を使用。「~Value = Date」が本日の年月日の書きこみです。 入力できるセルを限定するため、セルのロックとシート保護もお勧めです。

参考URL:
http://www.asahi-net.or.jp/~ef2o-inue/kihon/sub01_04.html
noname#109108
質問者

お礼

詳しくありがとうございます。 大いに参考にして、がんばって作ってみます。 また質問すると思うのでその際にはよろしくお願いします。

noname#109108
質問者

補足

お世話になってます。 頑張ってみました! (1)こんな感じで一応動きます が、これでいいのでしょうか? (2) pdate = Cells(rw, clm \ 4 + 26) で、「¥」が入ると何が違うのですか? また、4+26とする意味は?clm + 30 でも同じようになると思うのですが? 年月日の列が邪魔にならないように遠くの列にしたのは意味わかります。(あれ?そうですよね) (3)どーしてもわからないのですが、 なぜ件数をインプットした本日の年月日を書き込んでおく事が月計・期計を求める上で必須になるのでしょうか? あほですません。 なぜか教えてください。  Private Sub Worksheet_Change(ByVal Target As Range) rw = Target.Row clm = Target.Column If Target.Column = 1 And Target.Row = 2 And IsNumeric(Target.Value) = True Or _ Target.Column = 1 And Target.Row = 3 And IsNumeric(Target.Value) = True Or _ Target.Column = 1 And Target.Row = 4 And IsNumeric(Target.Value) = True Or _ Target.Column = 5 And Target.Row = 2 And IsNumeric(Target.Value) = True Or _ Target.Column = 5 And Target.Row = 3 And IsNumeric(Target.Value) = True Then pdate = Cells(rw, clm \ 4 + 26) If Month(Date) = Month(pdate) Then Cells(rw, clm + 1).Value = Cells(rw, clm + 1) + Target.Value Else Cells(rw, clm + 1).Value = Target.Value End If If Year(Date) = Year(pdate) Then Cells(rw, clm + 2).Value = Cells(rw, clm + 2) + Target.Value Else Cells(rw, clm + 1).Value = Target.Value Cells(rw, clm + 2).Value = Target.Value End If Cells(rw, clm \ 4 + 26).Value = Date End If End Sub

関連するQ&A

  • エクセルで業務日報を作りたい

    エクセルで下記のような日報を作りたいのです。 本日の欄のみ入力すると自動的に月の累計・期の累計がでるように、 また、月・期それぞれリセットできるなんらかの機能をつけたいのですが・・・   本日の件数  月の累計  期の累計     10        13       213 わかりにくくてすみません もう数日考え込んでいるのですが、いい方法がみつかりません ご存知の方、どうかよろしくお願いします。

  • エクセルにて

    いつもお世話になってます。 またまたエクセルの数式について質問なのですが・・・ 会社である表を依頼されて作っています。 毎日の業務日報で、当日の契約件数(色々な種類があるのですが)を入力していくのですが、その下に毎日の累計(9日であれば1~9日までの合計)を出したいそうです。それには累計の欄を1行追加しないと数式が入れられないと思うのですが、他にも色々な表が1ページの枠にいっぱい入ってるので人数分の行を増やすスペースがありません。 行を増やさなくても本日の数字を打ち込むとその下のセルに(前日までの累計+本日の数字)合計が表示される方法がありますでしょうか? 作成したものを添付出来ると説明しやすいのですが・・・ ご理解いただけましたでしょうか?

  • エクセルの数式教えてください

    初歩的ですみませんが、教えていただける方よろしくお願いします。 集計表(日報)を作成したいのですが・・・ 日付ごとに数量を入力すれば、累計がでる数式を教えてほしいです。

  • エクセルで日報を自動で累計させる方法は?

    1枚のシートにまったく同じ2枚の表を上下に並べて 上は当日の日報を手入力、下は日報の当月累計を 自動で表示したいのですがどうすればよいでしょうか。 (例) 【日報】5月24日  A    B    C    D    E    F 1   品名1  品名2  品名3  品名4  総計 2ア社  10   0    5   0   15 3イ社 20   10   0   15   45 4ウ社 15   0   0   0   15 ------------------------------------------------- 5総計 45 10 5 15 75 6 7【累計】5月1日~24日 8  品名1  品名2  品名3  品名4  総計 9 ア社  190 50  45 10 310 10イ社 300 100 0 50 495 11ウ社 150 0 20 15 200 ------------------------------------------------- 12総計 640 150 65 75 1005 こんな感じの表です。

  • EXCELでの日報作成についてアドバイスください。

    現在Excelで日報を作成しています。 材料の各段階での生産量や歩留りの当日の結果と累計を出したいと思っています。 今は入力用のファイルに項目をシートに分けて入力、たとえばSheet1は工程Aで生産のしたものの数値を入力といった具合です。数は1日数百程度で、日によってかなり変わります。 累計の集計は合計値にリンクを張ればいいので簡単なのですが、日当たりの参照は手動で行っています。 これを自動で参照する方法はないでしょうか。 たとえば、あるセルに日付や数字を入れると、それに対応する別のセルや行を参照する、という風にしたいのです。 抽象的でわかりにくいのですが、どうか教えていただけないでしょうか。よろしくお願いします。

  • 〆日に合わせて月ごとの日報帳をつくりたい

    毎月25日〆で 〆月ごとの日報帳を作成したいのですが、 別欄に〆月の西暦、月を入力すれば 前月26日からの日付、曜日が自動入力してくれて なおかつ土日、祝日が日付、曜日とも色がかわるようにつくりたいのですが、うまくいきません(-_-;) どなたか教えていただけないでしょうか?

  • エクセル教えてください。初心者です。

    エクセルで表をつくっているのですがわからず困っています。疑問は二つです。 (1)名簿の作成で、性別欄を作り名前ごとに「男」「女」と入力しました。男女の各人数の合計、そして、新規入力するたびに、自動的に人数合計が連動する合計欄をつくる方法を教えてください。 (2)年間の売上表を作成してます。月ごとの金額と、それまでの月毎の累計の表です。列に月、行に金額です(例えば4月100円 4月累計0円。 5月300円 5月累計400円…)。累計欄の計算式は、「+」をつかい、各月の売上欄をいちいち指定しました(c2+c4)。そうすると、まだ5月以降は売上がなく0円なので、5月以降の累計欄すべてに4月の金額がはいって、それが表示されてしまいました。 5月以降の累計欄は、各月の売上欄に記入があってから、各月の累計数を表示するようにする方法を教えてください。 用語をしらず説明がへたでわかりにくいと思うのですがよろしくお願いします。

  • EXCELのシート間でのマクロ計算

    毎日の日報をEXCELのワークシートで作成しております。日報は、その「日」の売上とその「月」の売上(累計)を出すようにしております。月の売上(累計)は、前日の売上のシート(前日分)+本日の売上のシート(本日分)で表しております。日報は、項目がたくさんあるので、月売上を出す場合、シート間での毎日の計算作業が面倒です。ですから、この計算作業をマクロで出来ればと思っております。1つのシートでマクロを使用することは解るのですが、シート間でマクロを利用するやり方がわかりません。 なにとぞ、よろしくお願いいたします。

  • 【エクセル】データ用シートを作成し、すでにあるフォーマットへデータを反映させたい。

    お世話になります。 日報を簡単に作成できないか?と言われ、試行錯誤をしている最中です。 日報へは 当日の出荷数・今月の出荷累計・当日の入荷数・今月の入荷累計等 を入力しないといけません。 入力は、PCに触ることがあまりない人もいて、 「データ入力用のシートがあって、それを入力するだけで、 日報ができたら嬉しいんですが」とのリクエストが・・・。 日報にはすでにフォーマットがあります。 新しく「データ入力用」というシートを作成し、そこへ1日から31日までの 出入荷量等の表を作成し、累計も計算できるようにし、 それらのデータを例えば6月1日とフォーマットに日付を入力すると 6月1日のデータが日報のフォーマットへ自動で入力されるというような ことはできるのでしょうか? また、できるのであれば、どのようにしたらいいのか、アドバイスいただけると嬉しいです。 説明が上手にできずに申し訳ありませんが、よろしくお願いいたします。

  • 運転日報をスマホで入力したいのですが

    紙の日報をスキャンして その記入欄にテキストボックスを挿入して そこに記入事項を入力したいのですが どのような方法がありますか? できれば作成自体からスマホだけで完結できるとありがたいです よろしくお願いします