谁知道 怎么把EXECL文件中的一个工作表 复制到 新建execl文件的工作表中去呢!
解决方案 »
- vb6 socket tcp通讯,发送与接收字节不符
- 请教一个数据库乱码问题!
- 如何改变组合框中某一条记录的颜色或字体,当点击该组合框时可以看到该记录与其它记录有区别
- 求助:Data.Recordset.FindFirst 与Ado的转换?
- 大家谁知道有没有好用点的管理VB工程的工具??谢了
- 谁有问题到这里提问!我替你们解帖.(无聊中)
- 两表之间的判断
- 特急!!!关于EXCEL(解决马上给分)
- 关于从SOCKET接收文件数据并写入新文件的问题
- 各位大虾,请问用图片作为列表框的内容是怎实现的
- vb将excel导入access
- 怎么两种锁住文本框禁止输入的办法,对于连接数据库的文本框都不怎么好用啊!
把BOOK1中的SHEET1复制到BOOK2中,操作如下:
1)用EXCEL打开BOOK1和BOOK2;
2)选中BOOK1,MOUSE右键选中SHEET1,将自动弹出一个菜单;
3)在菜单中选择“移动或复制”,又弹出移动或复制的选择框;
4)选择目标为BOOK2,同时选中“保留副本”选项;
5)“OK”执行即可。
我做的是一个报表,在VB程序中。我想通过代码,完成这个操作。
即:怎么把EXECL文件中的一个工作表 复制到 新建execl文件的工作表中去呢不过,还是写谢哥们了
哥们能不能 把这个语句的代码写的完全点呢!就是把A.xls 中的 表 copy到 新建的一个execl.xls 中去呢!跪谢~~~~!
Set xlapp = GetObject(, "excel.application")
xlapp.Workbooks("A.XLS").Worksheets(1).Copy
Set xlapp = Nothing
这句xlapp.Workbooks("A.XLS").Worksheets(1).Copy 显示 下界越限
原理是这样的:你打开一个工作表的sheet,输入数据,然后保存xlsbook.save
这样就把你输入的数据存入了原表
这时候利用xlssheet.copy方法
这样以来,就相当于产生了另外一个新的workbook对象,且处于active状态
再保存excelApp.activeworkbook.saveas "路径"
代码如下,自己好好理解一下吧
我的代码是在c盘放个excel文件1.xls
先引用excel 11.0Dim app As New Excel.Application
Dim xlsBook As New Excel.Workbook
Dim xlsSheet As New Excel.WorksheetSet xlsBook = app.Workbooks.Open("c:\1.xls")
Set xlsSheet = xlsBook.Worksheets("abc")
xlsSheet.Copy
app.ActiveWorkbook.SaveAs "c:\2.xls"
xlsBook.Close
app.Quit
Set app = Nothing
Set xlsBook = Nothing
Set xlsSheet = Nothing把以上代码放到一个过程里面就可以了
那就操作
反正最后再copy
然后saveas
With xlsApp
.Visible = True
.Workbooks.open FileName:=(App.Path & "\BOBDATA.xls") '打开一篇文档
.Cells(2, 3).Value = Text6.Text
.Cells(3, 3).Value = Text7.Text
.Cells(2, 5).Value = Text8.Text
......
End With我现在换成楼上哥们说的那种方法试试看。。我加你好友了哥们。。随时交流哦~~!
我对操作Execl 不是很深入,目前就到这种程度。。985哥们 我已经加你了。有些不明白的 还想向您请教。我不能很好的把你给我提供的代码,和我自己的代码结合。不是很懂。。求:指教
-----------------------------------------------
Dim xlapp As Excel.Application
Set xlapp = GetObject(, "excel.application")
xlapp.Workbooks("A.XLS").Worksheets(1).Copy
Set xlapp = Nothing
-----------------------------------------------不过复制的那句似乎有点问题,稍微修改下
Dim xlapp As Object
Dim xlsapp As Object
Set xlapp = GetObject(pathname & "A.xls") 'pathname为路径,A.xls为需要复制的文件
Set xlsapp = CreateObject("excel.sheet") '新建一个Excel工作簿
xlapp.worksheets(1).Copy before:=xlsapp.worksheets(1) '将A.xls的第一张工作表复制到新建的Excel工作簿的第一张工作表之前
xlsapp.SaveAs pathname & "1.xls" '将新建的工作簿存贮到指定路径的1.xls
Set xlsapp = Nothing
Set xlapp = Nothing
中间很多东西可以完善和修改。
我也是这两天才涉及到Excel和VB的应用,呵呵,以前也没学过编程,不是很懂,希望各位大虾们指教下。
把 Set xlsapp = CreateObject("excel.sheet") 改成 Set xlsapp = GetObject(pathname & "1.xls")
把 xlsapp.SaveAs 那句改成 xlsapp.Save
就行了,不知道对不对,^_^
另外,我之前的代码已经命名了xlsapp了,在声明就重复了,所以我方在另外的按钮里。请问我怎么放到一个命令里呢!execl实在不太懂。望大虾们指教啦!而且我是不是应该先引用excel 11.0?怎么引用啊!在部件中吗?我没找到啊!
With xlsApp
.Visible = True
.Workbooks.open FileName:=(App.Path & "\BOBDATA.xls") '打开一篇文档
.Cells(2, 3).Value = Text6.Text
.Cells(3, 3).Value = Text7.Text
.Cells(2, 5).Value = Text8.Text
......
End With
可以试一下,在你的代码后面加上.workbooks.saveas FileName:=(App.Path & "\x1.xls") 然后. close 关闭你之前的xls文件。.workbooks.open FileName:=(App.Path & "\x1.xls") 试试。。看看行不行。
但是又出现了问题,如果x1.xls存在,会提示 需要不需要复制。
Set xlsApp = Excel.Application
With xlsApp
.Workbooks.open FileName:=(App.Path & "\BOBDATA.xls") '打开一篇文档
.Cells(2, 3).Value = Text6.Text
.Cells(3, 3).Value = Text7.Text
.Cells(2, 5).Value = Text8.Text
......
.Visible = True
xlsApp.SaveAs pathname & "x1.xls"
End With