arrays - 使用两个对应的数组遍历命名范围
问题描述
循环遍历命名范围,如果单元格匹配,则它将调整大小的范围粘贴到不同的工作表中。我想为不同的范围使用一个循环,而不是为每个范围编写相同的代码。我考虑过使用数组,但我不知道如何处理F列中的数据(见下文)。
下面的代码行会将匹配的数据粘贴到A:D列的不同工作表中
cell.Offset(, -3).Resize(, 4).Copy Destination:= _
Sheets("CAR Issues").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
此行将值从命名范围粘贴到列F中。
Sheets("CAR Issues").Cells(Rows.Count, 1).End(xlUp).Offset(, 4).Value = Sheets("Boards").Range("UFFCAR").Value
是否有可能让这个循环使用两个相应的数组,即
Unit = Array("UFF", "ERF", "DOF") < Data from column A:E
UM = Array("UFFCAR", "ERFCAR", "DOFCAR") Data in column F
完整代码
Sub Test()
Dim cell As Range
With Sheets("Boards")
For Each cell In .Range("UFF")
If cell.Value = "CAR" Then
cell.Offset(, -3).Resize(, 4).Copy Destination:= _
Sheets("CAR Issues").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
Sheets("CAR Issues").Cells(Rows.Count, 1).End(xlUp).Offset(, 4).Value = Sheets("Boards").Range("UFFCAR").Value
End If
Next cell
End With
Call Test2
End Sub
Sub Test2()
Dim cell As Range
With Sheets("Boards")
For Each cell In .Range("ERF")
If cell.Value = "CAR" Then
cell.Offset(, -3).Resize(, 4).Copy Destination:= _
Sheets("CAR Issues").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
Sheets("CAR Issues").Cells(Rows.Count, 1).End(xlUp).Offset(, 4).Value = Sheets("Boards").Range("ERFCAR").Value
End If
Next cell
End With
End Sub
解决方案
如果我正确理解了您的问题,请尝试下一种方法:
Sub testNamesIteration()
Dim shCI As Worksheet, Unit As Variant, UM As Variant
Dim El As Variant, cell As Range, i As Long
Set shCI = Sheets("CAR Issues")
Unit = Array("UFF", "ERF", "DOF") ' Data from column A:E
UM = Array("UFFCAR", "ERFCAR", "DOFCAR")
With Sheets("Boards")
For Each El In Unit
For Each cell In .Range(El)
If cell.Value = "CAR" Then
cell.Offset(, -3).Resize(, 4).Copy Destination:= _
shCI.cells(rows.count, 1).End(xlUp).Offset(1, 0)
shCI.cells(rows.count, 1).End(xlUp).Offset(, 4).Value = _
.Range(UM(i)).Value
End If
Next cell
i = i + 1
Next
End With
End Sub
上面的代码假设两个数组元素之间存在对应关系。我的意思是,在第一个数组的第一个元素的情况下,第二个数组的第一个元素将被复制......
推荐阅读
- javascript - 使用 Javascript 突出显示页面上的文本
- groovy - 如何在 jmeter PreProcessor 中动态创建 XML 对象
- node.js - 使用 spawn() 生成子进程,但仍然阻塞当前调用者函数
- powershell - 如何使用 Powershell 从 sourceforge 下载文件?
- linux - Linux .config 中缺少配置选项
- nginx - 使用 Nginx 作为代理的 TLS 协议中断
- networking - 我的任务是存储一个字符串字节,即 0C001A0001000800030000010501000000800100001003103F002A0 到 0x000C, 0x001A ,0x0001, 0x0008 ,0x0100
- postgresql - odoo 不从单个表或视图中选择的视图不会自动更新
- reactjs - 水平滚动后如何垂直滚动
- python - 使用 asyncio 时如何正确捕获 concurrent.futures._base.TimeoutError。我对这种东西不熟悉,所以我愿意接受建议