这一小段代码串接几个单元格值创建一个字符串,然后将其搜索在VB数组。如果我不使用“*”串联,它可以工作,如果我这样做,则打破下面的块。VBA字符串连接不起作用“*”
任何想法?该工程
代码:
For i = 1 To StringsCount
arrStrings(i, 1) = .Range("A" & i + k).Value & "_" & .Range("C" & i + k).Value & "_" & .Range("D" & i + k).Value & "_" & .Range("E" & i + k).Value
arrStrings(i, 2) = .Range("A" & i + k).Row
k = k + 11
Next i
码不起作用:
For i = 1 To StringsCount
arrStrings(i, 1) = .Range("A" & i + k).Value & "_" & .Range("C" & i + k).Value & "_" & .Range("D" & i + k).Value & "_" & .Range("E" & i + k).Value & "*"
arrStrings(i, 2) = .Range("A" & i + k).Row
k = k + 11
Next i
(第二排,在远端,有额外的通配符字符“。 &“”')。*
块即 “不工作” 打破了这种一个以下(所引用的行):
interSum = 0
For i = 1 To UBound(arrStrings)
For j = LBound(arrCampaignsAmounts, 1) To UBound(arrCampaignsAmounts, 1)
If arrStrings(i, 1) = arrCampaignsAmounts(j, 1) Then
interSum = interSum + arrCampaignsAmounts(j, 2)
End If
Next j
SourceSheet.Range( “H” & arrStrings(I,2))值= interSum
。
interSum = 0
Next i
你试过了吗?如果arrCampaignsAmounts(j,1)LIKE arrStrings(i,1)Then'与通配符? – Jeeped
即使使用LIKE,仍然全部为零:(。 –
那么,我会使用[数组筛选器](https://msdn.microsoft.com/en-us/library/fat7fw0s%28v=vs.90%29.aspx )方法,但没有数据来测试任何可能的解决方案,我想出的任何东西都不太可能与您的远程接近。 – Jeeped