精华内容
下载资源
问答
  • 使用VBA快速复制工作表

    千次阅读 2021-01-17 12:35:55
    在“模块1”的代码窗口里面输入以下VBA代码:Sub AutoCopySheets()Dim i, j As Integeri = 1j = 1For i = 1 To 30 '循环30次,相当于复制30个工作表j = j + 1Sheets("8.1").Copy After:=Sheets(Sheets.Count) '复制...

    在“模块1”的代码窗口里面输入以下VBA代码:

    Sub AutoCopySheets()

    Dim i, j As Integer

    i = 1

    j = 1

    For i = 1 To 30   '循环30次,相当于复制30个工作表

    j = j + 1

    Sheets("8.1").Copy After:=Sheets(Sheets.Count)              '复制工作表《8.1》

    Sheets(Sheets.Count).Name = "8" & "." & j                   '重命名工作表

    Sheets(Sheets.Count).Range("G4") = "2017年8月" & j & "日"   '单元格G4自动填写相应的日期

    If j Mod 7 = 5 Or j Mod 7 = 6 Then    '判断表格的日期是否是星期六或星期天,如果是,则改变工作表标签颜色

    With ActiveWorkbook.Sheets(Sheets.Count).Tab

    .Color = 255                                 '工作表标签改成红色

    .TintAndShade = 0

    End With

    End If

    Next

    End Sub

    展开全文
  • Excel VBA合并工作簿

    2021-01-10 21:34:34
    利用VBA合并工作簿,将需要合并的多个工作簿放到解压后的文件夹中,运行后输入文件夹的地址即可。
  • 因此,例如,它需要复制Myworkbook book的Sheet2中的数据,并将其粘贴到他们的工作簿Sheet2的范围内 . 范围和工作表编号信息存储在单独工作簿中的位置 .编辑:我添加了一张wbOpen的图片 . This is it here.Op...

    我对VBA很新,需要一些项目帮助 . 我需要编写一个宏来读取列C中的工作表名称,并将源工作簿中的值粘贴到目标工作簿中的范围,该范围在列D中指定 .

    因此,例如,它需要复制Myworkbook book的Sheet2中的数据,并将其粘贴到他们的工作簿Sheet2的范围内 . 范围和工作表编号信息存储在单独工作簿中的位置 .

    编辑:我添加了一张wbOpen的图片 . This is it here.

    Option Explicit

    Sub PasteToTargetRange()

    Dim arrVar As Variant 'stores all the sheets to get the copied

    Dim arrVarTarget As Variant 'stores names of sheets in target workbook

    Dim rngRange As Range 'each sheet name in the given range

    Dim rngLoop As Range 'Range that rngRange is based in

    Dim wsSource As Worksheet 'source worksheet where ranges are found

    Dim wbSource As Workbook 'workbook with the information to paste

    Dim wbTarget As Workbook 'workbook that will receive information

    Dim strSourceFile As String 'location of source workbook

    Dim strTargetFile As String 'location of source workbook

    Dim wbOpen As Workbook 'Current open workbook(one with inputs)

    Dim wsRange As Range 'get information from source workbook

    Dim varRange As Range 'Range where values should be pasted

    Dim i As Integer 'counter for For Loop

    Dim wbkNewSheet As Worksheet 'create new worksheet if target workbook doesn't have

    Dim wsTarget As Worksheet 'target workbook worksheet

    Dim varNumber As String 'range to post

    Set wbOpen = Workbooks.Open("WorkbookWithRanges.xlsx")

    'Open source file

    MsgBox ("Open the source file")

    strSourceFile = Application.GetOpenFilename

    If strSourceFile = "" Then Exit Sub

    Set wbSource = Workbooks.Open(strSourceFile)

    'Open target file

    MsgBox ("Open the target file")

    strTargetFile = Application.GetOpenFilename

    If strTargetFile = "" Then Exit Sub

    Set wbTarget = Workbooks.Open(strTargetFile)

    'Activate transfer Workbook

    wbOpen.Activate

    Set wsRange = ActiveSheet.Range("C9:C20")

    Set arrVarTarget = wbTarget.Worksheets

    For Each varRange In wsRange

    If varRange.Value = 'Target workbook worksheets

    varNumber = varRange.Offset(0, -1).Value

    Set wsTarget = X.Offset(0, 1)

    wsSouce.Range(wsTarget).Value = varNumber

    Else

    wbkNewSheet = Worksheets.Add

    wbkNewSheet.Name = varRange.Value

    End If

    Next

    End Sub

    展开全文
  • '在下面Array中列出所有需要复制工作表的名称 Worksheets(Array("工作表1", "工作表11", "工作表22", "工作表32")).Copy Set wbNew = ActiveWorkbook With wbNew  ...

    代码如下:

    Sub MoveSheets()
    
    '在下面Array中列出所有需要复制的工作表的名称
    
    Worksheets(Array("工作表1", "工作表11", "工作表22", "工作表32")).Copy
    
    Set wbNew = ActiveWorkbook
    
    With wbNew
    
        ActiveWorkbook.SaveAs Filename:="D:\folder_for_holding_saved_workbook" & "\name_of_saved_workbook.xlsx"
    
        .Close
    
    End With
    
    End Sub

     

    展开全文
  • 工作簿底部的工作表标签中单击右键,选择菜单中的“移动或复制工作表”,如下图1所示。图1在出现的对话框中选中“建立副本”,如下图2所示。图2单击“确定”按钮,复制得到工作表Sheet1的一份副本,...

    有时候,我们可能想复制工作表,保留一份工作表的副本,以免误操作打乱工作表后无法恢复。有时候,我们也可能想移动工作表,调整工作表顺序,将工作表重新排列,以方便工作表的布置。本文介绍在VBA中实现这两种操作。

    在工作簿底部的工作表标签中单击右键,选择菜单中的“移动或复制工作表”,如下图1所示。

    109170655_1_20170824074430499

    图1

    在出现的对话框中选中“建立副本”,如下图2所示。

    109170655_2_20170824074430843

    图2

    单击“确定”按钮,复制得到工作表Sheet1的一份副本,Excel将其自动命名为工作表Sheet1(2),如下图3所示。

    109170655_3_20170824074431155

    图3

    技巧:选择要复制的工作表标签后,按住Ctrl键,拖动工作表即可完成复制工作表操作。

    使用宏录制器录制上述操作的代码为:

    Sub Macro1()

    '

    ' Macro1 Macro

    '由完美Excel创建

    '

    Sheets('Sheet1').Select

    Sheets('Sheet1').Copy Before:=Sheets(1)

    End Sub

    Copy方法

    工作表对象的Copy方法复制指定工作表到工作簿中指定的位置。其语法为:

    工作表对象.Copy(Before,After)

    说明:参数Before和参数After用于指定工作表,复制的工作表将放置在该工作表之前或者之后。二者只能同时选一。

    如果没有指定参数,Excel将创建一个包含所复制工作表的新工作簿。

    下面接着来看移动工作表的操作。

    在上文图2所示的对话框中,我们不选取“建立副本”复选框,这样将会移动所选择的工作表在对话框中指定的某工作表之前。或者在Excel工作簿中,选择要移动的工作表标签后,直接拖动到想要放置的位置。如下图4所示,将工作表Sheet1(2)移动至工作表Sheet3之前。

    109170655_4_20170824074431358 图4

    所录制的代码如下:

    Sub Macro2()

    '

    ' Macro2 Macro

    ' 由完美Excel创建

    '

    Sheets('Sheet1(2)').Select

    Sheets('Sheet1(2)').Move After:=Sheets(3)

    End Sub

    Move方法

    工作表对象的Move方法移动指定工作表到工作簿中指定的位置。其语法为:

    工作表对象.Move(Before,After)

    说明:参数Before和参数After用于指定工作表,复制的工作表将放置在该工作表之前或者之后。二者只能同时选一。

    如果没有指定参数,Excel将创建一个包含所复制工作表的新工作簿。

    对比一下,Copy方法与Move方法似乎完全相同,只是Copy方法创建了工作表的一份副本,而Move方法只是移动了工作表的位置。

    下面的语句将工作簿中第3个工作表放置到一个新工作簿中:

    Worksheets(3).Copy

    或者:

    Worksheets(3).Move

    示例1:将工作表移动到最后

    下面的代码将名为“完美Excel”的工作表移动到工作簿工作表的最后。

    Sub MoveWorksheets()

    Worksheets('完美Excel').Move_

    After:=Worksheets(Worksheets.Count)

    End Sub

    本文属原创文章,转载请联系我(xhdsxfjy@163.com)或者注明出处。

    欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

    展开全文
  • ' Copywb.Sheets(wsSource.Name).Range("A1:W79").Copy' Paste SpecialwbTarget.Sheets("Sheet1").Range("A1:W79").PasteSpecial xlValueswbTarget.Sheets("Sheet1").Range("A1:W79").PasteSpecial xlFormatsThis co...
  • VBA表复制

    2020-12-01 16:29:32
    & 3 + aa).Select Selection.Copy Windows("工作簿3").Activate Range("Y" & 17 + aa).Select ActiveSheet.Paste Next End Sub '不同单元格的合并在excel界面用&,在vba界面用and; '可以用Mid函数进行文本的提取
  • 今天早上以为睡饱了,起身看手机才5:50,倒下重睡,第二次醒来就9:06,NICE!...(一)工作表移动与复制 表达式.Move(Before,After) 表达式.Copy(Before,After) Sub 移动() Sheet1.Move , Sheet3 '...
  • 从一个工作簿各个子复制数据粘贴到另一个工作簿指定位置中,并对指定列进行排序,这个是我们在日常工作中经常做的,如何减少繁琐的工作步骤,提高效率,一键完成上面的工作。下面介绍通过VBA,如何自动化跨工作...
  • 复制指定目录下excel工作簿中同名工作表,该代码将在相同目录下创建汇总工作簿,各工作簿中同名工作表将被分别复制到汇总工作簿的不同表中(汇总工作簿中各工作表以分工作簿名命名)。 所有要汇总的工作簿在同一个...
  • 我们的任务是将a.xlsx的Sheet1和b.xlsx的Sheet1复制到x.xlsx的Sheet xxx之前 确保启动时光标在test.xlsm中 Dim i As Integer For i = 1 To Workbooks.Count Cells(i, 1) = Workbooks(i).name Next
  • VBA工作表另存为工作簿

    千次阅读 2020-08-13 17:07:10
    Sub 宏1() Application.ScreenUpdating = False '屏幕更新关闭 ...'另存在这个路径 名字是工作表名字.xls ActiveWorkbook.Close Next Application.ScreenUpdating = True Application.DisplayAlerts = True End Sub
  • VBA单元格、工作表工作簿

    千次阅读 2019-04-30 23:08:35
    详解VBA单元格、工作表工作簿各种表示、方法,注意事项。
  • Excel VBA工作簿工作表的操作

    千次阅读 2017-05-13 00:46:53
    1.保存当前工作簿Public Sub保存当前工作簿() Dim wb As Workbook Set wb = ThisWorkbook '可指定任意工作簿 wb.Save Set wb = Nothing End Sub如果是第一次保存工作簿,请使用SaveAs方法为该文件指定文件名...
  • 另存所有工作表工作簿 我们时常需要把一个工作簿的不同工作表分拆成不同的文件,文件名取工作表名,通过VBA 可以很好的实现
  • VBA工作簿内合并所有工作表

    千次阅读 2018-09-07 13:56:21
    Sub MergeSheets() '工作簿内合并所有工作表 Dim sheetsCount As Long '定义 工作簿工作表数量 赋值为 sheetCount 数据类型为 Long(长整型) Dim rowCount As Long '定义 汇总表行数 赋值为 rowCount 数据类型为 ...
  • 先讲工作簿工作表的相关操作。 一、工作簿工作表的相关操作 1、保存工作簿 Sub SaveWorkBooks() Dim book As Workbook For Each book In Workbooks 'path等于空说明是新文件,就不保存 If book.path <...
  • 打开给定工作簿,选择按钮,输入你需要在多个表格中复制的数据位置(可以为空),但是切记,第一行和第一列不能为空和最短的数据,否则会被覆盖掉,因为是根据第一行和第一列的长度来判断并向后依次追加数据(按行按...
  • vba工作表重命名By default, worksheet tabs in Excel are given generic names, such as Sheet1, Sheet2, and so on. If you have a lot of worksheets in your workbook, finding specific sheets can get tricky....
  • workssheets工作表 Application主程序对象 内容: Workssheets工作表对象 语法select,add,delete,copy的使用一,count属性,name属性 '选中表 Sub shishi() Sheet1.Select '表示表1被选中,也可以用Sheets(1)来...
  • 1、在不需要逐个打开工作簿的情况下,将其有效工作表依次复制到本工作簿的最后. ' 新工作表名为:原工作簿名_原工作表名 2、 逐个打开同一目录下的所有工作簿,将其有效工作表依次复制到本工作簿的最后.复制完后关闭它....
  • 看着标题估计会有点乱,下面我们以图文的方式来和大家说明,本例子要实现的最终结果!...现在,我们要做的就是,要把这X个工作薄中的Sheet1这个工作表里面的数据复制了之后,粘贴到“合并数据.xls”这个工...
  • 批量合并excel工作簿中同名工作表,适用条件: 1、所有要汇总的工作簿在同一个文件夹中,这里以后缀为.xlsx为例; 2、需要合并的工作表名称相同(如: “sheet1”),且数据字段一样(如:A列表示序号,B列表示姓名,...
  • Sub sheet另存为工作簿() Sheets(Array("人员档案", "明细一", "明细二", "明细三")).Copy Workbooks(Workbooks.Count).SaveAs ThisWorkbook.Path & "/" & "数据备份.xls" End Sub
  • 工作簿操作 一、概述 一个 excel 文件对应一个 workbook,打开后对应一个文件窗口 Windows(1).Visible = True 二、基本操作 workbook操作:open、add、save、saveas、close 1、判断文件是否存在和打开 是否存在:...
  • 【关键步骤】从开发工具里打开Visual Basic,...Public Sub 一键获取本文件夹工作表()Application.ScreenUpdating = FalseDim f As String, i As IntegerDim wb As Excel.WorkbookDim sh, sh1 As Excel.WorksheetSet ...
  • VBA-保存指定工作表工作簿文件

    千次阅读 2020-02-26 16:53:39
    如果需要将工作簿中的工作表单独保存为一个工作簿文件,可以使用 Worksheet 对象的 Copy 方法,将指定的工作表复制到一个新建的工作簿。 Sub test() On Error GoTo line ActiveSheet.Copy '复制工作表为工作簿 ...
  • VBA - Excel多工作簿合并计算
  • vba工作表重命名Renaming of worksheets can be done manually, but it will look like a massive task if there are a lot of worksheets to be renamed and when we need to rename it based on some conditions ...
  • False Application.DisplayAlerts = False '每一次加载复制,清空data1工作表中的内容 Worksheets("agilent").UsedRange.ClearContents fname = Dir(p) Set xlApp = CreateObject("Excel.Application") '连接EXCEL...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,480
精华内容 1,792
关键字:

vba工作簿复制