|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
如图,Marchingregion这个sub主要是想用vlookup的方法匹配赋值,但是行数又太多我不能引用excel的公式不然效率太低了,结果就出现了错误,问了好几个人,自己找了好几小时都没弄明白该怎么办。
arrArea的赋值路径没有问题,我该如何得知是不是已经成功赋值?
还是说if,else那里使用错误了。
代码如下:
- Sub Marchingregion()
- Dim q&, r&, s&
- Dim arr, arrY11, arrY12, arrArea As Range
- arrArea = Sheets("area").[a1].CurrentRegion
- arr = Sheets("Y1").[a1].CurrentRegion
- For q = 2 To UBound(arr)
- If InStr(arr(q, 1), "") Then
- If arrY12 Is Nothing Then Set arrY12 = Rows(q) Else Set arrY12 = Union(arrY12, Rows(q))
- 'arr数组里面的首列肯定有空单元格,所以arrY12在上面公式之后数组应该有值
- Else
- If arrY11 Is Nothing Then Set arrY11 = Rows(q) Else Set arrY11 = Union(arrY11, Rows(q))
- End If
- Next
- For r = 1 To UBound(arrY12)
- For s = 1 To UBound(arrArea)
- If arrY12(r, 2) = arrArea(s, 1) Then
- arrY12(r, 1) = arrArea(s, 2)
- Exit For
- End If
- Next
- Next
- End Sub
复制代码
|
|