[英]VBA for populating only visible cells
我在 Sheet2 上有一行单元格 A1:G1,我希望这些值在 Sheet1 列 A:G 上,但只在可见行上。 我知道如何通过仅选择可见单元格并从 Sheet2 粘贴值来做到这一点。 但是我有很多行,而且速度非常慢。 我尝试从 Sheet2 上的单元格 A1:G1 创建一个数组并将其设为二维数组,然后在 Sheet1 上选择范围并在工作表中设置值,但我根本无法使代码工作。 你会建议什么其他方式?
Dim Arr() As Variant
Dim 2DArr() As Variant
Sheet1.range(cells(1,8),cells(last_row,8). select
activecell.formulaR1C1="=AGGREGATE(3,5,@columnA)"
Arr = Sheet2.Range("A1:G5")
for i=1 to last_row
if cell(i,8)=1 then
2DArr(i)=Arr
End If
Next i
Sheet1.range("A1:G900000")=2DArr
我承认这是一个烦人的问题:Excel VBA 的范围没有Visible
属性。 相反,它有一个Hidden
属性,它以完全相反的方式工作,正如您从这个简单示例中看到的那样:
' instead of if RAnge(A1).Visible, you should do:
if NOT(RAnge(A1).Hidden)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.