怎样解决VBA 中 MATCH 的 范围 变量的 问题?
1个回答
展开全部
xx = WorksheetFunction.Match(xx1, Range("B4:B16"), 0) xx = WorksheetFunction.Match$(xx1, myr, 0) 实在解决不了也没关系, 反正就是这么多数据项, 就是最多14天的, 因此也不必考虑MATCH中的范围变量了。。。那么这个问题暂时也解决了, 对于上面的红蓝语句的问题, 以后希望你能够找到问题的答案。。 ===========Sub test1()
Dim akkk As Dateakkk = #4/1/2010#bkkk = #4/13/2010#'a = [a65536].End(xlUp).Rowa = 16 d = "B" + Trim(Str(a)) MsgBox dDim myr As VariantSet myr = Range("B6:" & d)xx1 = akkk - #1/1/1900# + 2 j = bkkk - akkkFor i = 1 To 2pq = DateValue(akkk + i - 1)'xx = WorksheetFunction.Match(akkk, myr, 0)Dim xx As Integer 'xx = WorksheetFunction.Match(xx1, Range("B4:B16"), 0) + 3 xx = WorksheetFunction.Match$(xx1, myr, 0) + 3 MsgBox xx
b = "c" + Trim(Str(xx))
b1 = "e" + Trim(Str(xx)) Range(b).Select
ActiveCell.FormulaR1C1 = 78
Range(b1).Select
Next End Sub ================== 使用 新乡联通无线网络质量双周报_表3.xls 做实验 ===================================== 暂时等于这个问题解决了。。。 ================== 当然,如果仅仅是为了获得某个符合条件的行的行数, 也可以采取 selection.row 那么怎样选择单元格呢? Range("P15253").Select 那么怎样查找具有某个值的单元格呢?这样你就可以使用查找函数进行查找了。。。 以后再根据实际情况来应用这个。。。。
Dim akkk As Dateakkk = #4/1/2010#bkkk = #4/13/2010#'a = [a65536].End(xlUp).Rowa = 16 d = "B" + Trim(Str(a)) MsgBox dDim myr As VariantSet myr = Range("B6:" & d)xx1 = akkk - #1/1/1900# + 2 j = bkkk - akkkFor i = 1 To 2pq = DateValue(akkk + i - 1)'xx = WorksheetFunction.Match(akkk, myr, 0)Dim xx As Integer 'xx = WorksheetFunction.Match(xx1, Range("B4:B16"), 0) + 3 xx = WorksheetFunction.Match$(xx1, myr, 0) + 3 MsgBox xx
b = "c" + Trim(Str(xx))
b1 = "e" + Trim(Str(xx)) Range(b).Select
ActiveCell.FormulaR1C1 = 78
Range(b1).Select
Next End Sub ================== 使用 新乡联通无线网络质量双周报_表3.xls 做实验 ===================================== 暂时等于这个问题解决了。。。 ================== 当然,如果仅仅是为了获得某个符合条件的行的行数, 也可以采取 selection.row 那么怎样选择单元格呢? Range("P15253").Select 那么怎样查找具有某个值的单元格呢?这样你就可以使用查找函数进行查找了。。。 以后再根据实际情况来应用这个。。。。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询