みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセル

セル「A1」に「=if(c1<>"",now(),"")」を指定し セル「c1」に文字が入力された時 セル「A1」にその時の時間を表示し
同じ様に セル「A2」に「=if(c2<>"",now(),"")」
セル「A3」に「=if(c3<>"",now(),"")」と使いたいのですが 例えば「C3」に入力した時 A1/A2の表示時間も再計算され
A1~A3の表示が同じに成るのですが c3に入力した時に前に入力したA1/A2の時間が再計算されない方法が無いでしょうか(夫々の入力時間が違って残したいのです)
アドバイスをお願い致します

投稿日時 - 2008-11-03 11:29:00

QNo.4450192

暇なときに回答ください

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

関数では無理でしょう。再計算されると値が最新状態に変わってしましますから。

ショートカットのCtrl+;、Ctrl+:で日付、時刻を入力する方法もありますが「C列に値を入れたら自動で」とはいきません。マクロを利用するのが一般的な方法になります。「マクロはちょっと…」というのであればあきらめてください。

以下のマクロを入力するシートの「シート名タブ右クリック」→「コードの表示」で開く画面に貼り付けてください。ワークシート画面に戻ってC列に値を入れてみてください

Private Sub Worksheet_Change(ByVal Target As Range)
Dim r, rng As Range
 Set rng = Intersect(Target, Columns("C:C"))
 If Not rng Is Nothing Then
  For Each r In rng
   If r.Value = "" Then
    Cells(r.Row, "A").ClearContents
    Cells(r.Row, "A").NumberFormatLocal = "G/標準"
   Else
    Cells(r.Row, "A").Value = Date + Time
    Cells(r.Row, "A").NumberFormatLocal = "yyyy/m/d hh:mm"
   End If
  Next
 End If
End Sub

投稿日時 - 2008-11-03 12:25:25

お礼

欲しかった内容のアドバイスを有難う御座いました
マクロはN88BASICの命令語で真似事をしていますが
頂いたプログラムがこんなにスッキリ出来るのに驚いています
マクロでの質問が出来るのを教えて貰ったので
今後とも宜しくお願い致します

投稿日時 - 2008-11-03 21:55:37

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

自動再計算をしない設定にすれば値はそのまま残ります。
ただし他のセルも再計算されなくなるので注意です。

または値が入ったセルでF2→F9を押すとデータが値として保存されます。
数式は消えてしまいますが、値は固定されます。

あとはマクロで自動化ですかね。
一度作ってしまえばこっちの方が楽だと思います。

投稿日時 - 2008-11-03 11:39:09

お礼

有難う御座いました
「F2→F9」の方法は参考にさせて頂きました
マクロを組むのが最良の様子ですね 勉強します

投稿日時 - 2008-11-03 22:01:00

あなたにオススメの質問