我正在尝试创建一个宏,在选择范围后,它将告诉我样本中发现了多少个 20 英尺或 40 英尺的集装箱。
该宏基本上查找字符串“1x20”或“1x40”,当找到其中一个时,变量 cont20 或 cont40 将增加 1。
我拥有的代码:
Sub containercount()
Dim count20 As Integer
Dim count40 As Integer
count20 = 0
count40 = 0
For Each cell In Selection
If Not ActiveCell.Find("1x20", LookAt:=xlPart, MatchCase:=False) Is Nothing Then
count20 = count20 + 1
End If
If Not ActiveCell.Find("1x40", LookAt:=xlPart, MatchCase:=False) Is Nothing Then
count40 = count40 + 1
End If
Next cell
MsgBox ("Number of 20ft containers: " & count20 & vbNewLine & "Number of 40ft containers: " & count40)
End Sub
但结果总是零...我将非常感谢您的帮助。
答案1
它不起作用的原因是因为您正在空数组中搜索。
选择应该被类似的东西取代ActiveSheet.Selection
此外,您必须使用cell.Find
,而不是ActiveCell
。ActiveCell
引用所选的唯一单元格。
但无论如何,我只会使用CountIf
公式而不是宏。