vb 操作EXCE第一次运行可以,第二次运行出错

goosen 2012-08-12 03:07:06
Private Sub Command1_Click()
Dim ex As excel.Application
Dim wb As excel.Workbook
Dim sh As Object



CommonDialog1.ShowOpen
Set ex = CreateObject("Excel.Application")
Set wb = ex.Workbooks.Open(CommonDialog1.FileName)
Dim a As Integer
Dim k As Integer
a = 1
For k = 1 To 3
a = a + 1
wb.Sheets(1).Select
wb.Sheets(1).Copy Before:=Sheets(a) Next k '这行出错

Set sh = Nothing
wb.Close savechanges:=True
ex.Quit
Set wb = Nothing
Set ex = Nothing

MsgBox "ok"

End Sub


有办法解结吗?
...全文
136 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
sosoben 2012-08-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

要明确指定在同一个工作簿中进行复制
VB code
wb.Sheets(1).Copy Before:=wb.Sheets(a)

没指定的 Sheets(a) 为当前工作簿,这个当前是哪个?
[/Quote]

正解 这分也太好赚了吧??
Tiger_Zhao 2012-08-13
  • 打赏
  • 举报
回复
要明确指定在同一个工作簿中进行复制
wb.Sheets(1).Copy Before:=wb.Sheets(a)

没指定的 Sheets(a) 为当前工作簿,这个当前是哪个?

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧