コロンなしの時間の入力またはインポート(Microsoft Excel)
セルに時間を入力すると、Excelは時間の時間と分の間のコロンの存在をキー入力します。ただし、キーボード上のコロンの位置が原因で、入力する時間値ごとにコロンを入力すると、特に入力する時間値がかなりある場合は、速度が低下する可能性があります。
このため、コロンの入力をスキップして、自動的に入力するか、一度に入力するかを疑問に思うかもしれません。
それらを自動的に入力するには、もう少し作業が必要で、マクロを使用する必要があります。これについては、後ほど説明します。コロンを一度に入力するには、次のように数式を使用します。
=TIMEVALUE(REPLACE(A1,3,0,":"))
この数式は、時間値(コロンなし)がセルA1にあり、4桁で構成されていることを前提としています。したがって、セルA1に1422などの値が含まれている場合、数式は実際の時間値として14:22を返します。 (セルを時間値としてフォーマットする必要がある場合があります。)
元の入力セルに、0813ではなく813のように、3桁のみを使用する時間が含まれている可能性がある場合は、少し異なる式を使用する必要があります。
=TIME(LEFT(A1,LEN(A1)-2),RIGHT(A1,2),0)
コロンの挿入を自動的に実行したい場合は、マクロを使用できます。ワークシートに日付を追加する予定のセルの範囲を調べるマクロを作成してから、エントリにコロンを挿入できます。これは、SheetChangeイベントによってトリガーされるマクロを作成することによって行われます。次のマクロはそのようなものの1つです:
Private Sub Workbook_SheetChange(ByVal Sh As Object, _ ByVal Target As Excel.Range) Dim TimeStr As String On Error GoTo EndMacro If Application.Intersect(Target, Range("C7:D15")) Is Nothing Then Exit Sub End If If Target.Cells.Count > 1 Then Exit Sub End If If Target.Value = "" Then Exit Sub End If Application.EnableEvents = False With Target If .HasFormula = False Then Select Case Len(.Value) Case 1 ' e.g., 1 = 00:01 AM TimeStr = "00:0" & .Value Case 2 ' e.g., 12 = 00:12 AM TimeStr = "00:" & .Value Case 3 ' e.g., 735 = 7:35 AM TimeStr = Left(.Value, 1) & ":" & _ Right(.Value, 2) Case 4 ' e.g., 1234 = 12:34 TimeStr = Left(.Value, 2) & ":" & _ Right(.Value, 2) Case Else Err.Raise 0 End Select .Value = TimeValue(TimeStr) End If End With Application.EnableEvents = True Exit Sub EndMacro: MsgBox "You did not enter a valid time" Application.EnableEvents = True ActiveCell.Offset(-1, 0).Select End Sub
マクロが最初に行うことは、入力されたばかりのデータがC7:D15の範囲にあるかどうかを確認することです。そうでない場合は、マクロが終了します。また、選択されているセルが1つだけであり、セルが空でないことを確認します。これらの基準がすべて満たされている場合、マクロはセル内の値の長さをチェックし、必要に応じて先行ゼロで埋めます。このマクロは、ChipPearsonのサイトにあるマクロに基づいています。
http://cpearson.com/excel/DateTimeEntry.htm
注:
このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(2412)は、Microsoft Excel 97、2000、2002、および2003に適用されます。Excel(Excel 2007以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。
linkコロンなしの時間の入力またはインポート。