您的位置首页百科问答

如何把数据复制粘贴到筛选后的表格可见单元格

如何把数据复制粘贴到筛选后的表格可见单元格

的有关信息介绍如下:

如何把数据复制粘贴到筛选后的表格可见单元格

在excel日常使用过程中,经常需要这样的操作:筛选出某些数据,复制后需要粘贴到筛选状态下的单元格。本例介绍给大家如何一次性设置永久性解决这个操作问题。不用基础操作每次都操作一次。

首先,点击excel程序左下角的【录制宏】按钮录制宏。选择录制到【个人宏工作簿】后点击【确定】按钮。

开始录制宏后什么都不操作,马上点击【停止录制宏】按钮。

按Alt+F11进入VBE界面,打开“个人宏工作簿”,可以看到增加了一个模块。

将模块代码更新成下述代码后点击【保存】按钮。

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

回到Excel界面,右键单击快速访问工具栏,选择【自定义快速访问工具栏】。

如下图设置和选择,并点击【添加】按钮。

这样,在工具栏就出现了一个新的按钮,指定到了刚才加入的代码。

下面来测试一下。

原始数据A列姓名包含重复的“张三”。

我们筛选“张三”,用鼠标选中所有数据。然后按Ctrl+G调出【定位】对话框,选择【定位条件】。

选择【可见单元格】,然后点击【确定】按钮。

点击刚才插入的按钮。

下面会弹出来如下的对话框。

注意:只需要用鼠标选择要粘贴区域的最左上角单元格即可。

选中想要粘贴的单元格,然后点击【确定】按钮,数据就粘贴出来了。

我们取消A列的筛选,可以看到复制的数据也粘贴到了筛选出来的行中。

注意:

设置代码在个人宏工作簿中就可以使代码功能在这台电脑上对所有工作簿都可用。

如果您觉得此经验有用,可以点击本页面右上方的【大拇指】图案和【收藏按钮】或者右下方的【分享】按钮,也可以点击本注意事项下方的【收藏】按钮。

如需要了解更多内容,可以百度搜索“百度经验shaowu459”或到百度知道向我提问。