エクセルシートがいっぱいあります。
次のようにフォーマットされています:1:00:15
ただし、セルの形式をテキストに変更すると、時間の基になる数値表現に変更されます:0.041840278
どうすればセルをテキストセルに変換できますが、それでも時間を保持できますか?
列をコピーしてメモ帳に貼り付け、もう一度コピーしてテキストとして特別に貼り付けます
この種のExcelは常にExcelの苦痛です。Excelがセルを時間に変換すると、それらは内部的に数値として保存されるため、関数を使用して値を変換する必要があります。ここに私がそれを行う方法を知っている最良の方法があります:
時間が列1から始まる列Aにあると仮定します。セルB1に次の式を入力します。=TEXT(A1,"hh:mm:ss AM/PM")
、列Bのデータの最後まで式をドラッグします。列Bから値を選択し、コピーします。列Cに移動して[特殊貼り付け]を選択し、[値]を選択します。列Cにコピーしたセルを選択し、セルを「テキスト」としてフォーマットします。
これらの数値を時間として表示する場合は、セルの形式をTimeに変更します。
また、別のセルのテキストに変換する場合:
=TEXT(A1,"hh:mm:ss")
簡単です。 1:00:15などの時間値をテキストに変更するには、「TEXT」機能を使用できます。たとえば、時間値(1:00:15)がセル 'A1'に含まれている場合は、Text(A1、 "h:mm:ss")を実行することでテキストに変換できます。結果は同じように見えます:1:00:15。ただし、今回はテキスト値になっていることに注意してください。
以下は私のために働いた
日付変数にコピーし、format()
を使用してテキストに変換します。例:
Function GetMyTimeField()
Dim myTime As Date, myStrTime As String
myTime = [A1]
myStrTime = Format(myTime, "hh:mm")
Debug.Print myStrTime & " Nice!"
End Function