excel宏 range后 的变量问题

Selection.AutoFillDestination:=Range("A&i:A&i+50")我想定义一个i变量,用来定义单元格的循环但是代码好像一直错,不知道哪里... Selection.AutoFill Destination:=Range("A & i:A & i+50")
我想定义一个i变量,用来定义单元格的循环
但是代码好像一直错,不知道哪里出错了。系统提示是上面这个代码错了。
谢谢!
For i = 1 To 500 Step 1

If Left("B" & i, 2) = "CN" Then
Range("A" & i).Select
ActiveCell.FormulaR1C1 = "=MID(RC[1],3,5)"
Range("A" & i).Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
' Selection.AutoFill Destination:=Range("A6:A60")
Selection.AutoFill Destination:=Range("A & i:A & i+50")
End If
Next i
End
展开
 我来答
莱昂纳德_欧拉
2011-03-28 · TA获得超过1.3万个赞
知道大有可为答主
回答量:7254
采纳率:0%
帮助的人:1.1亿
展开全部
Range("A & i:A & i+50")你这样写又何尝不是字符串?
应该为
Range ("A " & i & ":A " & i + 50)
更多追问追答
追问
大哥。。这个更错了阿。我尝试了无数次不行的。
追答
Sub a()
Dim i
i = 1
[b1] = Application.WorksheetFunction.Sum(Range("A" & i & ":A" & i + 50))
End Sub
新建一个工作表自己验证下对不对
-----------------------
另外Left("B" & i, 2) = "CN",这个也是有问题的,这个判断永远是FALSE
lzl3283037
2011-03-28 · TA获得超过1658个赞
知道大有可为答主
回答量:1488
采纳率:0%
帮助的人:445万
展开全部
Range("A & i:A & i+50") 可能这句的写法错误。试试:
j=i + 50
Range("A & i:A & j")
更多追问追答
追问
j = i + 50
Selection.AutoFill Destination:=Range("A & i:A & j")

我定义成这样,系统还是提示出错了。
:和"的区别在于?
追答
如果A & i:A & j是指单元格区域,设为(行,列:行,列)格式,如(1,5:1,10),"A & i:A & j"这样定义变成字符串了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
anankid
2011-03-28 · TA获得超过2047个赞
知道小有建树答主
回答量:1174
采纳率:0%
帮助的人:853万
展开全部
If Left(range("B" & i).value, 2) = "CN" Then
追问
谢谢。不过问的不是这个问题。
j = i + 50
Selection.AutoFill Destination:=Range("A & i:A & j")
是这个出错了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式