有哪位高人知道vb中怎么转换excel的格式

yaomin65 2008-11-06 03:02:59
我发现转换到excel的数据为文本格式,但我需要的是数字格式,我加了一句转换语句,但是不行
Private Sub Command2_Click()
Set xlapp = CreateObject("Excel.Application")
Set xlbook = xlapp.Workbooks.Add
Set xlsheet = xlbook.Worksheets(1)

With Adodc1.Recordset
xlsheet.Range("a1").CopyFromRecordset Adodc1.Recordset
xlapp.Visible = True
Columns("a:d").AutoFit
xlapp.columns("d").numberformat= "0"
‘这句转换语句,运行后报实时错误1004 不能设置range的numberformat属性
xlapp.Workbooks.Close
Set xlapp = Nothing
End With
End Sub
请高人指点一下,应该怎么转换格式
...全文
210 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
jhone99 2008-11-11
  • 打赏
  • 举报
回复

li1639999@163.com
发过来
yaomin65 2008-11-11
  • 打赏
  • 举报
回复
嗨,有人在吗,给指点一下啊
yaomin65 2008-11-11
  • 打赏
  • 举报
回复
多谢了,搞定了,用了一个笨方法:
xlshee.cell(i,4)=val(xlsheet(cell(i,4))
yaomin65 2008-11-10
  • 打赏
  • 举报
回复
我用的是office2003
jhone99 2008-11-07
  • 打赏
  • 举报
回复
测试了

Private Sub Command1_Click()
Dim xlapp As Excel.Application
Dim xlbook As Excel.Workbook
Dim xlsheet As Excel.Worksheet

Set xlapp = CreateObject("Excel.Application")
Set xlbook = xlapp.Workbooks.Add
Set xlsheet = xlbook.Worksheets(1)

With Adodc1.Recordset
xlsheet.Range("a1").CopyFromRecordset Adodc1.Recordset
xlapp.Visible = True
xlsheet.Columns("a:d").AutoFit
xlsheet.Range("Z1").FormulaR1C1 = "1"
xlsheet.Range("Z1").Copy
xlsheet.Columns("D").PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply, SkipBlanks:=False, Transpose:=False
xlsheet.Range("Z1").FormulaR1C1 = ""
xlsheet.SaveAs App.Path & "\test.xls"
xlapp.Workbooks.Close
Set xlapp = Nothing
End With

End Sub
jhone99 2008-11-07
  • 打赏
  • 举报
回复
程序修改了吗?
应该不是vb版本的问题,你的office是什么版本
yaomin65 2008-11-07
  • 打赏
  • 举报
回复
to jhone99
不行啊,老大,我这里还是报错:实时错误1004
类range的pastespecial方法无效,是不是我们的vb版本不同啊,我用的是6.0的
yaomin65 2008-11-06
  • 打赏
  • 举报
回复
to jhone99
也用过的,运行后报实时错误1004 不能设置range的numberformat属性
jhone99 2008-11-06
  • 打赏
  • 举报
回复
数字?整反了
xlapp.columns("d").NumberFormatLocal = "0_ "
yaomin65 2008-11-06
  • 打赏
  • 举报
回复
to doveday
看上去是数字,但excel的单元格上有一个绿三角,点上去后出现黄色惊叹号,提示此单元中数字为文本格式
yaomin65 2008-11-06
  • 打赏
  • 举报
回复
to jhone99:
用NumberFormatLocal不管用,我试了很多,"1","0000","@" ,程序是不报错了,但转换到excel的数据还是文本的
doveday 2008-11-06
  • 打赏
  • 举报
回复
不會啊,轉成XLS,還是數字格式啊
jhone99 2008-11-06
  • 打赏
  • 举报
回复
xlapp.columns("d.NumberFormatLocal = "@"

1,217

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧