使用vba如果表一中的a列数值和表二中的a列数值相同,则表二中相对应的c列数值减表一中的c列数值输出到J列
时间: 2024-05-07 17:18:41 浏览: 18
可以使用VBA的Dictionary对象来实现这个功能。具体步骤如下:
1. 声明两个Range对象,分别代表表一和表二中的数据范围。
2. 声明一个Dictionary对象,用来存储表一中每个数值对应的c列数值。
3. 循环遍历表一中的每一行,将a列数值作为Key,c列数值作为Value,存储到Dictionary对象中。
4. 循环遍历表二中的每一行,如果a列数值存在于Dictionary对象中,则将表二中的c列数值减去对应的表一中的c列数值,并输出到J列。
代码如下:
```
Sub CompareAndSubtract()
Dim rng1 As Range, rng2 As Range
Dim dict As Object
Dim i As Long
'设置数据范围
Set rng1 = Range("A1:C10")
Set rng2 = Range("A1:C10")
'创建Dictionary对象
Set dict = CreateObject("Scripting.Dictionary")
'将表一中每个数值对应的c列数值存储到Dictionary对象中
For i = 1 To rng1.Rows.Count
dict(rng1.Cells(i, 1).Value) = rng1.Cells(i, 3).Value
Next i
'遍历表二中的每一行,如果a列数值存在于Dictionary对象中,则将表二中的c列数值减去对应的表一中的c列数值,并输出到J列
For i = 1 To rng2.Rows.Count
If dict.exists(rng2.Cells(i, 1).Value) Then
rng2.Cells(i, 10).Value = rng2.Cells(i, 3).Value - dict(rng2.Cells(i, 1).Value)
End If
Next i
End Sub
```
其中,rng1和rng2分别为表一和表二的数据范围,dict为存储表一中数据的Dictionary对象。在代码中,假设数据范围为A1:C10,输出结果存储在J列。你可以根据实际情况修改代码中的数据范围和输出列。
相关推荐
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)