VBA 复制工作表至新的工作簿中的工作表

工作簿A含有四个sheet:a,b,c,d,现需复制其中a,b的指定区域,新建工作簿并保存至A所在路径,名称为1-A,1-A中sheet名称为1-a,1-b,(A中a指定区域复制至1-A中1-a,A中b指定区域复制至1-A中1-b),用VBA怎么实现呢?

谢谢大家!

VBA使用工作表的Copy方法复制,用After或者Before指定复制到的位置,否则复制到新工作簿。

例如:

WorkBooks("文件一.xlsx").Sheets("表一").Copy After:=WorkBooks("文件二.xlsx").Sheets("表2")

扩展资料:

VBA的常用内置函数:

MsgBox

InputBox

舍入函数:Fix 向0取整,Int向下取整, Round四舍五入

Rnd: 返回0-1内的单精度随机数

Filter:对字符串的一维数组的过滤

InStr([Start, ]<Str1>,<Str2>[, Compare])与InStrRev: 查找子串

Len:字符串长度

Join:连接一维数组中的所有子字符串

Left,Right,Mid: 截取子字符串

Space(数值) :生成空格字符串

Ucase,Lcase:大小写转换函数

Ltrim, Rtrim,Trim :删除首尾空格

参考资料来源:百度百科-VBA (Visual Basic宏语言)

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-11-21

      Sub 新建工作簿()

      Application.ScreenUpdating = False

      Dim gzb As Workbook

      Set gzb = Workbooks.Add

      ActiveSheet.Name = "1-a"

      Workbooks("A.xls").Sheets("a").Cells.Copy [a1]

      Worksheets.Add(after:=Worksheets(Worksheets.Count)).Name = "1-b"

      Workbooks("A.xls").Sheets("b").Cells.Copy [a1]

      gzb.SaveAs ThisWorkbook.Path & "\1-A.xls", FileFormat:=xlExcel8

      Set gzb = Nothing

      ActiveWorkbook.Close

      Application.ScreenUpdating = True

      End Sub


这个vba代码写在A工作簿的模块里即可,指定区域你可以自己修改下代码,我这里是全表复制的效果。

追问

我的代码:小白不懂,能修改下吗?

另一个问题,Application.ScreenUpdating = False/ture  这两句的作用大吗?应该可以不加的吧?

追答

Application.ScreenUpdating 最好加一下,后台执行的效率会比较高一些。

本回答被提问者采纳
第2个回答  2015-10-23
将ab两个工作表,移动复制成新的工作簿,修改工作表名称,删除不想要的数据,
再保存。
用这个思路录制个宏就明白了。追问

不不,不要这样,删除数量巨大,就是选择,复制,选择,复制

追答

哦,选择区域的条件是什么?

VBA 复制工作表至新的工作簿中的工作表
VBA使用工作表的Copy方法复制,用After或者Before指定复制到的位置,否则复制到新工作簿。例如:WorkBooks("文件一.xlsx").Sheets("表一").Copy After:=WorkBooks("文件二.xlsx").Sheets("表2")

怎样用VBA把一个工作表的内容复制到另一个工作表?
1、原数据如下 2、点选B列 3、按F5调出定位功能,点击定位条件 4、选择控制,点确定 5、在第一个空白单元格处输入“=”6、然后点击上一单元格B2 7、按Ctrl+Enter组合键 8、自动填充完成

请教如何利用VBA实现将一个工作表复制到另一个工作簿中
在VBA编辑器中,编写以下代码来创建一个名为"复制表"的宏:SubCopySheet()DimMyBook1AsWorkbookSetMyBook1=Workbooks.Open("C:\\Users\\Administrator\\Desktop\\工作表1.xls")'选择需要移动的工作表Sheets("移动表").Activate'复制该工作表Sheets("移动表").CopyDestination:=Workbooks("工作表2.xls")....

请教如何利用VBA实现将一个工作表复制到另一个工作簿中
1、开发工具——VB。2、输入代码:Sub 复制表() Dim MyBook1 As Workbook Set MyBook1 = Workbooks.Open("C:\\Users\\Administrator\\Desktop\\工作表1.xls") Sheets("移动表").Select Sheets("移动表").Copy Before:=Workbooks( _ "工作表2.xls").Sheets(1)MyBook1.CloseEnd Sub。3、...

vba 复制1个工作薄的制定sheet到另1个工作薄的制定sheet,求指教,有部...
GetObject(filenamePD, "excel.sheet").Sheets("工作表名")或者GetObject(filenamePD, "excel.sheet").Sheets(索引号)类似 ThisWorkbook.Sheets(3)

如何用excel vba 将一个工作簿中的一个工资表复制到另一个工作簿中的...
Sub copySheet()Dim ws1 As Worksheet Set ws1 = ThisWorkbook.Worksheets("sheet16")ws1.Copy ThisWorkbook.Sheets(Sheets.Count)End Sub

VBA复制一个SHEET到另一个文件中的代码
1、在工作表中,点击菜单栏【开发工具】,在其工具栏里,点击【visual basic】,进入VBA界面。2、在VBA界面,点击菜单栏【插入】,在其下拉菜单中,点击【模块】。3、会弹出代码编辑窗口。4、在代码编辑窗口输入一下代码。Sub 复制文件()FileCopy "f:\\456.xlsx", "e:\\963.xlsx"End Sub。5、在...

如何用VBA判断符合条件的数据复制粘贴到相应工作表?
首先,在VBA中定义符合条件的数据,可以使用类似下面的代码:Dim targetSheet As Worksheet Dim sourceSheet As Worksheet Dim lastRow As Long Dim i As Long Set sourceSheet = Worksheets("Sheet1") ' 指定源数据所在工作表 Set targetSheet = Worksheets("Sheet2") ' 指定目标工作表 lastRow = ...

...表的中的指定单元格内容,复制到新建工作表中的对应列中
以VBA为例:假设要将当前工作簿其它工作表中的A1,D2,E3,F5存放至第一张工作表的A:D列,每个工作表的数据存放一行。按住ALT,依次按F11,I,M,粘贴代码后按F5,即可实现目的。Sub 工作表汇总()With Sheets(1) '注意第一个工作表是汇总工作表,运行代码后它的内容将被修改 For i = 2 To ...

使用Excel VBA,如何将某一个工作表保存到新建的Excel中?
iPath = ThisWorkbook.Path & "\\" '保存路径为当前工作簿所在路径 Set Wk1 = Workbooks.Add Set Wk2 = Workbooks.Add Wk1.SaveAs iPath & "部门" & ".xls"Wk2.SaveAs iPath & "基层" & ".xls"'将工作表分别复制到部门或基层工作薄中 For Each Sh In ThisWorkbook.Worksheets With...

相似回答