Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2610|回复: 3

vba 模块和工作表疑惑

[复制链接]
发表于 2019-5-18 00:50 | 显示全部楼层 |阅读模式
1学分
以下这个代码放在工作表中运行是没有问题的,能依次创建工作簿,但是把代码放在模块中运行时就出现错误。错误是saveas作用于对象workbook时失败。
大佬们怎么解决这个问题啊?感谢

Sub creat()
    Dim i, pw

    Application.ScreenUpdating = False

    pw = "C:\Users\666\Desktop\text\try"
    For i = 2 To Cells(Rows.Count, 2).End(3).Row
    With Workbooks.Add
        .SaveAs pw & "\" & Cells(i, 2).Value & ".xls"
        .Close False
    End With
    Next
    Application.ScreenUpdating = True
End Sub

错误提示

错误提示
123.png

最佳答案

查看完整内容

也可将这段改为 ........ With sheets(“数据”) ‘原工作表’ For i = 2 To .Cells(.Rows.Count, 2).End(3).Row wjm=.Cells(i, 2).Value With Workbooks.Add .SaveAs pw & "\" & wlm & ".xls" .Close False End With Next End with ..........
发表于 2019-5-18 00:50 | 显示全部楼层
也可将这段改为
........
With   sheets(“数据”)  ‘原工作表’
For i = 2 To .Cells(.Rows.Count, 2).End(3).Row
    wjm=.Cells(i, 2).Value
    With Workbooks.Add
        .SaveAs pw & "\" & wlm  & ".xls"
        .Close False
    End With
    Next
End with
..........
回复

使用道具 举报

 楼主| 发表于 2019-5-18 12:58 | 显示全部楼层
好像行数设置错了,没事问题,版主可以吧这个帖子删了。
回复

使用道具 举报

发表于 2019-5-18 13:44 | 显示全部楼层
本帖最后由 zjdh 于 2019-5-18 13:52 编辑

你将宏放在模块里后,一般应该指定单元格所在的工作表,例:sheets(“数据”).Cells(i, 2),否则应将原工作表激活再运行,不然会张冠李戴出错!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-20 09:07 , Processed in 0.179206 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表