Note: The other languages of the website are Google-translated. Back to English

Excelでダブルクリックしてセルに現在の日付/時刻を自動追加/入力するにはどうすればよいですか?

ワークシートに現在の日付または日時を頻繁に挿入する必要がある場合は、この記事の方法を試すことができます。 この記事は、ダブルクリックするだけで、指定した範囲のセルに現在の日付または日付を自動的に追加または入力するのに役立ちます。

ダブルクリックして、VBAコードで現在の日付または日時を自動追加/入力します


ダブルクリックして、VBAコードで現在の日付または日時を自動追加/入力します

以下のVBAコードを実行すると、ダブルクリックしてセルに現在の日付または日時を自動的に追加できます。 次のようにしてください。

1.指定したセルに現在の日付を挿入する[シート]タブを右クリックして、[ コードを表示 右クリックメニューから。

2。 の中に Microsoft Visual Basic for Applications ウィンドウで、以下のVBAコードをコピーしてコードウィンドウに貼り付けます。

VBAコード:ダブルクリックして現在の日付をセルに追加します

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Intersect(Target, Range("A1:B10")) Is Nothing Then
        Cancel = True
        Target.Formula = Date
    End If
End Sub

免責事項:

1.コードでは、A1:B10は現在の日付を追加する範囲です。
2.現在の日時をセルに追加する必要がある場合は、置き換えてください 日付   Now() コードで。 必要に応じて変更できます。

3。 押す 他の + Q キーを同時に閉じて アプリケーション向け Microsoft Visual Basic ウィンドウを開き、ワークシートに戻ります。

これ以降、指定した範囲A1:B10のセルをダブルクリックすると。 現在の日付または日時が自動的に入力されます。


関連記事:


最高のオフィス生産性ツール

Kutools for Excelはほとんどの問題を解決し、生産性を80%向上させます

  • 再利用: すばやく挿入 複雑な数式、チャート および以前に使用したものすべて。 セルを暗号化する パスワード付き。 メーリングリストを作成する そしてメールを送る...
  • スーパーフォーミュラバー (複数行のテキストと数式を簡単に編集できます); 読書レイアウト (多数のセルを簡単に読み取って編集する); フィルター範囲に貼り付け...
  • セル/行/列をマージする データを失うことなく; 分割セルコンテンツ; 重複する行/列を組み合わせる...重複セルを防止します。 範囲を比較する...
  • [複製]または[一意]を選択します 行; 空白行を選択 (すべてのセルは空です); スーパーファインドとファジーファインド 多くのワークブックで; ランダム選択...
  • 正確なコピー 数式参照を変更せずに複数のセル。 参照の自動作成 複数のシートに; 箇条書きを挿入、チェックボックスなど...
  • テキストを抽出、テキストの追加、位置による削除、 スペースを削除する; ページング小計の作成と印刷。 セルの内容とコメントを変換する...
  • スーパーフィルター (フィルタースキームを保存して他のシートに適用します); 高度な並べ替え 月/週/日、頻度など。 特殊フィルター 太字、斜体...
  • ワークブックとワークシートを組み合わせる; キー列に基づいてテーブルをマージします。 データを複数のシートに分割; xls、xlsx、PDFをバッチ変換...
  • 300 以上の強力な機能. Office / Excel 2007-2021 および 365 をサポートします。すべての言語をサポートします。 企業や組織に簡単に導入できます。 フル機能の 30 日間無料トライアル。 60日間の返金保証。
kteタブ201905

Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作​​業をはるかに簡単にします

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
officetab下部
コメントを並べ替える
コメント (28)
まだ評価はありません。 最初に評価してください!
このコメントは、サイトのモデレーターによって最小化されました
これを拡張してセル範囲を追加するにはどうすればよいですか? コードに範囲を指定したこれらの余分なセルを追加しました:(Target、Range( "C10:C19"、 "D10:D19"、 "E10:E19"))しかし、「引数の数が間違っているか、無効なプロパティの割り当て」と表示され、指定したコードの最初の行が強調表示されます。「Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range、Cancel As Boolean)」
このコメントは、サイトのモデレーターによって最小化されました
Joel、まだ解決策を探しているかどうかはわかりませんが、コードを変更する必要があります。

From:(Target、Range( "C10:C19"、 "D10:D19"、 "E10:E19"))
宛先:(Target、Range( "C10:C19、D10:D19、E10:E19"))

これはあなたのためにそれを行います。
このコメントは、サイトのモデレーターによって最小化されました
こんにちはニック、
この件について、あなたからアドバイスをもらいたいのですが…。
「生産性シート」と呼ばれるファイルがあります。このシートに、選択したセルに、セルがクリックされたときの実際の時間を挿入したいと思います...(可能であれば、これらのセルが欲しいです)時間が不変になっているように見えた後.....ロックされているようなものです。)
よろしくお願いします。よろしくお願いします。
ハンガリー、アッティラ
exyzee@gmail.com
このコメントは、サイトのモデレーターによって最小化されました
親愛なるアッティラ、
下のスクリーンショットを試して、クリックされたときにセルまでの実際の時間をセルティアン範囲に挿入してください。
(セルの自動ロック機能は実現できません。申し訳ありません)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.ScreenUpdating = False
交差しない場合(Target、Range( "A1:B10"))は何もありません
キャンセル= True
Target.Formula=日付
終了する場合
End Subの
このコメントは、サイトのモデレーターによって最小化されました
コードは実際に機能します...ありがとうございます...データの入力後にセルを保護するために別のコードを追加しました。 ここで問題となるのは、データを入力してセルが保護され、保護されたセルを誤ってダブルクリックすると、シート全体で上記のコードが正しく機能しないことです。 その場合は機能しません。 コードを公開するには、シートの保護を解除する必要があります。 解決策はありますか?

使用される保護コードは以下のとおりです。

プライベートサブワークシート_Change(ByValターゲットを範囲として)
範囲としての薄暗いxRg
エラーで次の再開
Set xRg = Intersect(Range( "A1:a1000、b1:b1000、G1:G1000")、Target)
xRgが何もない場合は、Subを終了します
Target.Worksheet.Unprotect Password:= "123"
xRg.Locked = True
Target.Worksheet.Protect Password:= "123"
End Subの
このコメントは、サイトのモデレーターによって最小化されました
親愛なるポール、
あなたが提供したコードを試してみます。 指定した保護セルのいずれかにデータを入力すると、ワークシート全体がすぐに保護されます。
さらに、保護されたセルをダブルクリックしても、私の場合はコードに何も変更されません。
コードで何をしようとしているのか説明していただけますか?
このコメントは、サイトのモデレーターによって最小化されました
申し訳ありませんが、私はあなたのポイントを取得します。 (上記のコードを見逃してください)
このコメントは、サイトのモデレーターによって最小化されました
作成されるダブルクリックのEnteryコードは次のとおりです。


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range、Cancel As Boolean)
交差しない場合(Target、Range( "A1:a1000"))は何もありません
キャンセル= True
Target.Formula=日付
終了する場合

交差しない場合(Target、Range( "b1:b1000"))は何もありません
キャンセル= True
Target.Formula=時間
終了する場合

交差しない場合(Target、Range( "g1:g1000"))は何もありません
キャンセル= True
Target.Formula=時間
終了する場合
End Subの
このコメントは、サイトのモデレーターによって最小化されました
親愛なるポール、
次のVBAコードを試してください。

プライベートサブワークシート_Change(ByValターゲットを範囲として)
範囲としての薄暗いxRg
エラーで次の再開
Set xRg = Intersect(Range( "A1:a1000、b1:b1000、G1:G1000")、Target)
xRgが何もない場合は、Subを終了します
Target.Worksheet.Unprotect Password:= "123"
xRg.Locked = True
Target.Worksheet.Protect Password:= "123"
End Subの

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range、Cancel As Boolean)
Application.EnableEvents = False
ActiveSheet.Unprotect Password:= "123"
交差しない場合(Target、Range( "A1:a1000"))は何もありません
キャンセル= True
Target.Formula=日付
終了する場合
交差しない場合(Target、Range( "b1:b1000"))は何もありません
キャンセル= True
Target.Formula=時間
終了する場合
交差しない場合(Target、Range( "g1:g1000"))は何もありません
キャンセル= True
Target.Formula=時間
終了する場合
ActiveSheet.Protect Password:= "123"
application.enablevents = true
End Subの
このコメントは、サイトのモデレーターによって最小化されました
範囲を更新するコードをコピーして貼り付けましたが、機能しませんでした:-(


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range、Cancel As Boolean)
交差しない場合(Target、Range( "B4:B100"))は何もありません
キャンセル= True
Target.Formula = Now()
終了する場合
End Subの
このコメントは、サイトのモデレーターによって最小化されました
良い一日、
私の場合、コードはうまく機能します。 Officeのバージョンを教えてください。
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、あなたが与えたコードはうまく機能します。 日付が入力されるまでセルに「ダブルクリックして日付を追加」というテキストを表示する方法があるかどうかだけ知りたいです。 よろしくお願いします(同僚を混乱させないように、できるだけユーザーフレンドリーなドキュメントにするようにしています)
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、上記のコードは私にとってうまくいきました。 日付が入力されるまで、セルに「ダブルクリックして日付を入力してください」というテキストを表示する方法があるかどうか疑問に思っています。 私の目標は、ドキュメントをできるだけユーザーフレンドリーにすることです。 前もって感謝します
このコメントは、サイトのモデレーターによって最小化されました
こんにちはトラビス、
セルにテキストを直接表示するようにコードを変更することはできません。 ただし、代わりに、以下の最適化されたコードはセルのコメントにテキストを表示するのに役立ち、セルをダブルクリックして日付を入力するとコメントが自動的に削除されます。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
交差しない場合(Target、Range( "A1:B10"))は何もありません
Target.NoteText「ダブルクリックして日付を追加」
終了する場合
End Subの

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range、Cancel As Boolean)
交差しない場合(Target、Range( "A1:B10"))は何もありません
キャンセル= True
ターゲット.コメント.削除
Target.Formula=日付
終了する場合
End Subの
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、

上記のコードを空白のブックに記述されているとおりにコピーして貼り付けましたが、機能しません。 私はウェブ上のさまざまな情報源を調べましたが、ほとんどのサイトは上記と同様の形式になっています。 VBAに問題があるか、一部の設定がオンになっていない可能性があります。 何かアドバイスをいただければ幸いです。 Windows365でExcelforOffice 16.0.11001.20097 MSO(32)10ビットを実行しています。
このコメントは、サイトのモデレーターによって最小化されました
コードが大好きで、うまく機能します。 ダブルクリックしてコードを実行すると、軍隊の時間で時間を表示するようにするにはどうすればよいですか?
このコメントは、サイトのモデレーターによって最小化されました
こんにちはディラン、
申し訳ありませんが、まだそれを助けることはできません。 コメントありがとうございます。
このコメントは、サイトのモデレーターによって最小化されました
シートの[フォーマット]->[数値]->[時間]オプションから、そのセルの軍用時間フォーマットを選択すると、機能するはずです。 たとえば、午後1時30分または13時30分を選択できるので、13時30分を選択するだけで十分です。
このコメントは、サイトのモデレーターによって最小化されました
そのセルのミリタリータイムフォーマットを[数値]->[タイムフォーマット]オプションから選択した場合、それを実行する必要があると思います。 たとえば、午後13時30分ではなく1時30分を選択すると、軍の​​時間で表示されます。
このコメントは、サイトのモデレーターによって最小化されました
このコードをExcelOnlineに挿入する方法があるかどうか誰かが知っていますか? デスクトップバージョンで使用していましたが、うまく機能しましたが、すべてをオンラインプラットフォームに移行し、ダブルクリックの日付とタイムスタンプが消えて、コードを表示または編集する方法がわかりません。 ありがとう。
このコメントは、サイトのモデレーターによって最小化されました
そこで、コードを挿入すると、ワークブックのいくつかのシートでうまく機能しますが、正しい範囲を入力しても、特定の行の後で突然機能しなくなるシートもあります。 なぜこれが起こるのかについての考え。
このコメントは、サイトのモデレーターによって最小化されました
これはまさに私が探していたものでした-これは時間を大幅に節約し、よく書かれた指示に感謝します。 ありがとうございました!
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、コードは私のためにたくさんのことをしました。フィールドが空白の場合にのみコードが機能するように制限するにはどうすればよいですか。 セルに日付がすでにある場合は、ダブルクリックしても何も起こりません。
このコメントは、サイトのモデレーターによって最小化されました
こんにちはアフマド、
ご迷惑おかけして申し訳ありません。 空白のセルに日付をダブルクリックして入力するだけで、次のVBAコードを適用して実行できます。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Updated by Extendoffice 20220609
    If Not Intersect(Target, Range("B1:C20")) Is Nothing Then
        If Target.Value = "" Then
            Cancel = True
            Target.Formula = Date
        End If
    End If
End Sub
このコメントは、サイトのモデレーターによって最小化されました
この機能は動作しませんでした。 ダブルクリックすると、セルの手動編集が始まります。
このコメントは、サイトのモデレーターによって最小化されました
こんにちはボブ、
私の場合、コードはうまく機能します。 Excelのバージョンなど、問題についてより具体的に知る必要があります。
また、コードは指定したセルでのみ機能します。
このコメントは、サイトのモデレーターによって最小化されました
こんにちはすべて、

そのマクロを使用して列Eをダブルクリックして日付スタンプを使用しようとしましたが、機能していますが、マクロを複製して同じことを実行しようとすると、列Fの現在の時刻では、添付されていることがわかるように機能しません次のようなエラー メッセージ: あいまいな名前が検出されました。
Sub WorkSheet パーツを別の名前に変更してセルをダブルクリックしようとしても、何も起こりません。

誰かが私を助けてくれますか?

私のコード:


Sub Worksheet_BeforeDoubleClick (範囲としての ByVal ターゲット、ブール値としてのキャンセル)
If Not Intersect(Target, Range("E1:E10000")) Is Nothing Then
キャンセル= True
Target.Formula=日付
終了する場合
End Subの

Sub Worksheet_BeforeDoubleClick (範囲としての ByVal ターゲット、ブール値としてのキャンセル)
交差しない場合(ターゲット、範囲( "F1:F10000"))は何もありません
キャンセル= True
Target.Formula = Now()
終了する場合
End Subの
このコメントは、サイトのモデレーターによって最小化されました
こんにちはルイ、
マクロを複製すると、同じ名前の XNUMX つの同じプロシージャが XNUMX つのシート コード ウィンドウに表示されます。 Excel では、モジュール内に同じ名前の関数を XNUMX つ以上使用することはできません。 イベントでもありません。 それはあいまいさにつながります。
同じイベントで別のタスクを実行する場合は、ニーズに合わせて元のコードを変更する必要があります。
次のVBAコードはあなたに有利に働きます。 ぜひお試しください。
Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Updated by Extendoffice 20221025
    If Not Intersect(Target, Range("E1:E10000")) Is Nothing Then
        Cancel = True
        Target.Formula = Date
    End If
    If Not Intersect(Target, Range("F1:F10000")) Is Nothing Then
        Cancel = True
        Target.Formula = Date
    End If
End Sub
ここにはまだコメントが投稿されていません
あなたのコメントを残す
ゲストとして投稿
×
この投稿を評価:
0   文字
推奨される場所

フォローする

著作権©の2009 - WWW。extendoffice.com。 | | 全著作権所有。 搭載 ExtendOffice。 | サイトマップ
MicrosoftおよびOfficeのロゴは、米国MicrosoftCorporationの米国およびその他の国における商標または登録商標です。
SectigoSSLで保護