Excel精英培训网

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

请求给个插入工作表的代码

[复制链接]
发表于 2011-11-12 15:56 | 显示全部楼层 |阅读模式
10学分
在附件文件夹内有2个工作簿:表1和表2,能否在点击表1的命令按扭后,在表2工作簿的工作表标签最后插入1张新的工作表,并以表1工作簿SHEET1单元格B4值为表名。谢谢。

插入工作表.rar

6.79 KB, 下载次数: 8

最佳答案

查看完整内容

Sub test() Dim wk As Workbook s$ = Set wk = Workbooks.Open(ThisWorkbook.Path & "\表2.xls") '此处用open吧 wk.Sheets.Add , wk.Worksheets(wk.Worksheets.Count) wk.Worksheets(wk.Worksheets.Count).Name = s wk.Save wk.Close '这里仅仅是关闭而已。用不用都随你 Set wk = Nothing End Sub
发表于 2011-11-12 15:56 | 显示全部楼层
Sub test()
Dim wk As Workbook
s$ = [b4]
Set wk = Workbooks.Open(ThisWorkbook.Path & "\表2.xls")   '此处用open吧
wk.Sheets.Add , wk.Worksheets(wk.Worksheets.Count)
wk.Worksheets(wk.Worksheets.Count).Name = s
wk.Save
wk.Close         '这里仅仅是关闭而已。用不用都随你
Set wk = Nothing
End Sub
回复

使用道具 举报

发表于 2011-11-12 16:06 | 显示全部楼层
你这是个遍历问题,在论坛上搜下,有好多这方面的
回复

使用道具 举报

 楼主| 发表于 2011-11-12 16:37 | 显示全部楼层
BAIXINGR 发表于 2011-11-12 16:06
你这是个遍历问题,在论坛上搜下,有好多这方面的

论坛上只有插入本工作簿的,没有插入其他工作簿的。
回复

使用道具 举报

 楼主| 发表于 2011-11-12 20:55 | 显示全部楼层
这个问题好象很简单,但我确实很难,为什么只能插入本工作簿,而要插入另一个工作簿弄了二天也没弄成,只好求教老师,请出手相助。
回复

使用道具 举报

发表于 2011-11-12 21:35 | 显示全部楼层
Sub 遍历引用数据() 'laosanjie 2008-9-5
Dim x As Byte, 路径$, 簿名$, AK As Workbook
Application.ScreenUpdating = False
x = 1
路径 = ThisWorkbook.Path & "\数据表\"
簿名 = Dir(路径 & "*.xls")     '依次找寻指定路径中的*.xls文件
   Do While 簿名 <> ""    '当指定路径中有文件时进行循环
       If 簿名 <> ThisWorkbook.Name Then
         Set AK = Workbooks.Open(路径 & 簿名)   '打开符合要求的文件
            If AK.Sheets(1).Range("A1") <> 0 Then
               With AK.Sheets(1)
                  Range("A" & x) = .Range("A1")
               End With
               Workbooks(簿名).Close False  '关闭源工作簿,并不作修改
               x = x + 1
            End If
       End If
       簿名 = Dir   '找寻下一个*.xls文件
   Loop
Application.ScreenUpdating = True
End Sub
这个你可以根据自己的要求修改下
回复

使用道具 举报

 楼主| 发表于 2011-11-12 22:27 | 显示全部楼层
BAIXINGR 发表于 2011-11-12 21:35
Sub 遍历引用数据() 'laosanjie 2008-9-5
Dim x As Byte, 路径$, 簿名$, AK As Workbook
Application.Scr ...

对不起,这不是我想要的,我的目的是:以表1工作簿C4单元格的字符数据为表名在表2工作簿上插入一张新工作表(空表)。
回复

使用道具 举报

发表于 2011-11-13 10:28 | 显示全部楼层
Sub test()
Dim wk As Workbook
s$ = [b4]
Set wk = GetObject(ThisWorkbook.Path & "\表2.xls")
wk.Sheets.Add , wk.Worksheets(wk.Worksheets.Count)
wk.Worksheets(wk.Worksheets.Count).Name = s
wk.Save
wk.Close
Set wk = Nothing
End Sub
回复

使用道具 举报

 楼主| 发表于 2011-11-13 21:23 | 显示全部楼层
青城山苦丁茶 发表于 2011-11-13 10:28
Sub test()
Dim wk As Workbook
s$ =

模块代码可行,但如果将代码:wk.Close 注释后,代码运行时系统提示:运行时错误'91'   未设置对象或With block变量
青城山苦丁茶老师再研究一下。
回复

使用道具 举报

发表于 2011-11-14 20:53 | 显示全部楼层
先学习下   
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-31 11:33 , Processed in 0.956332 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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