Foxtable(狐表)用户栏目专家坐堂 → 请教


  共有1805人关注过本帖树形打印复制链接

主题:请教

帅哥哟,离线,有人找我吗?
cdwanghc
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:88 积分:819 威望:0 精华:0 注册:2013/10/15 13:25:00
请教  发帖心情 Post By:2018/11/12 16:52:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:问题.png
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
cdwanghc
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:88 积分:819 威望:0 精华:0 注册:2013/10/15 13:25:00
  发帖心情 Post By:2018/11/12 16:55:00 [只看该作者]

这段代码正常运行过。现在提示错误。
请高手看看,问题出在哪里?
谢谢

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/12 16:56:00 [只看该作者]

1、ws1.cells这样用错误,应该改成ws1.UsedRange

 

2、在delete之前,应该先写 ws1.select

 

3、在各个操作的时候 ws1.select、ws2.select 适当的加入,看是否还报错


 回到顶部
帅哥哟,离线,有人找我吗?
cdwanghc
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:88 积分:819 威望:0 精华:0 注册:2013/10/15 13:25:00
  发帖心情 Post By:2018/11/12 17:37:00 [只看该作者]

还是报错。
将For n as integer=1 to wb.worksheets.count   
Next两句代码去掉后,可以将第二张表复制到第一张表中,并删除。
但加上循环就报错。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/12 17:56:00 [只看该作者]

1、你加上循环的意图是什么?循环里面加入select后是否还报错?

 

2、实例发上来测试,说明要做到的效果。


 回到顶部
帅哥哟,离线,有人找我吗?
cdwanghc
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:88 积分:819 威望:0 精华:0 注册:2013/10/15 13:25:00
  发帖心情 Post By:2018/11/12 18:06:00 [只看该作者]

希望做到:
工作簿里有N个工作表
要将第二到最后,所有工作表的内容,复制到第一个工作表里。

 回到顶部
帅哥哟,离线,有人找我吗?
cdwanghc
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:88 积分:819 威望:0 精华:0 注册:2013/10/15 13:25:00
  发帖心情 Post By:2018/11/12 18:32:00 [只看该作者]

如:

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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

 


 回到顶部