将时间字段转换为Excel中的string

我有一个充满时代的Excel表格。

它们的格式如下:1:00:15

但是,如果将单元格上的格式更改为文本,它们将更改为时间的基础数字表示forms:0.041840278

如何将单元格转换为文本单元格,但仍然有时间?

复制粘贴到记事本中的列复制粘贴为文本特殊

这种情况在Excel中总是很痛苦,您必须使用函数来转换值,因为一旦Excel将单元格转换为时间,它们将作为数字内部存储。 这是我知道如何去做的最好方法:

我假设你的时间是在第一行的第一行。在B1单元格中input这个公式: =TEXT(A1,"hh:mm:ss AM/PM") ,将公式向下拖到B列的末尾您的数据在列A中。select列B中的值,复制到列C并select“select性粘贴”,然后select“值”。 select刚刚复制到列C中的单元格,并将单元格设置为“文本”。

如果要将这些数值显示为时间,请将单元格的格式更改为“时间”。

如果您想将其转换为另一个单元格中的文本:

 =TEXT(A1,"hh:mm:ss") 

简单。 要将时间值如1:00:15更改为文本,可以使用“文本”function。 例如,如果您的时间值(1:00:15)包含在单元格“A1”中,则可以通过执行以下操作将其转换为文本:Text(A1,“h:mm:ss”)。 结果看起来一样:1:00:15。 但是请注意,这一次,它已经成为一个文本值。

下面的工作对我来说

  • 先在记事本中复制内容说“1:00:15”
  • 然后select一个新的列,你需要从记事本复制文本。
  • 然后右键单击并select格式单元格选项,并在该select数字选项卡,并在该选项卡中select选项“文本”。
  • 现在复制记事本中的内容并粘贴到这个Excel列中。 它将是文本,但格式为“1:00:15”。

复制到Datevariables,然后使用format()将其转换为Text。 例:

 Function GetMyTimeField() Dim myTime As Date, myStrTime As String myTime = [A1] myStrTime = Format(myTime, "hh:mm") Debug.Print myStrTime & " Nice!" End Function