excel - 我想在 Excel VBA 中使用数组和索引比较来自不同工作表的 2 列
问题描述
我对宏很陌生,需要一个满足我要求的解决方案。如果值匹配,我想比较同一工作簿的 2 个不同工作表中的 2 列,然后想将数据从 sheet1 值(列 3,4 和 5)复制并粘贴到 sheet2(列 3,4,5)
目前,我的代码没有让我得到结果,请帮忙
Sub oldtonew()
Dim Oldoutcome(1000) As Variant
Dim newoutcome(1000) As Variant
Dim I As Integer
Dim PA1(1000) As String
Dim PA2(1000) As String
Dim PA3(1000) As String
Dim AR(1000) As Variant
Searchrow = 2
Sheets("old").Select
newoutcome(Searchrow) = "Architectural Model"
'ActiveSheet.Range("S" & Searchrow).Value
Do Until ActiveSheet.Range("AK" & Searchrow) = ""
Oldoutcome(Searchrow) = ActiveSheet.Range("AK" & Searchrow).Value
AR(Searchrow) = ActiveSheet.Range("X" & Searchrow).Value
PA1(Searchrow) = ActiveSheet.Range("AR" & Searchrow).Value
PA2(Searchrow) = ActiveSheet.Range("AS" & Searchrow).Value
PA3(Searchrow) = ActiveSheet.Range("AT" & Searchrow).Value
If InStr(Oldoutcome(Searchrow), newoutcome(Searchrow)) > 1 Then
ActiveSheet.Range("Y" & Searchrow).Value = AR(Searchrow)
ActiveSheet.Range("Z" & Searchrow).Value = PA1(Searchrow)
ActiveSheet.Range("AA" & Searchrow).Value = PA2(Searchrow)
ActiveSheet.Range("AB" & Searchrow).Value = PA3(Searchrow)
End If
Searchrow = Searchrow + 1
Loop
Sheets("Assessment").Select
Do Until ActiveSheet.Range("S" & Searchrow) = ""
ActiveSheet.Range("Y" & Searchrow).Value = AR(Index)
ActiveSheet.Range("Z" & Searchrow).Value = PA1(Index)
ActiveSheet.Range("AA" & Searchrow).Value = PA2(Index)
ActiveSheet.Range("AB" & Searchrow).Value = PA3(Index)
End If
Searchrow = Searchrow + 1
Loop
End Sub
解决方案
推荐阅读
- json - 将每个员工的员工详细信息作为 JSON 数组返回到 SQL Server 中的每个员工
- node.js - 有没有办法让我的 nodejs - selenium 宏存储缓存?
- html - Oracle Apex 中的富文本编辑器和变音符号
- flutter - 我如何遍历地图列表,以便一路获得最终值?
- testing - 如何将交叉 (AND) 特征过滤器与 xunit.runner.console 一起使用
- php - Woocommerce / 仅从已完成的订单中删除“付款说明”
- swagger - 设置多个 swagger API 文件
- c# - MySqlConnector 和 NLog 的异常
- google-maps - ACF Google Map 的多个标记
- wix - wix 获取外部 msi 的版本