不能运行
vba吧
全部回复
仅看楼主
level 1
Sub cf() '拆分工作簿4
Dim i As Integer, wb As Worksheet
Excel.Application.ScreenUpdating = False '禁止屏幕刷新
For i = 1 To Sheets.Count
Set wb = Workbooks("工作簿4").Sheets(i)
wb.Copy '复制工作表
ActiveWorkbook.SaveAs Filename:="d:data\" & wb.Name '将当前工作簿以“ "的名字保存到d盘data目录下
ActiveWorkbook.Close '关闭打开的表
Next
Excel.Application.ScreenUpdating = True '解禁刷新
End Sub
说是下标越界,为什么?
2023年06月30日 03点06分 1
level 10
你不能保证每个sheet的编号是连续的
不能用for循环要用foreach
2023年06月30日 03点06分 2
@- 有过删除呗,你试试,新建几个sheet,在删除掉。或者移动sheet看看
2023年06月30日 07点06分
@- 是会有不连续的情况的,你没试出来不代表不存在的
2023年06月30日 07点06分
@- 当时没存那个文件,所以没法复现了,当时在一个群里面问了一堆大佬都没见过这个问题,把文件发现他们测试也会出同样的情况
2023年06月30日 09点06分
level 1
兄弟 每次遇到错误了得学会自己检查 看你发了好多贴了都是很基本的错误 要学会调试 自己F8一步步走 看看是什么出了问题 还有一些语法
2023年06月30日 07点06分 4
谢谢,老大,我想不明白才来这的
2023年07月01日 00点07分
level 1
语法多去参考微软的vba帮助文档 百度也一样
2023年06月30日 07点06分 5
level 1
用编号是不准确的,不要依赖编号
2023年06月30日 08点06分 6
@DwcCC 不是的,这个只是个示例,我没遇到这个问题之前我也一直认为这个编号是不会错的,因为不是个可以随便复现的问题,我看看能不能找到当时出错的文件
2023年06月30日 08点06分
@ISD_狮子座 出错的话,就是变量没定义了。。。比如你的表名 2 3 4 5。 当变量不是文本的时候sheet(2) 就是3.如果是文本 那就是2
2023年06月30日 08点06分
@DwcCC 不是的,是那个INDEX的值不对,我不知道是什么情况才会出现,我是之前做过一个项目,用VBA生成的表,然后出现这些序号的问题,但不是一直会出现,只有偶然的情况会出现,所以之后我都不怎么使用索引号作为引用SHEET的方法
2023年06月30日 09点06分
@ISD_狮子座 变量要定义。。 dim a,b as integet 只有 b才是。。我刚开始学的时候变量定义不规范。。也吃过这个亏。。
2023年07月02日 16点07分
level 1
我看了下问题多半就是你循环sheets.count与工作簿4表数量对不上 也就是sheets.count>工作簿4 就会出现这样的问题 光写sheets.count默认是当前激活工作簿表数量 线索太少目前也只能判断出这个问题
2023年07月01日 04点07分 8
level 1
如果是这个问题你循环就该这样写 For i =1 to Workbooks("工作簿4").sheets.count
2023年07月01日 04点07分 9
level 1
还有一个问题就是工作簿4一定是要在打开状态
2023年07月01日 04点07分 10
level 1
又试了一下,什么也不用改,wps能用,excel不能。我把wb.Copy 改成move后,又不能用了,这句报错
2023年07月01日 06点07分 12
路径错了,不管你用的COPY还是MOVE,结果都是差不多的,现在的问题是你保存的路径错了
2023年07月01日 07点07分
路径是这样的D:\date\.......
2023年07月01日 08点07分
看来看去把这个给看漏了 唉
2023年07月01日 08点07分
@yy3924💤 还真是,我也没注意楼主这路径,语法错误
2023年07月01日 10点07分
level 1
2023年07月01日 12点07分 13
move改成copy 因为表格移动了 所以wb这个对象地址不对了 或者前面再写一个变量获取表名
2023年07月01日 13点07分
move把wb移出工作簿6了 工作簿6不存在wb这个表 wb自然变成了一个空变量
2023年07月01日 13点07分
level 2
存放路径问题
2023年07月05日 11点07分 16
1