Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2046|回复: 7

[已解决]各位大神关于VBA的问题

[复制链接]
发表于 2012-12-1 05:06 | 显示全部楼层 |阅读模式
1.我想在D列输入下列公式=TEXT(B1,"MM/DD/YYYY")&" "&TEXT(C1,"HH:MM:SS"),然后自动填充到D列,怎么弄
2.完成第一步后,删除A和B列。怎么弄,貌似还得消掉D列的公式只保留数值。
最佳答案
2012-12-1 11:01
  1. Sub Transform()
  2. Dim arr0, arr, i As Integer
  3. arr0 = Range("A1").CurrentRegion
  4. ReDim arr(1 To UBound(arr0), 1 To 1)
  5. For i = 1 To UBound(arr0)
  6.     arr(i, 1) = Format(arr0(i, 2), " MM/DD/YYYY ") & Format(arr0(i, 3), "HH:MM:SS")
  7. Next i
  8. Columns("A:C").Clear
  9. Range("D1").Resize(UBound(arr), 1).NumberFormatLocal = "@"
  10. Range("D1").Resize(UBound(arr), 1) = arr
  11. End Sub
复制代码

求助.zip

7.1 KB, 下载次数: 24

发表于 2012-12-1 07:42 | 显示全部楼层
Sub 填充公式()
Dim a, b
For a = 1 To Application.CountA([a:a])
Cells(a, "d") = Evaluate("=TEXT(" & Cells(a, "b") & ",""MM/DD/YYYY"")&"" ""&TEXT(" & Cells(a, "b") & ",""HH:MM:SS"")")
Next
End Sub
回复

使用道具 举报

发表于 2012-12-1 08:52 | 显示全部楼层
回复

使用道具 举报

发表于 2012-12-1 08:55 | 显示全部楼层
Sub 删除AB列()
    Columns("A:B").Select
    Selection.Delete Shift:=xlToLeft
End Sub
回复

使用道具 举报

发表于 2012-12-1 09:38 | 显示全部楼层
ppp710715 发表于 2012-12-1 08:55
Sub 删除AB列()
    Columns("A:B").Select
    Selection.Delete Shift:=xlToLeft

Sub 删除()
[a:b].Clear
End Sub
回复

使用道具 举报

发表于 2012-12-1 11:01 | 显示全部楼层    本楼为最佳答案   
  1. Sub Transform()
  2. Dim arr0, arr, i As Integer
  3. arr0 = Range("A1").CurrentRegion
  4. ReDim arr(1 To UBound(arr0), 1 To 1)
  5. For i = 1 To UBound(arr0)
  6.     arr(i, 1) = Format(arr0(i, 2), " MM/DD/YYYY ") & Format(arr0(i, 3), "HH:MM:SS")
  7. Next i
  8. Columns("A:C").Clear
  9. Range("D1").Resize(UBound(arr), 1).NumberFormatLocal = "@"
  10. Range("D1").Resize(UBound(arr), 1) = arr
  11. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2012-12-9 01:32 | 显示全部楼层

Sub 测试()
Dim i As Integer
For i = 1 To Range("a65536").End(xlUp).Row
Range("D" & i).Formula = "=TEXT(" & Range("B" & i) & ",""MM/DD/YYYY"")&"" ""&TEXT(" & Range("C" & i) & ",""HH:MM:SS"")"
Next
End Sub
我这个哪错了。 好像是公式里的Range错了吧
回复

使用道具 举报

 楼主| 发表于 2012-12-9 03:20 | 显示全部楼层
Sub j()
Range("A:A").Replace What:="AM", Replacement:=" AM"
End Sub

我用上面的公式替换  12/8/2012  12:15:45AM, 替换完成后AM 消失了。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-15 22:44 , Processed in 0.280460 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表