我想将某个范围的值获取到一个数组中,处理数组数据,然后将该数组中的值设置回它来自的范围,考虑到该范围可能包含一些隐藏行。
让我们以两列的工作表为例:
----A-------B-----
VALUE | FILTER
1 | P
2 | N
3 | N
4 | P
5 | P
然后应用自动过滤器并将 B 列设置为仅显示带有“P”的单元格,这将隐藏第 3 行和第 4 行。
我得到的范围是这样的:
Sub WorkRange()
Dim R As Range
Set R = ActiveSheet.Range("A2:A6")
Values = R.Value
Values(1, 1) = "New 1"
Values(2, 1) = "New 2"
Values(3, 1) = "New 3"
Values(4, 1) = "New 4"
Values(5, 1) = "New 5"
R.Value = Values
End Sub
该代码将获取从 A2 到 A6 的值,包括由自动筛选定义筛选出的隐藏行。当我尝试使用更改后的数据设置该范围的值时,它会保留隐藏行不变并将可见单元格(单元格 A2、A5 和 A6)设置为“New 1”。
我想将值设置在该范围内,而不管行状态如何。
我有一些有数千行的工作表。如果我逐行更改使用 .Cells,则需要很长时间。使用数组设置范围的值要快得多,并且在不存在过滤器的情况下也适用。
将数组结果应用到不同的工作表中,并在公式中引用这些范围vlookup
or =refercells
range("A2:A"&lrow).formula = "=sheetnamecell"
这是将数组结果应用回过滤范围的唯一方法。如果数组范围未过滤,您可以将结果直接应用于该范围。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)