Excel-VBA:忽略for循环中的隐藏行

时间:2014-06-25 09:13:42

标签: excel vba excel-vba

我正在寻找我的问题..但我找不到好的东西。

我试图将一些值从表1复制到表2 .. 在表1(“xy”)中没有隐藏的行。在表2(“地址”)中有。

我会使用for循环来做到这一点:

end = cells(rows.count, 1).end(xlUp).row
Row = 1
For i = 11 To end
    Sheets("xy").Select
    Cells(Row, 19).Copy
    Sheets("Adress").Select
    Cells(i, 19).PasteSpecial xlPasteValues
    Row = Row + 1
Next i

问题是循环仍在使用sheet2中的隐藏行(“地址”)... 我怎么能跳过它们?

感谢您的帮助:)

1 个答案:

答案 0 :(得分:0)

最简单的方法是使用多个粘贴命令将其单独粘贴,而不是一次粘贴,因为您可以手动跳过隐藏的行。以下代码应该可以自动执行:

end = cells(rows.count, 1).end(xlUp).row
Row = 1
For i = 11 To end
  If Not Worksheet("Adress").Cells(i, 19).hidden Then  
    Worksheet("Adress").Cells(i, 19) = Worksheet("xy").Cells(Row, 19)
    Row = Row + 1
  End If
Next i