Excel 2010 每次仅复制 4 个单元格,即使选择了 24 个

Excel 2010 每次仅复制 4 个单元格,即使选择了 24 个

我有一个经过过滤的电子表格,过滤后有 48 行。我试图将前 24 行复制并粘贴到后 24 行,但当我选择前 24 行时,它会将它们分组为 4 个,并且只会粘贴前 4 行。我在下面附上了一张截图。

excel 只选择 4 行

有任何想法吗?

答案1

这更多是关于您能看到的内容。我怀疑一切都运行正常,但是,由于您已筛选行,因此您看不到它,即使在粘贴中也是如此!这是因为 Excel 必须在您筛选时对整行进行某些操作(我假设)...

您有两个选项可以解决这个问题,并进一步解释它。

假设您已筛选了第 1 行到第 50 行的数据。您需要进行选择,复制(如您所做),但将其粘贴到第 50 行之后(使用普通粘贴)。然后您将看到粘贴完全符合您的要求。

如果您在与过滤表相同的行内进行粘贴,则在删除过滤器之后才能看到“正确”的粘贴(但粘贴的值将按您想要的方式显示在那里)。

要粘贴到同一位置(第 1 行和第 50 行之间),请右键单击并选择paste special-> paste picture... 是的,它会将其粘贴为图片,因此您不能使用它来创建公式,但根据您的需要,它可能就足够了

另一个选择是仅粘贴到可见单元格(但我不认为这会对您有帮助)...

1) Copy the cells you want pasted.
2) Highlight range you want to paste in to
3) Go to Home ribbon, Editing box, Find & Select.
4) choose option - Go To Special
5) bottom right of the box choose Visible Cells only.
6) now paste.

来源

最后,来自同一来源的 VBa 选项(未经测试)

Sub Copy_Filtered_Cells()
    Set from = Selection
    Set too = Application.InputBox("Select range to copy selected cells to", Type:=8)
    For Each Cell In from
        Cell.Copy
        For Each thing In too
            If thing.EntireRow.RowHeight > 0 Then
                thing.PasteSpecial
                Set too = thing.Offset(1).Resize(too.Rows.Count)
                Exit For
            End If
        Next
    Next
End Sub

如何在 MS Office 中添加 VBA?

答案2

Excel 将所有 24 个单元格粘贴到未筛选的网格中,因此只有前四个值会到达预期的单元格。其他值会复制到当前隐藏的行,可能会覆盖一些重要数据。

这是一个非常烦人的功能,但我们必须忍受它。

相关内容