
こんにちはsouです。Excelでちょっと困っています。「A1セルに文字を入力したときの時間をA2セルに表示する」+「A3セルに文字を入力したときの時間をA4セルに表示する」
+「A5セルに文字を入力したときの時間をA6セルに表示する」
ように複数それぞれ文字を入力した別々の時間を表示したいのですが実際やってみるとなかなか出来ませんでした。A2セルの書式をhh:mmなどにして、セルに=if(A1<>"",NOW(),"")と書きました。これで一応A1セル入力でA2セルに時間は挿入されますが、Excelの自動計算機能により、
一度閉じてまた開いた場合や他のセルで自動計算を行うような入力をした際などに時間が更新されてしまいます。時間が更新されてしまってはだめなんです。かといってツール→オプションから自動計算を手動にすると、その他の計算(例えばSUM関数など)の自動計算に影響がでて、使い勝手が違ってくるし。。。。
VBAで
Private Sub Worksheet_Change(ByVal Target As Excel.Range)Dim r As Range For Each r In Target If r.Column = 1 Then r.Offset(0, 1).Value = Format(Now, "hh:mm:ss") End If Next rEnd Sub
とネットで調べて書いてみましたが 一つのセルに文字入力したらすべてのセルに同じ時間が表示反映
されてしまいます。どうすればよろしいんでしょうか?お分かりになる方ご返答宜しく御願い致します。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
先のNo.2のコードで
Application.EnableEvents = False
︙
Application.EnableEvents = True
は無くても正しく動きますね。もちろんあっても問題ありません。
No.2
- 回答日時:
> 一つのセルに文字入力したらすべてのセルに同じ時間が表示反映
ということなので 先の kigoshi 様の回答に入力セルの制限をかければいいと思います。
例えば、A列に限るのであれば
Private Sub Worksheet_Change(ByVal Target As Range)
'
Application.EnableEvents = False
'
If Target.Column = 1 Then
Target.Offset(0, 1).Value = Format(Now, "hh:mm:ss")
End If
Application.EnableEvents = True
End Sub
とすればいいと思います。
Target.Column = 1 の値を変えれば他の列にも使えます。行を制限するのであれば Target.Row とすれば行でも使えます。
No.1
- 回答日時:
Target.Offset(0, 1).Value = Format(Now, "hh:mm:ss")のときセルの内容が変わるので、Worksheet_Changeを再度呼び出してしまうことが原因ですね。
Application.EnableEvents = False
で、イベントを抑制し、時刻を入力。
で直後にイベントを呼び出せるように
Application.EnableEvents = True
とすれば、よろしいかと。
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim r As Range
Application.EnableEvents = False
Target.Offset(0, 1).Value = Format(Now, "hh:mm:ss")
Application.EnableEvents = True
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセル初心者 3 2022/02/05 18:05
- Excel(エクセル) マクロで変数を用いてセルを選択し、そのセル内の数値を計算式に入れる方法 3 2021/12/27 22:59
- Excel(エクセル) エクセル集計後の列に商品名を入れる方法を探しています。 2 2021/12/08 20:56
- Visual Basic(VBA) 指定した条件で行セルを非表示にするVBAについて 17 2023/10/17 03:09
- Excel(エクセル) excel関数について お世話になります。上のセルに関数を入れセル右下をダブルクリックすると、関数は 4 2021/11/17 12:11
- 会計ソフト・業務用ソフト エクセルについて教えてください。 1 2021/12/03 10:08
- Excel(エクセル) エクセルの数値が正しく入力されない 6 2021/11/19 14:06
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
- Visual Basic(VBA) エクセルで、1つのセルで上書き足し算して セルの範囲を指定できますか? パソコン初心者です。 お時間 3 2023/07/05 06:13
- Excel(エクセル) EXCELで、勤務時間を計算したいのですが、関数がわかりません。 9:00~17:15迄の勤務時間な 1 2021/11/24 17:27
このQ&Aを見た人はこんなQ&Aも見ています
-
A1セルに入力したら、入力時間をA2セルに自動挿入
Excel(エクセル)
-
エクセルで入力時間を更新させずに表示させたい
Excel(エクセル)
-
マクロ無しで時間自動で記入をしていきたい
Excel(エクセル)
-
-
4
☆Excelエクセルで入力した日の日付を表示したいです☆
Excel(エクセル)
-
5
特定セルの内容を更新したら、その更新日を自動的に表示する方法について
Excel(エクセル)
-
6
エクセルで、日付を入力すると、別のセルに文字を自動的に表示させるようにするには。
Excel(エクセル)
-
7
エクセルで時刻を自動入力する方法
Excel(エクセル)
-
8
データが入力されている隣のセルに当日日付と時刻を入力するExcel VBAプログラム
Visual Basic(VBA)
-
9
vba セルに入力した時間をマクロで受け取るには?
Excel(エクセル)
-
10
◆ EXCEL自動入力日付を自動で変わらないようにする方法
Excel(エクセル)
-
11
あるセルに特定の文字列を打つと、他のセルに決められた文字が自動入力するように
Excel(エクセル)
-
12
Excelで、「特定のセル」に入力したら→「別のセル」に「○」を自動表示する方法
Excel(エクセル)
-
13
EXCEL:特定の文字が入力された日付を表示する方法
Excel(エクセル)
-
14
エクセル イベントマクロ Changeイベントを複数作りたい
Access(アクセス)
-
15
スプレッド―シートの日付の固定(TODAY、NOW関数)
Excel(エクセル)
-
16
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
17
EXCELのNOW()関数の値の固定する方法は?
Excel(エクセル)
-
18
エクセル 特定の文字を入れると他のセルの色が変わる
Excel(エクセル)
-
19
[EXCEL]ボタン押す→時刻が表に入る方法
Excel(エクセル)
-
20
ExcelでTODAY関数を更新させない方法
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
A1セルに入力したら、入力時間...
-
Excelで同じセルに箇条書きをし...
-
エクセルで既に入力してある文...
-
空白でないセルの値を返す方法...
-
Excelでセルに入力されたカラー...
-
IF関数で0より大きい数値が入力...
-
入力したところまでを自動的に...
-
Excel 大小比較演算子による「...
-
Excel:文字と数字の組合せ、次...
-
yyyy/mm/ddからyyyy/mmへの変換
-
【エクセル】指定したセルに入...
-
excel入力セルをクリックしただ...
-
参照先セルに値が入っていない...
-
excel 関数にて文字を0として認...
-
エクセル:コメントのようなも...
-
CSV出力で変換されてしまっ...
-
エクセルで、特定のセルの内容...
-
エクセルで一定の数値を超えた...
-
Excel マクロ モジュラス43 vba
-
【Excel】セル内の時間帯が特定...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで同じセルに箇条書きをし...
-
A1セルに入力したら、入力時間...
-
エクセルで既に入力してある文...
-
空白でないセルの値を返す方法...
-
入力したところまでを自動的に...
-
Excelでセルに入力されたカラー...
-
IF関数で0より大きい数値が入力...
-
yyyy/mm/ddからyyyy/mmへの変換
-
【Excel】セル内の時間帯が特定...
-
excel 関数にて文字を0として認...
-
Excel:文字と数字の組合せ、次...
-
エクセル セルに文字を入力した...
-
参照先セルに値が入っていない...
-
マクロ無しで時間自動で記入を...
-
エクセルで一定の数値を超えた...
-
エクセルの数式がかぶって、選...
-
Excel 大小比較演算子による「...
-
エクセル:コメントのようなも...
-
【エクセル】指定したセルに入...
-
エクセルで、特定のセルの内容...
おすすめ情報