如何把数据复制粘贴到筛选后的表格可见单元格
2022-09-28 · 百度认证:北京惠企网络技术有限公司官方账号
1、首先,点击excel程序左下角的【录制宏】按钮录制宏。选择录制到【个人宏工作簿】后点击【确定】按钮。
2、开始录制宏后什么都不操作,马上点击【停止录制宏】按钮。
3、按Alt+F11进入VBE界面,打开“个人宏工作簿”,可以看到增加了一个模块。
4、将模块代码更新成下述代码后点击【保存】按钮。
Sub 多区域复制粘贴()
On Error Resume Next
Dim SRange() As Range, UPRange As Range, TRange As Range
Dim i As Long, AreaNum As Long
Dim MinR As Long, MinC As Long
AreaNum = Selection.Areas.Count
ReDim SRange(1 To AreaNum)
MinR = ActiveSheet.Rows.Count
MinC = ActiveSheet.Columns.Count
For i = 1 To AreaNum
Set SRange(i) = Selection.Areas(i)
If SRange(i).Row < MinR Then MinR = SRange(i).Row
If SRange(i).Column < MinC Then MinC = SRange(i).Column
Next i
Set UPRange = Cells(SRange(1).Row, SRange(1).Column)
Set TRange = Application.InputBox(prompt:="选择粘贴区域的最左上角单元格", Title:="多区域复制粘贴", Type:=8)
Application.ScreenUpdating = False
For i = 1 To AreaNum
SRange(i).Copy
TRange.Offset(SRange(i).Row - MinR, SRange(i).Column - MinC).PasteSpecial paste:=xlPasteValues
Next i
Application.ScreenUpdating = True
End Sub
5、回到Excel界面,右键单击快速访问工具栏,选择【自定义快速访问工具栏】。
6、如下图设置和选择,并点击【添加】按钮。
7、这样,在工具栏就出现了一个新的按钮,指定到了刚才加入的代码。
8、原始数据A列姓名包含重复的“张三”。
9、我们筛选“张三”,用鼠标选中所有数据。然后按Ctrl+G调出【定位】对话框,选择【定位条件】。
10、选择【可见单元格】,然后点击【确定】按钮。
11、点击刚才插入的按钮。
12、下面会弹出来如下的对话框。注意:只需要用鼠标选择要粘贴区域的最左上角单元格即可。
13、选中想要粘贴的单元格,然后点击【确定】按钮,数据就粘贴出来了。
14、我们取消A列的筛选,可以看到复制的数据也粘贴到了筛选出来的行中。