【发布时间】:2017-07-25 17:53:16
【问题描述】:
所以我被要求比较图表中的数据,其中列数可以是可变的,目前最多 20,但我被告知可能会改变,所以我希望尽可能保持动态。
目标是确保一行中的所有单元格都包含完全相同的字符串,或者是空白的。因此,如果有五列,其中三列的数据为“Good”,而另外两列为空白,那就没问题了。
图表将始终从左上角开始,并且始终具有标题行和行名称。
我以为我会将每个单元格与每行中的第一个单元格进行比较,但我似乎无法弄清楚如何比较可变单元格。
我对使用 VBA 很陌生,完全是自学的,所以我可能在这里走错了路。
这是我的示例代码,我知道我需要做几个 Do 循环才能让它工作,但我想先让这部分工作。
Sub Row_Checker()
Dim Col_Count As Integer
Dim I As Integer
Range("a1").Select
Range(Selection, Selection.End(xlToRight)).Select
Col_Count = Application.WorksheetFunction.CountA(Selection)
Selection.End(xlToRight).Select
ActiveCell.Offset(1, 1).Range("A1").Select
For I = 2 To Col_Count
If ("B" & (ActiveCell.Row)) = ("B" & (ActiveCell.Row).Offset(0, I) then
End Sub
【问题讨论】:
-
当出现不匹配时您希望它做什么/当同一行中的所有列都有空白或相同时您希望它做什么?
-
另外,您从第 2 列开始 - 您想忽略 A 列吗?每一行都应该是一个特定的值吗?就像
A1中的值应该与第 1 行中的所有其他值一样?还是它们都可以是随机值,只需要每行的值相同? -
另外,第一行是没有空格的标题行吗?如果不是,如果第一行中有空格,您的
col_count变量可能具有不正确的值。我认为这是因为您开始在第 2 行进行迭代,但只是想仔细检查。 -
我希望只标记行,或者通过添加带有某种标签的另一列,或者只是突出显示给定的行以便可以查看它们。我将忽略 A 列,因为那将是该行的标签。它们可能是每行不同的值,但每一行都应该具有相同的值。第 1 行是 Haader 行,不会有空格。
-
我将更新我的答案,让它突出显示不匹配的行。如果下面的答案对您有帮助,请告诉我。
标签: excel vba multiple-columns