怎样使用vb对当前打开的excel操作?

我要实现这样的功能。手动打开一个的excel,使用vb程序,向excel当前选定的单元格写值。然后依次行加一,然后继续写值。最后保存excel。... 我要实现这样的功能。手动打开一个的excel,使用vb程序,向excel当前选定的单元格写值。然后依次行加一,然后继续写值。最后保存excel。 展开
 我来答
qxet
2011-08-14
知道答主
回答量:30
采纳率:0%
帮助的人:9.9万
展开全部
首先要引用EXCEL,方法 工程-引用并弯燃-microsoft excel11.0
然后写代码
'第一步 打开EXCEL
Set ex = CreateObject("Excel.Application")
Set exwbook = ex.Workbooks().add
Set exsheet = exwbook.Worksheets("sheet1")

'第二步 向EXCEL写值
ex.Range("a1").Value = "AAAA"
ex.Range("绝虚b1").Value = "BBBB"
ex.Range("c1").Value = "CCCC"
ex.Range("d1").Value = "DDDD"
ex.Cells(1,1) ="ABCD"

'第三闹如步 保存EXCEL
exwbook.SaveAs "abc.xls"
ex.quit

VB调用EXCEL还有很多功能,慢慢百度学习吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
刀成朝1
2011-07-31 · TA获得超过1334个赞
知道大有可为答主
回答量:763
采纳率:0%
帮助的人:693万
展开全部
'菜单明手“工程/引用”,勾选Microsoft Excel 11库,必须的
Private Sub Command1_Click()
Dim i As Long
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
On Error Resume Next
Set xlApp = GetObject(, "Excel.Application")
If Err.Number <> 0 Then exit sub'没有打开
Set xlBook = xlApp.ActiveWorkbook '打开的EXCEL文激轿嫌件帆闷
For i = 0 To 10
xlApp.ActiveCell.Offset(i) = i
Next i
xlBook.Save
xlApp.Quit
Set xlBook = Nothing
Set xlApp = Nothing
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cnbubble
2011-07-31 · TA获得超过2607个赞
知道大有可为答主
回答量:1990
采纳率:83%
帮助的人:762万
展开全部
Dim MyXL As Object
Set MyXL = CreateObject("excel.application") ‘这是自举燃动打开一个Excel文件
Set mybook = MyXL.Workbooks.Open("D:\ATL - 1.85 632996.xls")

'如果是处理已经打开的Excel,用:
'Set MyXL = GetObject(, "Excel.Application ")

Set mysheet = mybook.Worksheets("Raw Data")
mysheet.cells(12, 4) = "goodgood"

'当前选中单元格的行号和列号:
MyXL.ActiveCell.Row
MyXL.ActiveCell.Column

刷新应该是Excel的事情,里面有基橡 个 MyXL.ScreenUpdating属性,用=True 或 =False来正锋虚设置是否刷新
追问
'如果是处理已经打开的Excel,用:这正是我想要的,但是下面的语句总是显示“Active元件无法产生物件”,这是怎么回事呀?
'Set MyXL = GetObject(, "Excel.Application ")
保存的部分,我想实现直接保存,不要弹出对话框
使用mybook.Saved对吗?
追答
设置Mybook.Saved = True
然后
MyBook.Close
MyXL.Quit
Set MyBook = Nothing
Set MyXL = Nothing

如果不想让关闭是出现 一些提示,如“粘贴板上有大量信息……”之类的,可以用 在关闭前加上:
MyXL.DisplayAlerts =False
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
949772156
2011-07-31 · TA获得超过1963个赞
知道小有建树答主
回答量:971
采纳率:0%
帮助的人:608万
展开全部
这样的做法也可以,但是比较麻烦
追问
怎么做到呢?我已经试到了向特定单元格写值。我想怎样得到当前单元格的行列号呢?另外就是excel在vb写完值得时候能够及时刷新,让我看到变化。help,大侠。
Dim MyXL As Object
Set MyXL = CreateObject("excel.application")
Set mysheet = Nothing
Set mybook = Nothing
Set mybook = MyXL.Workbooks.Open("D:\ATL - 1.85 632996.xls")
Set mysheet = mybook.Worksheets("Raw Data")
mysheet.cells(12, 4) = "goodgood"
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式