【发布时间】:2015-07-26 20:22:55
【问题描述】:
我有一个巨大的 13k 行和 8 列的 Excel 表。 我一直在寻找一种方法来粘贴回过滤列表上的可见行。 我什至从 mr.excel 视频mr. excel podcast 中得到了一个代码
Sub PasteBack()
' Assumes the Filtered Sheet1 is active
Set DataToCopy = Sheet2.Range("A1").CurrentRegion
n = 2 ' index for range to copy from Sheet2 one row at a time, skipping headers
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row ' row 1 is header
If Not Rows(i).Hidden Then
DataToCopy.Offset(n - 1).Resize(1).Copy Cells(i, 1)
n = n + 1
If n > DataToCopy.Rows.Count Then Exit Sub
End If
Next i
End Sub
此代码的问题是,如果数据很多,excel 会变得无响应。如果数据较少,它会完美运行。 有人可以帮我将数据粘贴回过滤列表中
【问题讨论】:
-
+ 加一是因为您认为 13K 行 × 8 列是“巨大的”。 :)
-
您似乎根本没有使用过滤列表。您的意思是在确定字符串插入/连接方法之前,只需测试每个单元格是否存在空格字符?
-
好吧 13k x 8 行 x 8 张是...
-
非常抱歉粘贴了错误的代码。该代码用于将一个单元格的内容合并到另一个包含文本字符串的单元格中。现在更正了代码。 @jeeped 抱歉
-
太多未回答的问题,无法继续。最重要的是:a) 什么是过滤器? b) 排序顺序是什么? c) 如果从 Sheet2 复制的行数多于可以复制的行数,您想如何处理多余的行? d) 典型的数据传输有多少行? e) 数据传输中的最大行数是多少?