2

我有一个宏可以帮助我在 2 个数据集之间执行 countif 函数,并查看指定为“我们的”的所有数据是否都包含在指定为“他们的”的数据集中。此宏适用于其他数据比较。但是,我想比较在底部我可能具有欧洲其他地区(如果这是欧洲列表)或美国其他地区(当有美国列表提供州时)的值的国家/地区。有没有办法以这种方式修改它,如果它符合“欧洲其他地区”的值,它将检查除了出现在它上面的值之外的所有其他内容 - 换句话说:出现在 B2:B7 范围内的所有内容都应该是排除在外。每个数据集的范围都不相同,所以它应该调整到长度(就像现在发生的一样)。欧洲其他地区/美国其他地区将始终位于列表的末尾。谁能帮我解决这个问题?

截屏

在此处输入图像描述

我的宏:

Sub GOOD_ALMOST_C_Countif_Until_LastRow()

Dim LastRowColumnB As Long
LastRowColumnB = Range("B65000").End(xlUp).Row

For i = 2 To LastRowColumnB
Cells(i, 3) = Application.CountIf(Range("A:A"), Cells(i, 2))
Next
End Sub

ps - 在发布这个问题之前我做了互联网研究。然而,我的研究并没有带来任何积极的结果。

4

1 回答 1

2

最简单的想法完全适合您的非动态数据范围(只是一些数学):

If Cells(i,2) = "Rest of Europe" Then
    Cells(i,3) = Cells(Rows.Count, "A").End(xlUp).Row - 1 - _
                 WorksheetFunction.Sum(Range(Cells(2,3), Cells(i-1, 3)))
End If

假设您在 A:A 中只有欧洲国家

于 2013-03-19T17:39:34.883 回答