• 締切済み

エクセルでのセルへ入力日の記録方法に関して

社員からの毎月の営業件数を入力と最後に入力した記録をセルの残したいのです。 A1に社員から日々の営業件数を毎日もしくは2~3日お気に件数を常に入力してもらう。 (1か月1ファイル単位で保存) B1に入力した日(入力変更が発生した日)を月日を自動で記録 という共有ファイルを考えております。 VBA関係が全然わからないので、関数でできるでしょうか? 関数もあまり知らないので、何か案があれば教えてください。 よろしくお願いします。 使用しているエクセルは2010です。

noname#244756
noname#244756

みんなの回答

回答No.3

お勧めなのは、各社員さんが記録すべき情報の一つに、「記入日」を追加することです。 それが業務なのであれば、別に皆さん、きちんと作業してくれるでしょう。何でしたら、質問者さんが記入例の 1 行でも書いておけば、皆さんそのとおりに記入できるでしょう。 当日の日付は、Ctrl+;、Ctrl+C、Ctrl+V、Ctrl+D といったショートカットキーを知っている人ならば一瞬で記入・コピーできますし、知らないとしても簡単なマウスの操作だけでコピーできるのですから、さして大きな負担とも思えません。 マクロによってご質問のことを実現するとしたら既出のご回答のとおりになるのですが、マクロはある程度、固定的な業務として確立されている作業に対して適用するのがよいでしょう。様式の変更など、Excel ファイルに何らかの修正を加えるときは、マクロのコードのメンテも考えなければならないこともあるでしょう。今のところそのシステムが、Excel にあまり詳しくない質問者さんの頭の中で思い付いただけの段階に過ぎないものなのであれば、まずは実際に、記入用の表を用意するところから始めてみてはいかがでしょう。近くに Excel に詳しそうな方がいるようなら、是非、相談しながら進めてみてください。 なお、記入する社員さんが何名くらいなのか、1 日に何行くらいのペースで記録していくのか、あるいは 1 日に紙 1 枚といったイメージなのか分かりませんが、「1か月1ファイル」という方式は、お勧めしにくいです。「1 年で 1 シートに全員分を記録」とか「数年で 1 シートに全員分を記録」という形で残しておくほうが、後から何でもできます。データがバラバラになっていてもスキルのある人ならばいろんな力技で何とかくっつけることができるかもしれませんが、少なくとも処理しやすいということはないです。

noname#244756
質問者

お礼

返信が大変遅くなってしまい申し訳ありません。 ご回答を大変ありがとうございます。

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.2

入力欄を固定して、勝手に記録が残って欲しいご相談ですね。初心者さんがよく思いつく「ヤリタイ事」ですが、基本的にエクセルはそういう使い方をするソフトではありません。 1.基本的な使い方 A列に日付列、B列に記録列として、上から順に日付とその日の記録を記入、一覧表形式で記録を羅列します 2.業務用の使い方 日報記録用紙をテンプレートとして作成し、毎回新しい記録票を立ち上げて記入、今日の名前を付けて保存します テンプレートとして保存とは、名前を付けて保存でファイルの種類をエクセルテンプレート形式にして保存することです 3.上級レベルの使い方 マクロとか、あるいはアクセスなどのソフトをバリバリ使いこなして、「記入画面(ダイアログみたいなものです)」を作成し「データ蓄積」をします。 ご相談の書き振りはこのレベルを求めていますが、正直実力は到底及んでいない状況です。こんなところで誰かにちょこちょこっと作り方を教わっても、正直実用には堪えません。 手順: シート名タブを右クリックしてコードの表示を選ぶ 現れた画面に下記をコピー貼り付ける private sub Worksheet_Change(byval Target as excel.range)  if target.column <> 1 then exit sub  if target.count > 1 then exit sub  if target = "" then exit sub  range("B1") = now end sub ファイルメニューから終了してエクセルに戻る B1セル(B列)に日付(または年月日時分)の書式設定をしておく A1セル(A列)に記入すると、B列に記入日時が自動記入される。

noname#244756
質問者

お礼

返信が大変遅くなってしまい申し訳ありません。 お回答を大変ありがとうございます。 試してみたところ、そのとおりに表示されました。 ありがとうございます。 お礼方々で恐縮ではございますが、もう1点質問 がございます。 入力と出力を任意のセルにしたい場合、記述の 何処をどのようにすればよろしいでしょうか? よろしくお願いします。

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.1

関数では無理です。 エクセルのシートの見出し(シート名部分)を右クリックして、コードを表示させ、その画面に、以下のマクロを貼り付ける。(データ入力完了後、名前を付けてファイルを保存) Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count > 1 Then Exit Sub If Target.Column <> Range("A:A").Column Then Exit Sub If Target.Value = "" Then Exit Sub Target.Offset(, 1).Value = Now End Sub

noname#244756
質問者

お礼

返信が大変遅くなってしまい申し訳ありません。 お回答を大変ありがとうございます。 試してみたところ、そのとおりに表示されました。 ありがとうございます。 前の方と記述内容がちょっと違うのに同じように 出るのは驚きです。 お礼方々で恐縮ではございますが、もう1点質問 がございます。 入力と出力を任意のセルにしたい場合、記述の 何処をどのようにすればよろしいでしょうか? よろしくお願いします。

関連するQ&A

  • excelのセルに追加で数字を入力するには

    エクセルのセルの入力してある数字の頭に追加で数字を入力できる関数はありますでしょうか? 手入力では量が膨大ですので何かいい案があれば教えて頂きたいです。 尚、私はVBAは使えません。 例 セルA1に100と入っている その100の頭に9を追加したい→9100としたい 宜しくお願い致します。

  • Excelでセルに入力するとVBA関数が呼び出される

    標記件、あるExcelファイルでセルに入力を行うと、入力後にVBAのある関数が自動で呼び出されるのですが、どこでこの設定を行う事ができるのでしょうか? VBAをOPENし、"ThisWorkbook"と"Sheet"内を開いても、何も記述はありません。通常はここで設定を行うと思うのですが・・・ (SelectionChangeなどで。) なお、呼び出される関数は、標準モジュール内に入っています。 以上、よろしくお願い致します。

  • あるセルにデータが入力された日を表示

    A列(A1)のセルにデータが入った場合、D列(D1)にそのセルに データが入力された日付を表示させたいのですが、どのように やったらいいでしょうか?TODAY関数を使うと毎回更新されて しまいます。 TEXT関数+TODAY関数で出来るかな?と思ったのですが、 =TODAY()を使うとセルに入力された日でなくて、ファイルを開いた 日付に毎回更新されてしまいます。 A列のセルにデータが入った時にD列にその入力日を表示させたい のです。こういう事は簡単に関数を使って出来ませんか?わかる方 がいれば教えてください。

  • エクセル関数のセル参照方法

    エクセル関数のセル参照で、あるセルに入力した数値を、参照するセルの行番号として使いたいのですがどうしたらよいのでしょうか? VBAではそのような方法があったと思うのですが、関数で処理する方法はあるのでしょうか? たとえば、 =SUM(C5:C*) のような関数で「*」を他のセルに入力して参照させることは可能でしょうか? よろしくお願いいたします。

  • excelで入力されてる一番下のセルだけを消したい

    エクセルでいちばん下に入力されているセル(最新のセル)を ラクに消す方法はないでしょうか? 現在はファイルを開いた状態で ctrl+↓で最新のセルまで行って削除→ctrl+↑で戻ってくる という方法で作業しています これをマクロやVBAを使って簡略化することは可能でしょうか? ※ファイルごとに入力されてる数が違うので毎回セル数は違う数 ご回答、よろしくお願いいたします。

  • VBAからファイルをセル入力から開く方法

    VBAからファイルをセル入力から開く方法 だれかご教授頂けませんでしょうか?VBAからエクセルファイルを開こうとしています。 そこでシート1のA1セルにファイル名を記述してあり、そのファイル名からファイルを開く事は出来ますでしょうか? 何か良い方法がありましたら教えて頂きたいのですが。

  • エクセルVBA、セルのコピー

    VBAにて あるセルに何かを入力した瞬間に、そのセルの内容をコピーし違うセルに貼り付ける という事を実装したいです。 (セルが変更された時に)入力した時に実行されるというVBAはわかりました。 わからないのは、 「入力したセル」をコピーし、違うセルに貼り付ける というところなのですが・・・ ちなみに、貼り付ける場所の指定や入力したセルの内容、などなど かなり条件があるので、関数はで厳しいのでVBAにてお願いいたします。 よろしくお願いいたします!

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

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

  • エクセルで既に数値の入力されているセルに一括で文字を入力したい

    よろしくお願いします セル列に 101 102 103 と入力されているところに 一括で ”号室”を加え 101号室 102号室 103号室 としたいのですが、教えていただけませんでしょうか VBAはよく分からない為、できれば関数やアドインであれば何とかできる程度です。 よろしくお願いします。

  • Excelでセルが空白のときの値

    分かりづらいタイトルですみません セルに何も入っていないときは「未入力」と表示され 入力データを消したときにまた「未入力」と表示されるように したいのですがどうしても思いつきません。 できれば、関数の入っているセルも同様のことをしたいと思っています。(やはりVBAとかになるのでしょうか?) 申し訳ありませんが、よろしくお願いします

専門家に質問してみよう