gpt4 book ai didi

vba - 如果 A 列包含 "column D"并且 B 列包含 "column E"那么添加值

转载 作者:行者123 更新时间:2023-12-04 21:15:42 25 4
gpt4 key购买 nike

我想编写一个宏来读取 A 列中的单词 B、查看它们是否与 E 列中的单词匹配 F 分别为 然后 将 C 列中的值添加到 G 列。
例如:
enter image description here
例如,您可以看到 A 列和 B 列中有“Lion”和“Horse”两个实例,因此 G 列有两个实例的总数 (10 + 8 = 18)。
不幸的是,我所做的尝试只是将 C 列中的值复制到 G 列:

Sub CombineAnimals()

lastRow = Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row

For x = 1 To lastRow
If InStr(1, Sheets("Sheet1").Cells(x, 1), Cells(x, 5)) <> 0 _
And InStr(1, Sheets("Sheet1").Cells(x, 2), Cells(x, 6)) <> 0 Then
Sheets("Sheet1").Cells(x, 7).Value = _
Sheets("Sheet1").Cells(x, 7).Value + Cells(x, 3)
End If
Next x

End Sub
我知道我在“x”(可能还有许多其他事情)上做错了,但我想不出一种让它起作用的方法。有什么办法可以改变它,以便像在我的示例图片中那样将总数加在一起?
非常感谢您的帮助。

最佳答案

必须是宏吗?你可以输入 =SUMIFS(C:C,A:A,E2,B:B,F2)进入 G2 并填写:

enter image description here

如果你真的想在宏中使用它,它会是这样的:

Sub CombineAnimals()

Range("G2").FormulaR1C1 = "=SUMIFS(C[-4],C[-6],RC[-2],C[-5],RC[-1])"
Range("G2").AutoFill Destination:=Range("G2:G" & Range("F" & ActiveSheet.Cells.Rows.Count).End(xlUp).Row)

End Sub

关于vba - 如果 A 列包含 "column D"并且 B 列包含 "column E"那么添加值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42000697/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com