请教一下Excel的VBA中怎样能把 分隔成
0:38:57 0 38 57
22:06:48 22 6 48
1:32:32 1 32 32
0:04:03 0 4 3
我想用处理字符串的方式来做,可是不行, 0:38:57这种时间格式不能转?VBA讨论好像没人去了,来这里提问。
0:38:57 0 38 57
22:06:48 22 6 48
1:32:32 1 32 32
0:04:03 0 4 3
我想用处理字符串的方式来做,可是不行, 0:38:57这种时间格式不能转?VBA讨论好像没人去了,来这里提问。
例如:将A列设置为文本,输入你上面的数字。运行下面的宏。Sub SplitTime()
Dim T As String
Dim St() As String
Dim A As Long
Dim B As Long
On Error Resume Next
For A = 1 To 100
Erase St
St = Split(Sheet1.Cells(A, 1), ":")
For B = 0 To UBound(St)
Sheet1.Cells(A, 2 + B) = St(B)
Next
Next
End Sub——————————————————————————————————————————
关键问题在于我的数据是粘贴上去的,原来列格式设置成文本,拷贝上从网页上粘贴来的
数据后列单元格式自动变成了日期或时间,用鼠标右键设单元格格式为数值或文本就不行,变成
了0.012858796这类东西!见第一行
【网页】拨号帐户使用记录______________________________________________________________________________
登录名 起始时间 终止时间 使用时长 优惠时长
*********** 2004-5-22 11:55 2004-5-22 12:14 0.012858796 0:18:31
*********** 2004-5-22 18:07 2004-5-22 18:47 0:39:52 0:39:52
*********** 2004-5-24 23:25 2004-5-24 23:33 0:07:51 0:07:51
*********** 2004-5-25 12:20 2004-5-25 12:26 0:05:25 0:00:00
*********** 2004-5-25 16:20 2004-5-25 16:33 0:13:39 0:00:00
*********** 2004-5-25 22:42 2004-5-25 23:18 0:35:23 0:18:16
*********** 2004-5-26 1:52 2004-5-26 1:59 0:06:22 0:06:22
*********** 2004-5-26 13:14 2004-5-26 13:22 0:07:54 0:00:00
*********** 2004-5-26 14:42 2004-5-26 14:46 0:04:00 0:00:00
*********** 2004-5-26 16:00 2004-5-26 16:38 0:37:07 0:00:00
*********** 2004-5-26 18:45 2004-5-26 18:50 0:05:10 0:00:00
*********** 2004-5-26 21:03 2004-5-26 21:05 0:02:11 0:00:00
*********** 2004-5-27 21:44 2004-5-27 22:05 0:21:09 0:00:00
*********** 2004-5-27 23:25 2004-5-27 23:56 0:31:05 0:31:05
*********** 2004-5-28 18:33 2004-5-28 18:39 0:06:21 0:00:00
*********** 2004-5-29 12:32 2004-5-29 12:54 0:22:11 0:22:11
*********** 2004-5-29 12:55 2004-5-29 13:20 0:24:30 0:24:30目的就是把每次上网的时间统计一下,我发现网通CNC统计的时间总是比上网计费软件每次的
时间多1~2分钟,所以想把数据贴到Excel里用vba计算一下。你可以先设单元格为时间,输入
2004-5-29 13:20然后设为文本或数值就是那样了,如能解决就可以分隔2004-5-29 13:20算
当日上网时间和累计时间了。给点思路!
如
a = Split(Range("A1").Text, ":")
MsgBox a(1)
注意:Range("A1").Text是所见所得,如列不够宽,日期显示为#####,则Range("A1").Text也得到“####”
Range("A1").Text
你的办法是可以的,可是我怎么象用Sheet1.Cells(x, 1)一样随意移动单元格?
______________________
唉!这到底是为什么??????????????????