EXELでセルに入力した年月日時刻を記録する方法

このQ&Aのポイント
  • EXELでセルに入力した年月日時刻を記録する方法について教えてください。
  • Q&Aを参考にすると、B列に会社名、C列に部署名、D列に担当者名、E列に電話番号、F列にFAX番号を入力する形式の表を作成し、同じ行のG列からK列に変更年月日時刻を表示できます。
  • 表の内容は項目欄から始まり、行数が増えるにつれて本文が追加されます。B列からF列の内容が変更された場合に、対応する行のG列からK列に変更年月日時刻が自動的に表示されます。
回答を見る
  • ベストアンサー

EXELでセルに入力した年月日時刻を記録する方法

こんにちは。教えてください。電話・FAXの一覧表を作成するのですが,しばしば変更になるため,そこに入力されている番号が,いつ入力されたものか(いつの時点での情報なのか)が分かるように,その入力年月日時刻を表示したいです。下記のQ&Aをみて,その回答通りのことはできるのですが,自分が作りたい表に置き換えた場合,どこをどういじればよいのか分かりません。ご教示いただけましたら幸いです。 私が作りたい表は,B列に会社名,C列に部署名,D列に担当者名,E列に電話番号,F列にFAX番号を入力する形式で,2行目に項目欄を設け,3行目から本文になります(行数はどんどん増えていきます)。で,B列を変更した場合には,同じ行のG列にその変更年月日時刻を,C列を変更した場合には同じ行のH列にその変更年月日時刻を,D列を変更した場合には同じ行のI列にその変更年月日時刻を,E列を変更した場合には同じ行のJ列にその変更年月日時刻を,F列を変更した場合には同じ行のK列にその変更年月日時刻を,自動的に表示するようにしたいです。 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1219065417

  • tamu3
  • お礼率89% (133/148)

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

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

シート名タブを右クリックしてコードの表示を選ぶ 現れたシートに下記をコピー貼り付ける private sub worksheet_change(byval Target as excel.range)  dim h as range  on error resume next  for each h in application.intersect(target, range("B:F"))   h.offset(0, 5) = now  next end sub ファイルメニューから終了してエクセルに戻る B:F列に記入する。 G:K列は事前に適切にセルの表示形式を設定しておく #簡単のため「3行目以下に」の部分は省略しています #通常,ご相談の用途では「データを削除した」場合は処理をスキップするような手当をしておく事が多いですが,今回はデータ消去も変更として記録します。

tamu3
質問者

お礼

早々にありがとうございます。うまくいきました。ありがとうございます。また関連したご質問をさせていただくこともあるかも知れませんが,今後ともよろしくお願いします。

tamu3
質問者

補足

すみません。 B列の会社名の前のA列に通し番号を入力することになりそうなのですが,現状でそれをしますと,F列にA列への入力年月日時刻が表示され,もともと入力されていたF列のファックス番号が消えてしまいます。セルに入力した年月日時刻を記録する対象を,B列からF列にする(A列の入力年月日時刻は表示しないようにする)には,どのようなコードにしたら宜しいでしょうか。 また,A列の通し番号の前に更にもう一列設ける必要が出てきた場合,A列の左に列を挿入すると,現状のA列がB列に,現状のB列がC列に・・・,現状のF列がG列になりますが,その状態で,セルに入力した年月日時刻を記録する対象を,C列からG列にするには,どのようなコードにしたら宜しいでしょうか。 最後に,B列とC列の間に,入力年月日時刻を記録・表示する必要のない「会社のひらがな読み」を入力する列を設けることになった場合,B列とC列の間に一列挿入して,現状のB列はB列のまま,現状のC列はD列になりますが,その状態で,セルに入力した年月日時刻を記録する対象を,B列と(C列を飛ばして)D列からG列にするには,どのようなコードにしたら宜しいでしょうか。

その他の回答 (2)

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

はて? 捕捉のご質問を頂きましたが, >F列にA列への入力年月日時刻が表示され, >もともと入力されていたF列のファックス番号が消えてしまいます。 回答したマクロではそのようなことは起こりません。 >B列からF列にする(A列の入力年月日時刻は表示しないようにする)には, >どのようなコードにしたら宜しいでしょうか。 最初からそのように回答していますが,いったいどういう事でしょうか?ご回答をお願いします。 キチンと回答を試してみて,上手くいかない所があれば具体的に状況を添えて追加ご質問ください。 >C列からG列にするには, コードを見れば一目瞭然ですが。 変更前: for each h in application.intersect(target, range("B:F")) 変更後: for each h in application.intersect(target, range("C:G")) とするだけです。 >B列と(C列を飛ばして)D列からG列にするには 変更後: for each h in application.intersect(target, range("B:B,D:G")) とします。

tamu3
質問者

お礼

ありがとうございます。一点目の補足質問は,自分で色々いじっているうちに混同してしまったようです。教えていただいたコマンドをあらためて入力したところ,補足質問に記載したような現象はおこりませんでした。失礼しました。ほかの2点の補足質問にもご回答いただきありがとうございました。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

参考としているマクロのコードを次のようにすればよいでしょう。 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count > 1 Then Exit Sub If Target.Column = 1 And Target.Column > 6 Then Exit Sub If Target.Value = "" Then Exit Sub Application.EnableEvents = False Target.Offset(, 5) = Now Application.EnableEvents = True End Sub なおG列からJ列には#####のような表示になりますが十分に列幅を広げればよいでしょう。

tamu3
質問者

お礼

削除の場合はスキップされるところまで対応したものをご教示いただきありがとうございました。うまくいきました。また関連したご質問をさせていただくこともあるかも知れませんが,今後ともよろしくお願いします。

tamu3
質問者

補足

すみません。 B列の会社名の前のA列に通し番号を入力することになりそうなのですが,現状でそれをしますと,F列にA列への入力年月日時刻が表示され,もともと入力されていたF列のファックス番号が消えてしまいます。セルに入力した年月日時刻を記録する対象を,B列からF列にする(A列の入力年月日時刻は表示しないようにする)には,どのようなコードにしたら宜しいでしょうか。 また,A列の通し番号の前に更にもう一列設ける必要が出てきた場合,A列の左に列を挿入すると,現状のA列がB列に,現状のB列がC列に・・・,現状のF列がG列になりますが,その状態で,セルに入力した年月日時刻を記録する対象を,C列からG列にするには,どのようなコードにしたら宜しいでしょうか。 最後に,B列とC列の間に,入力年月日時刻を記録・表示する必要のない「会社のひらがな読み」を入力する列を設けることになった場合,B列とC列の間に一列挿入して,現状のB列はB列のまま,現状のC列はD列になりますが,その状態で,セルに入力した年月日時刻を記録する対象を,B列と(C列を飛ばして)D列からG列にするには,どのようなコードにしたら宜しいでしょうか。

関連するQ&A

  • エクセル 年月日が分かれてセルに入力されている日数の算出方法について

    ある期間の日数を数式で算出したいのですが、 年月日が、 A列1行目:2008、B列1行目:12、C列1行目:25、 D列1行目:2008、E列1行目:12、F列1行目:31、 のように、それぞれ分かれたセルに入力されており、 例えば、この間の日数をG列1行目に"6"といった具合に算出したいのですが、数式でうまく算出する方法が思い付きません。 (※ちなみに日付の入力方法は変更ができません。) どなたかもし良い方法をご存知でしたら、教えていただけないでしょうか? よろしくお願いいたします。

  • エクセルで10分ごとの時刻の表示 方法

    エクセルで表の送迎表をつくろうかと思っています B2セルに8:20: C2セルに8:30 D2セルに8:40 E2セル8:50 F2セルに9:00 G2セルに9:10 H2セルに9:20…… といったように 2行目に自動的に10分ごとの時刻を入力していく方法は あるのでしょうか?もし あればその方法をおおしえください また 1分ごとの方法も教えて頂けると助かります また その方法があったとして E2セルのみ8:49にしたい場合 その入力方法もあれば教えて頂けるとありがたいのですが…… 基本的なご質問で申し訳ありません  表のイメージとしては 2行目に時刻を10分ごとに入力し A列にお客様名 2行目のB列から時刻 B3 C4などには ドライバー名を入れたいと考えています 何とか あしたまでに 仕上げたいので アドバイス宜しくお願いいたします OSは VISTA でOFFICE2003です

  • エクセル 入力した年月日によって、行を入れ替えることって可能ですか?

    A列1行目:2008、B列1行目:11、C列1行目:20といったように、 セルが分かれて年月日が入力されているデータがあります。 このデータに後から下の行に入力していく年月日が、例えば、 A列2行目:2008、B列2行目:10、C列2行目:20の時、 この2行目の年月日の方が、1行目の年月日よりも先の日付となりますが、 この時、1行目と2行目を自動で入れ替えてくれるような仕組み?を 組むことは可能でしょうか? お知恵を貸して下さい。よろしくお願いいたします。

  • 携帯電話で年月日時刻を入力

    携帯電話で年月日時刻を入力  いつも、解答いただきありがとうございます。NEC VALUESTAR VL350/A WindowsXPからです。  携帯電話 ソフトバンク シャープ202SH  を使用しています。  自分の仕事のメモをメールの下書きに書き溜めているのです。  これは、これで、便利ですが、さらに、あれば、良いなと思うのは、  Windowsのメモ帳のように現在の 年月日時刻を  何かのキーの設定で、簡単に入力できたら良いのにと言う事です。  入力を始めるときに、年月日時間を時計を見ながら入力するのが、面倒で、つい入力を忘れてしまいます。  書いた日時から、書いた内容を検索したり、書いたときの日時を知りたいときに使用します。 ●(Q01)皆様の意見は、いかがでしょうか? ●(Q02)何か方法は、無いでしょうか? ●(Q03) できないのであれば、何か代替の良い方法は、無いのでしょうか?  できないのであれば、今後の改善提案としてお願いしたいです。  下書きは、メモ帳も兼ねているし、仕事の時間を管理したいときも、日時が表示されると便利です。  これは、携帯電話 ソフトバンク シャープ202SHが、固定の仕様になっていてプログラミングで自由に更新変更できないことが、障害になっています。 ●(Q04) スマホは、使用していないのですが、スマホのアプリでは、このような機能は、あるのでしょうか?  スマホは、良いと思いますが、入力が遅く、ガラ携には、遠く及びません。 ●(Q05) でも、スマホでも、ものすごい入力の早い女性や、人を見ますが、これは、慣れで克服できるのでしょうか?  たとえ一つだけでも、お知りのことがありましたらよろしく教授方お願いします。 敬具

  • 同一セルに入力した値を記録

    はじめまして。 よろしくおねがいします。 同一セル(A1とB1)にデータ(文字列)、検査値を入力します。 毎回同じセルに入力するので過去のデータが消えてしまいます。 A1のデータと4行目のセルに入力されているデータが一致する列に B2に検査値入力されるたびどんどん追加されるようにしたいです。 例 A1→あ B1→100      A B C D E F G H 4行目→あ い う え お x y z 100←ここに入力されるようにしたい。      ●←次に「あ」の検査値が入力された時は下に入力したい。 ↑のような事は出来ますか? 全くの素人なのですが上司に頼まれてしまって困っています。 どうかよろしくお願いします。 どなたか助けてください;

  • セルの値によって、入力可能なセルを動的に変更したい

    こんにちは。 Excelで、以下のような動作をしたいと考えています。 B列に入った値が'1'のときは、同じ行のC列・E列・H列にしか入力できないようにする。 B列に入った値が'2'のときは、同じ行のD列・F列・G列・H列にしか入力できないようにする。 (遷移できない列は、選択不可能とする) ある列に入力した値によって、動的にセルのロックを変更する・・・?というイメージなのですが、 具体的な実現方法がわかりません。 実現方法を教えていただけないでしょうか。 よろしくお願いします!!

  • exelでセルの個数を数えたいんですが…

     どなたか教えて下さい。エクセルでセルの個数を数えたいんですが、普段私が使っているのは、COUNTA関数で十分だったんですが、これは文字、数値、数式などが入っていれば数えてしまいますよね。下のような表があった場合の数式が入っているセルを数えないようにする関数ってあるでしょうか? B2~B4、D2~D4、F2~F4まで全て数式が入っています。数字は別表から関数を使い出した数字です。それぞれB2~B4、D2~D4、F2~F4の数字の入っているセルの個数を計算したいです。A,C,D列には一連番号が入っています。)   A   B   C   D   E   F 1 番号     番号     番号   2 1   2   4   1 7 3 3 2       5   4    8 4 3   2  6       9   1  宜しくお願いいたします。

  • 年月日+時刻で00:00のときは空白にしたい

    質問をご覧いただきましてありがとうございます。 よろしくお願いいたします。 とあるセルの書式を以下のように設定しています。   mm"月"dd"日( "aaa" )"hh:mm"着" ここに入ってくる値は、"yyyy/MM/dd hh:mm"(年月日+時刻)の場合と"yyyy/MM/dd"(年月日のみ)の場合があります。 このとき、以下のように表記を分けたいのです。 ◆年月日のみ(yyyy/MM/dd)   [入力]2001/01/01   [結果]01月01日(月) 着 ◆年月日+時刻(yyyy/MM/dd hh:mm)   [入力]2001/01/01 15:30   [結果]01月01日(月)15:30着 現在の状態は、年月日だけの入力の場合、   [結果]01月01日(月)00:00着    書式の設定上、当然のことながら上記のように時間の部分が"00:00"と表示されます。 年月日だけの入力の場合に、この"00:00"を空白に置き換えるにはどうしたらいいでしょうか?

  • エクセルで同列のセルに同じ文字セルが入らないようにする方法を教えてください

    こんにちは。いつも大変お世話になっています。 エクセルで、月ごとに、顧客別ごとの売上一覧表なるものを作成しています。 A列に顧客の名前、B,C,D,E列に品物名,F列にその合計が入るといった感じのものです。 月末に伝票を見ながら入力していくのですが、同じ人は1行にデーターを足していれています。 が、全部入力した後、うっかり同じ名前が3行に入っている、ということがあります。 そこで入力する時に、もう既にA列に入力済の名前を、なんらかの方法でチェックできるようにしたいのです。 何かよい方法はありますでしょうか? 教えて頂けると助かります。 よろしくお願いします。

  • 開始と終了の年月日入力と同時に、該当月のセルに色を表示したいです。

    A列2行目に工事開始年月(年月日の場合もあります)を入力、 B列2行目に工事終了年月(年月日の場合もあります)を入力します。 C列1行目から右隣の列へとこの先の年月だけが入力されております。 工事開始年月(A列2行目)と工事終了年月(B列2行目)を入力した時に、C列以降の列の2行目にはその期間に該当するだけ、セルが自動的に青く塗りつぶされるようにしたいのですが、この場合、C列2行目以降の列にはどんな数式を入力すれば良いでしょうか? 条件付き書式で色の表示は設定すれば良いのかなと思うのですが、 肝心な数式がわかりません。もしくは他に良い方法があるのかもしれません。 どなたかご存知でしたら教えていただけないでしょうか? よろしくお願いいたします。 イメージ 1行目  開始日  完了日    08/03 08/04 08/05 08/06 2行目 08/03/01 08/05/30     青   青   青

専門家に質問してみよう