如何解决在一个代码块中循环遍历每个命名范围的第一行
因此,我不得不编写两个几乎相同的代码块来遍历我的两个命名范围。但是,我知道命名范围的大小和形状将始终彼此相同,甚至始于同一列(不同的行),并且还需要将它们粘贴到彼此相邻的两列中,所以我觉得应该这样可以在一个代码块中实现,但甚至都无法考虑如何开始对其进行攻击。例如。每月现金支付在数组A10:D20中,损益支付每月在数组A40:D50中。
有人有任何想法吗,请谢谢你?
For Each Row In Range(Names("Cash_Payments_Monthly")).Rows
LastRow = wsDashData.Cells(Rows.Count,14).End(xlUp).Row
Row.copy
wsDashData.Range("n" & LastRow + 1).PasteSpecial _
Paste:=xlPasteValues,_
Transpose:=True
Next Row
For Each Row In Range(Names("PL_Payments_Monthly")).Rows
LastRow = wsDashData.Cells(Rows.Count,15).End(xlUp).Row
Row.copy
wsDashData.Range("o" & LastRow + 1).PasteSpecial _
Paste:=xlPasteValues,_
Transpose:=True
Next Row
解决方法
假设工作簿中还有其他命名范围,则应首先创建要搜索的命名范围白名单数组,然后遍历该数组,将现有代码的单个副本嵌入该循环中。
Dim myranges()
Dim c As Integer 'counter
myranges = Array("Cash_Payments_Monthly","PL_Payments_Monthly")
For c = 0 To UBound(myranges)
For Each Row In Range(myranges(c)).Rows
...the rest of your code,but just one instance of it :-) ...
Next c
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。