首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在活动工作表VBA之后从多个工作表复制特定列

,可以通过以下步骤实现:

  1. 首先,打开Excel并创建一个新的宏。按下Alt + F11打开VBA编辑器。
  2. 在VBA编辑器中,找到并展开活动工作簿(Workbook)的对象,然后找到活动工作表(Worksheet)的对象。
  3. 在活动工作表的对象下,找到并展开"Modules"文件夹,然后双击打开一个新的模块。
  4. 在模块中,编写以下VBA代码:
代码语言:txt
复制
Sub CopyColumnsFromWorksheets()
    Dim sourceWorkbook As Workbook
    Dim sourceWorksheet As Worksheet
    Dim targetWorksheet As Worksheet
    Dim sourceColumn As Range
    Dim targetColumn As Range
    Dim columnToCopy As String
    Dim i As Integer
    
    ' 设置目标工作表
    Set targetWorksheet = ThisWorkbook.Sheets("目标工作表名称")
    
    ' 设置要复制的列
    columnToCopy = "A" ' 设置要复制的列,这里以A列为例
    
    ' 循环遍历所有工作表
    For i = 1 To Worksheets.Count
        ' 跳过目标工作表
        If Worksheets(i).Name <> targetWorksheet.Name Then
            ' 设置源工作表
            Set sourceWorksheet = Worksheets(i)
            
            ' 查找源列
            Set sourceColumn = sourceWorksheet.Range(columnToCopy & ":" & columnToCopy)
            
            ' 查找目标列
            Set targetColumn = targetWorksheet.Range(columnToCopy & ":" & columnToCopy)
            
            ' 复制源列到目标列
            sourceColumn.Copy Destination:=targetColumn
        End If
    Next i
End Sub
  1. 在代码中,将"目标工作表名称"替换为你要将列复制到的目标工作表的名称。
  2. 运行宏。按下F5或点击工具栏上的运行按钮。
  3. 所有非目标工作表中的特定列将被复制到目标工作表的相应列中。

这个VBA宏可以帮助你从多个工作表中复制特定列到一个目标工作表中。你可以根据需要修改代码中的列号和目标工作表名称。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

VBA技巧:复制多个工作

标签:VBA 有时候,我们想要批量复制多个工作到新的工作簿,可以使用VBA代码来实现。...例如,工作簿中有三个工作,其名称分别为:Data、完美Excel和Output,要将这三个工作一次复制到一个新的工作簿中并保存,示例代码如下: Sub CopyMultiSheet() Application.ScreenUpdating...Application.ScreenUpdating = True End Sub 代码很简单,关键就是下面这句代码: Sheets(Array("Data", "完美Excel", "Output")).Copy 这里Sheets对象的Copy方法复制工作的同时...,会生成一个新工作簿,而Array方法会将工作组合到一起,就像我们工作簿中按Ctrl键的同时选择工作标签一样。...有兴趣的朋友可以自己创建一个工作簿,按代码中的名称命名工作,然后将上述代码复制到VBE标准模块中,运行代码试试看,这样就会对代码的作用有更深的理解。

2.4K20

Excel-VBA复制工作到新工作簿方法

工作中我们常常会在一个工作簿的一个工作中输入数据,再另存为一个新的工作簿。 如:文件“自动工具.xlsx”中有一个工作为“模板”。...我想在“模板”工作中输入数据,再另存为一个新的文件为“小龙女.xlsx” 【知识点】 下面是本个收藏的代码,三种方法,以备用 【代码】 '方法一:复制工作另存为新的工作簿 Sub copySaveAs...ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\小龙女.xlsx" ActiveWorkbook.Close SaveChanges:=True End Sub '方法二:复制工作为新的工作...,写入数据,再移动工作另存为新的工作簿 Sub MoveSaveAs() wsh_num = Worksheets.Count Worksheets("模板").Copy After:...,再复制工作到新工作簿中 Sub AddCopySaveAs() Path = ThisWorkbook.Path & "\" Set newwb = Workbooks.Add

10.8K40
  • VBA实例一、工作簿按拆分成多个工作簿

    大家好,本节主要介绍,通过VBA程序,将单个工作簿中的多个工作,按拆分成多个独立工作簿。...效 果 演 示 一个工作簿中有多个工作,将每个工作拆分成独立的工作簿,生成的工作簿名称为原工作名称,保存至原文件路径下,演示效果如下: V B A 代 码 思路是通过for each循环,将该工作簿中的每个表格对象赋值给...sht变量,循环中复制sht变量,将其另存为工作簿文件。...保存至原工作簿的路径下,工作簿的名称为原工作的名称,另存完毕后关闭,最后msgbox弹窗提示完成。 为了提高代码效率,关闭屏幕更新。...代码如下: Sub 拆分工作() '定义变量并赋值 Dim Sht As Worksheet Dim MyBook As Workbook Set MyBook = ThisWorkbook '关闭屏幕更新

    3.6K30

    VBA实战技巧29:从一个工作复制数据到另一个工作

    今天演示一个简单的例子,也是经常看到网友问的问题,将一个工作中的数据复制到另一个工作。 如下图1所示,有3个工作,需要将工作“新数据#1”和“新数据#2”中的数据复制工作“汇总”中。...其中,“汇总”工作中已经有部分数据。 ? 图1 工作“新数据#1”中的数据如下图2所示。 ? 图2 工作“新数据#2”中的数据如下图3所示。 ?...,向下至该数据末尾,向右至行数据末尾的区域。...Selection.End(xlDown).Select ActiveCell.Offset(1,0).Range("A1").Select 表示选择最后一行数据之后的空行中的第1个单元格。...这段代码很直观,基本上根据三个工作的特点,采用了“硬编码”,可以根据具体工作的情况对上述代码进行修改。当然,也可以优化代码,使其具有通用性。 运行代码后,结果如下图4所示。 ? 图4

    24.6K31

    Excel公式技巧14: 工作中汇总多个工作中满足条件的值

    《Excel公式练习32:将包含空单元格的多行多单元格区域转换成单独的并去掉空单元格》中,我们讲述了一种方法,给定由多个组成的单元格区域,该区域返回由所有非空单元格组成的单个。...“三维”是经常应用于Excel中特定公式的通用术语,这些公式不仅可以对单列或单行进行操作,也可以对由多或多行组成的单元格区域进行操作,还可以有效地对多个工作进行操作。...本文提供了一种方法,在给定一个或多个相同布局的工作的情况下,可以创建另一个“主”工作,该工作仅由满足特定条件的所有工作中的数据组成。并且,这里不使用VBA,仅使用公式。...图3 想要创建一个主工作Master,其数据来源于上面三个工作D中的值为“Y”的数据: ?...Sheet1中匹配第1、第2和第3小的行,工作Sheet2中匹配第1和第2小的行,工作Sheet3中匹配第1小的行。

    9K21

    VBA基础:复制格式、选取单元格及复制工作的示例代码

    标签:VBA 将某工作中的格式转换到另一个工作 示例代码: Sub TransferFormat() '源格式工作 Dim sht1 As Worksheet '要应用格式的工作 Dim...sht2 As Worksheet Set sht1 = ThisWorkbook.Worksheets("Sheet1") sht1.Cells.Copy '创建新工作 Set sht2...'首先粘贴值 sht2.Cells.PasteSpecial xlPasteValues '然后粘贴格式 sht2.Cells.PasteSpecial xlPasteFormats '给新工作命名...例如,选择当前工作表单元格D5: ActiveSheet.Cells(5, 4).Select 或者: ActiveSheet.Range("D5”).Select 选择另一个工作中的单元格E6: Application.Goto...: Sheets("Sheet2").Activate ActiveSheet.Cells(6, 5).Select 选择当前工作中的单元格区域C2:D10: ActiveSheet.Range(Cells

    30200

    VBA技巧:不保护工作簿的情况下防止删除工作

    标签:VBA 下面介绍一个使用少量VBA代码实现的简单实用的小技巧。 通常情况下,我们执行“保护工作簿”命令后,此时删除工作的命令变成灰色,用户就不能轻易地删除工作了。...然而,这样也不能进行插入、移动或复制工作的操作了。 如果想要在不保护工作簿的情况下防止用户删除工作,而且允许用户插入工作并对其进行重命名,也允许用户移动或复制工作,有没有什么好的方法实现?...可以使用下面的VBA代码,很简单,却很实用。...工作簿的ThisWorkbook模块中粘贴或输入下面的代码: Option Explicit Private Sub Workbook_SheetDeactivate(ByVal Sh As Object...的警告信息(如下图1所示),但用户仍可以工作簿中进行添加工作、移动或复制工作、对工作重命名等操作。 图1

    1.9K30

    VBA: 将多个工作簿的第一张工作合并到一个工作簿中

    文章背景: 在工作中,有时需要将多个工作簿进行合并,比如将多份原始数据附在报告之后。...一般的操作方法是打开两个工作簿(目标工作簿和待转移的工作簿),然后选中需要移动的工作,右键单击以后选择“移动或复制”。接下来新的对话框里面进行设置。 这种方法适合在移动少量工作的时候使用。...如果有很多的工作簿,都需要进行移动的话,一个一个打开然后再操作比较费时费力。这时就可以使用VBA来批量进行操作。...目标工作簿内,插入一个模块,然后导入如下的代码: Option Explicit Sub MergeWorkbook() '将多个工作簿的第一张工作合并到目标工作簿中...转移前: 转移后: 参考资料: [1] 如何使用Excel VBA多个工作簿的全部工作合并到一个工作簿中(https://zhuanlan.zhihu.com/p/76786888)

    5.8K11

    Excel小技巧54: 同时多个工作中输入数据

    excelperfect 很多情形下,我们都需要在多个工作中有同样的数据。此时,可以使用Excel的“组”功能,当在一个工作中输入数据时,这些数据也被同时输入到其它成组的工作中。...如下图1所示,将工作成组后,一个工作中输入的数据将同时输入到其它工作。 ?...图1 要成组工作,先按住Ctrl键,然后工作簿左下角单击要加入组中的工作名称,此时工作簿标题中会出现“名称+组”,如下图2所示。 ?...图2 注意,如果一直保持工作“组合”状态,可能会不小心工作中输入其它工作中不想要的内容。因此,要及时解除组合状态。...单击除用于输入内容的工作外的任意工作名称,则可解除工作组合;或者工作名称标签中单击右键,快捷菜单中选取“取消组合工作”命令。

    3.2K20

    Excel应用实践16:搜索工作指定范围中的数据并将其复制到另一个工作

    学习Excel技术,关注微信公众号: excelperfect 这里的应用场景如下: “工作Sheet1中存储着数据,现在想要在该工作的第O至第T中搜索指定的数据,如果发现,则将该数据所在行复制工作...用户一个对话框中输入要搜索的数据值,然后自动将满足前面条件的所有行复制工作Sheet2中。” 首先,使用用户窗体设计输入对话框,如下图1所示。 ?...Dim rngFoundCell As Range Dim lngCurRow As Long Application.ScreenUpdating = False '赋值为工作...Sheet1 Set wks = Worksheets("Sheet1") With wks '工作中的最后一个数据行 lngRow = .Range(...Sheet2 Sheets("Sheet2").Cells.Clear '获取数据单元格所在的行并复制工作Sheet2 For Each rngFoundCell

    6K20

    VBA编程练习05. 工作中实现七段显示

    学习Excel技术,关注微信公众号: excelperfect 本次练习题 这是一个有趣的VBA编程练习,来自于dailydoseofexcel.com。...使用VBA代码工作中将数字显示为七段显示,如下图1所示。 ? 图1 单元格C9中输入四位及四位以内的数字,单元格区域B2:P6中会像电子显示屏一样以七段形式显示这个数字。...VBA代码 代码如下: Public Sub ShowSevenSegment(ByVal lInput As Long) '声明变量 Dim sValue As String...Interior.Color = lON End If End If Next j Next i End Sub 在数字所在的工作模块中...建议有兴趣的朋友多调试理解这段代码,帮助理解数组的运用、以及单元格的获取、偏移、设置等VBA操控Excel的基础知识。

    1.7K10

    Excel应用实践08:主表中将满足条件的数据分别复制到其他多个工作

    如下图1所示的工作工作MASTER中存放着数据库下载的全部数据。...现在,要根据E中的数据将前12的数据分别复制到其他工作中,其中,E中数据开头两位数字是61的单元格所在行前12数据复制工作61中,开头数字是62的单元格所在行前12数据复制工作62中...,同样,开头数字是63的复制工作63中,开头数字是64或65的复制工作64_65中,开头数字是68的复制工作68中。...图1 用来完成上述工作VBA代码如下: Sub MasterDataToSheets() Dim x Dim i As Long Dim ii As Long Dim..., 64, "已完成" End Sub 运行代码后,工作61中的数据如下图2所示。 ? 图2 代码并不难,很实用!代码中,我已经给出了一些注释,有助于对代码的理解。

    5.1K30
    领券