打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Excel VBA代码,用于在一个工作簿中选择包含特定文本字符串的单元格,然后将这些单元格复制并粘贴...
问 题

我在Excel电子表格中的单列中包含大量数据。我一直在尝试一种自动化方法来在一个工作簿中从该列中选择某些数据,并将其粘贴到新工作簿的列中。

例如,我在列中有一个名称列表。我想选择包含文本名字:的任何单元格,然后将这些单元格复制并粘贴到不同工作簿的列中。

我可以这样做手动使用Excel中的查找所有工具,使用查找内容选择单元格,然后使用Ctrl + A选择所有找到的项目,然后关闭查找所有工具,然后使用Ctrl + C复制所有的单元格,移动到下一个工作簿,然后使用Ctrl + V粘贴这些单元格。但是,我需要这样做很多次,不幸的是,宏记录器没有记录在查找全部工具中执行的任何查询/进程。

我假设我需要一些VBA代码,但是无法在网页/论坛上找到适合的东西。

解决方案

This is just a sample to get you started:

Sub Luxation() Dim K As Long, r As Range, v As Variant K = 1 Dim w1 As Workbook, w2 As Workbook Set w1 = ThisWorkbook Set w2 = Workbooks.Add w1.Activate For Each r In Intersect(Range('A:A'), ActiveSheet.UsedRange) v = r.Value If InStr(v, 'First name') > 0 Then r.Copy w2.Sheets('Sheet1').Cells(K, 1) K = K + 1 End If Next rEnd Sub

The code opens a fresh workbook, goes back to the original workbook, runs down column A , and then copies the relevant cells to the fresh workbook.

代码打开一个新的工作簿,回到原始工作簿,向下运行列 A ,然后将相关单元格复制到新的工作簿。

EDIT#1

Here is the new macro:

Sub Luxation2()    Dim K As Long, r As Range, v As Variant    K = 1    Dim w1 As Worksheet, w2 As Worksheet    Set w1 = Sheets('raw data')    Set w2 = Sheets('data manipulation')    w1.Activate    For Each r In Intersect(Range('A:A'), ActiveSheet.UsedRange)        v = r.Value        If InStr(v, 'First name') > 0 Then            r.Copy w2.Cells(K, 1)            K = K + 1        End If    Next rEnd Sub

本文地址:IT屋 » Excel VBA代码,用于在一个工作簿中选择包含特定文本字符串的单元格,然后将这些单元格复制并粘贴到新的工作簿中

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
一文教你在Excel中利用VBA实现类似「邮件合并」的功能!
完全手册Excel VBA典型实例大全:通过368个例子掌握
在EXCEL中限定工作表的使用范围
一小段Excel VBA代码022:限制指定工作簿的打开次数
EXCEL VBA常用操作对象汇总(办公室职场必备)
Excel VBA中的Workbook对象,通俗讲解,一起来打基础吧
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服