以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- 请教 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=127367)
|
-- 作者:cdwanghc
-- 发布时间:2018/11/12 16:52:00
-- 请教
此主题相关图片如下:问题.png
|
-- 作者:cdwanghc
-- 发布时间:2018/11/12 16:55:00
--
这段代码正常运行过。现在提示错误。请高手看看,问题出在哪里? 谢谢
|
-- 作者:有点甜
-- 发布时间:2018/11/12 16:56:00
--
1、ws1.cells这样用错误,应该改成ws1.UsedRange
2、在delete之前,应该先写 ws1.select
3、在各个操作的时候 ws1.select、ws2.select 适当的加入,看是否还报错
|
-- 作者:cdwanghc
-- 发布时间:2018/11/12 17:37:00
--
还是报错。 将For n as integer=1 to wb.worksheets.count 和 Next两句代码去掉后,可以将第二张表复制到第一张表中,并删除。 但加上循环就报错。
|
-- 作者:有点甜
-- 发布时间:2018/11/12 17:56:00
--
1、你加上循环的意图是什么?循环里面加入select后是否还报错?
2、实例发上来测试,说明要做到的效果。
|
-- 作者:cdwanghc
-- 发布时间:2018/11/12 18:06:00
--
希望做到: 工作簿里有N个工作表要将第二到最后,所有工作表的内容,复制到第一个工作表里。
|
-- 作者:cdwanghc
-- 发布时间:2018/11/12 18:32:00
--
如:
|
-- 作者:有点甜
-- 发布时间:2018/11/12 19:10:00
--
以下是引用cdwanghc在2018/11/12 18:06:00的发言:
希望做到: 工作簿里有N个工作表
要将第二到最后,所有工作表的内容,复制到第一个工作表里。
Dim App As New MSExcel.Application Dim fl = "d:\\test.xls" Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(fl) Dim Ws1 As MSExcel.WorkSheet = Wb.WorkSheets(1) For i As Integer = 2 To wb.WorkSheets.count Dim ws2 = Wb.WorkSheets(i) ws2.Select Ws2.UsedRange.Copy ws1.Select ws1.Cells(Ws1.UsedRange.Rows.Count+1,1).Select \'纵向拷贝 ws1.paste Next \'app.DisplayAlerts = False \'For i As Integer = wb.WorkSheets.count To 2 Step -1 \'Dim ws2 = Wb.WorkSheets(i) \'ws2.delete \'Next \'Wb.Save app.Visible = True \'App.Quit
|