ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1311|回复: 13

[求助] 一个筛选后复制粘贴的问题如何解决

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-4-26 15:18 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助


如图,筛选完的数据,如果从右边复制粘贴到左边的红框里面去?前提是不要一个一个复制粘贴,要一起粘贴过去,怎么搞法。
image.png


image.png

产品入退库明细_2.zip

563.5 KB, 下载次数: 8

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-4-26 15:19 | 显示全部楼层
平时碰到太多这种这种状况了,不知道该怎么搞,费劲

TA的精华主题

TA的得分主题

发表于 2023-4-26 16:12 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
试了一下。
Sub TEST()
Application.DisplayAlerts = False

Dim rng, a, b As Range
    Set rng = Sheet1.Range("A1").CurrentRegion
    Set a = Range("F2:F" & Range("K65536").End(3).Row)
    Set b = Range("L2:L" & Range("K65536").End(3).Row)
    rng.AutoFilter
    rng.AutoFilter Field:=12, Criteria1:="304-F-C"
    a.SpecialCells(xlCellTypeVisible).Value = b.SpecialCells(xlCellTypeVisible)
    rng.AutoFilter
   
Application.DisplayAlerts = True
End Sub

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-4-26 16:38 | 显示全部楼层
Peny2020 发表于 2023-4-26 16:12
试了一下。
Sub TEST()
Application.DisplayAlerts = False

亲,你这段VBA的作用是什么呀?

TA的精华主题

TA的得分主题

发表于 2023-4-26 17:24 | 显示全部楼层
seven_xl 发表于 2023-4-26 16:38
亲,你这段VBA的作用是什么呀?

?你不是要筛选”304-F-C",然后将物料描述内容复制到参考编号吗?
还是说我理解错了?

TA的精华主题

TA的得分主题

发表于 2023-4-27 08:26 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
为什么要这么复杂呀,不能直接用公式F列=L列吗?
一定要复制的话,可以用可见单元格,选择L列要复制的区域数据,按F5,跳出定位窗口,选择可见单元格,再按ctrl+c,鼠标点到F列,右键,选择性黏贴,黏贴值到单元格。 image.png

TA的精华主题

TA的得分主题

发表于 2023-4-27 08:29 | 显示全部楼层
建议你可以设置条件,对于要筛选的值都标个颜色,然后对于该颜色,一次性对应复制过去,或者用辅助列公式对应过去,这样不用一个一个的复制了。

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-4-27 13:40 | 显示全部楼层
各位你们可能没看懂我的意思,或者说我没说清楚。我再举个例子吧。
image.jpg

比方说这个表格,我是筛选了一些数据,筛选了物料编号都是4开头的物料,然后我要把红框里面绿色那一部分的数据,就是标绿的那部分复制粘贴到橙色框里面去,是在筛选的状态下一比一的粘贴过去。
image.jpg
如果你直接复制粘贴的话就是这个样子的,他不会沾到我想要的单元格的。我要的是这样的效果:
image.jpg
但是我不知道该怎么一次性完成这个复制粘贴的动作,注意是在不取消筛选的状态下完成,或者你们有什么比较简单的方法完成这样的复制粘贴,用公式也不行,公式无法直接填充,必须一个一个去选。
我这么说不知道各位能不能明白呢?

TA的精华主题

TA的得分主题

发表于 2023-4-27 14:51 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
Sub TEST()
Application.DisplayAlerts = False

Dim rng, a, b As Range
    Set rng = Sheet1.Range("A1").CurrentRegion
    Set a = Range("F2:F" & Range("K65536").End(3).Row)
    Set b = Range("L2:L" & Range("K65536").End(3).Row)
    rng.AutoFilter
    rng.AutoFilter Field:=12, Criteria1:="304-F-C" '你要变成筛选物料号,那这里把12变成7,“304-F-C"变成你要的物料号就好了。
    a.SpecialCells(xlCellTypeVisible).Value = b.SpecialCells(xlCellTypeVisible)
    rng.AutoFilter
   
Application.DisplayAlerts = True
End Sub
我这个代码就是在筛选状态下把H的内容复制到G列,然后取消筛选状态。
就跟你说的效果一样啊?没看懂哪不对了,还是说你想保留在筛选的状态?

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-4-27 16:02 | 显示全部楼层
Peny2020 发表于 2023-4-27 14:51
Sub TEST()
Application.DisplayAlerts = False

我这个是需要一下子搬运多个不同的数据的话, 你这个编码怎么写法,你看我后面的那个案例,我通常是会筛选出很多不同的数据,要同时一起粘贴过去呢。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-1 11:50 , Processed in 0.029373 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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