2017-10-19 172 views
1

我想选择下面描述的范围来格式化它。但是,它表示参数数量错误或属性赋值无效。选择单元格范围时出错

With ws3.Range("C8", "C12", "L14:P16", "L20:P20", "L22:Q23", "L" & lastrow5 & ":" & "Q" & lastrow5) 

回答

4

尝试像这样...

With ws3.Range("C8, C12, L14:P16, L20:P20, L22:Q23, L" & lastrow5 & ":Q" & lastrow5) 
+0

非常感谢你..如果你能帮助我还有一个问题。我想格式化一个新的范围 用ws3.Range(“C8:C12,C9:C11,L16:P20,L17:P19,L23:Q”&lastrow5&“,L24:Q”&lastrow5 -1&“ ).....它给出了一个语法错误。(另外,如果你看到,我说lastrow5 -1,因为我想在最后一行之前的行) –

+1

@PericlesFaliagas不客气!你可以尝试像ws3.Range (“C8:C12,C9:C11,L16:P20,L17:P19,L23:Q”&lastrow5&“,L24:Q”&lastrow5-1) – sktneer

1

由于智能感知告诉你(假设ws3声明As Worksheet),Worksheet.Range最多需要2个参数:[Cell1][Cell2]

在VBA中,使用逗号分隔参数。所以这个:

ws3.Range("C8", "C12", "L14:P16", "L20:P20", "L22:Q23", "L" & lastrow5 & ":" & "Q" & lastrow5) 

试图调用Worksheet.Range与6个参数,和VBA不知道做什么用的,因而是“错误的参数数目”。

如果你的意思是给它一个union'd范围的字符串,那么give it a single string argument