我必须输入很多循环时间并且必须使用“:”inbetween很糟糕。此信息正在minitab中使用,因此输入的格式很糟糕。我必须在sheet1上查看26列以输入16个数据单元格。我没有每次滚动,而是在一个列中创建了一个单独的表单(2),其中16个数据单元格,所以我只能在数字键盘上输入数据。格式是hh.mm.宏然后替换“。”用“:”将其复制到适当位置的sheet1中。其他一切正常,但是当输入hh.m0时,它被转换为hh.0m ex。 (15.30在宏运行后变为15:03)虽然15.34是宏之后的15:34。如果没有零,代码工作正常。大部分代码如下。下午和我工作正常,但填写它的人没有把上午和下午放在工作表上,所以我们现在正在使用军事。我对完全不同的代码持开放态度,但这是我能想到的。
谢谢
Set w1 = Sheets("Data Collection Sheet").Cells
Set w2 = Sheets("Sheet1").Cells
For x = 8 To 15
Cells(x, 2).Activate
Cells(x, 2).Replace what:=".", replacement:=":"
'Cells(x, 2).Replace what:="p", replacement:=" pm"
'Cells(x, 2).Replace what:="o", replacement:=" am"
Next x
w1(9, 3).Value = w2(9, 2).Value
' I go on to make other cells the same value but this should give an idea
答案 0 :(得分:0)
尝试使用TimeValue函数:
a = TimeValue("15.30")
如果“15.3”是您遇到的问题,您可以在TimeValue语句之前检查并更改:
a = 15.3 'the initial value
b = a - Int(a) 'b = the fractional part
c = (b * 10) - Int(b * 10) 'c = the 2nd digit out of
'the fractional part
If c > 0 Then 'something like mm.d has been
'put in instead of mm.dd
答案 1 :(得分:0)
使用代码的替代方法是使用公式:
=TIME(INT(A1),(A1-INT(A1))*100,0)
小数点左边的数字给你一小时。小数和后面跟踪的任何内容都会给出分钟数,然后乘以100得到整数值。秒= 0。
我认为由于排除了小数,会议记录给你一个问题。 0.03
将为您03
提供3
。0.30
3
还会为0.3 = 0.30 = 0.300 = 0.30000
提供{{1}},等等。