2017-07-07 63 views
0

我有另一个简单的语法问题,我不明白。我想要更改列中的所有单元格,以便他们有一个底部边界并且有一个变量来找出昨晚有数据的变量。1004错误的范围参数

我的代码如下,我相信错误是我如何定义最后一个单元格。

wsSheet.Range("F11:wsSheet.Cells(LastRowForSig, 6)").Borders(xlEdgeBottom).LineStyle = xlContinuous 
+0

你怎么申报'wsSheet'? – BruceWayne

+0

作为工作表:昏暗的wsSheet作为工作表 –

+0

https://stackoverflow.com/q/10098802/1188513 - 你的代码是可执行的,用双引号括起来; VBA只能看到一个字符串文字。 –

回答

0

试试这个:

With wsSheet.Range("F11", wsSheet.Cells(LastRowForSig, 6)).Borders 
    .value = 1 
    .item(xlEdgeLeft).LineStyle = xlNone 
    .item(xlEdgeRight).LineStyle = xlNone 
    .item(xlEdgeTop).LineStyle = xlNone 
End With 
0

尝试以下

Dim r1 as Range, r2 as Range 
Set r1 = wsSheet.Range("F11") 
Set r2 = wsSheet.Cells(LastRowForSig, 6) 

wsSheet.Range(r1 & ":" & r2).Borders(xlEdgeBottom).LineStyle = xlContinuous 

此代码请求后编辑。

+0

我试过了,仍然收到对象工作表失败错误的1004方法范围。 –

+0

是一个小小的挑剔,请确保'&'和任何参数之间有一个空格。有时VBA不会自动添加它,并且我以前得到错误。 – BruceWayne

+0

尝试新的编辑。我不确定为什么以前的版本不起作用。 –

1

你应该接受E. Trauger的答案,但这里是一个轻微的变化

With wsSheet 
    .Range("F11", .Cells(LastRowForSig, 6)).Borders(xlEdgeBottom).LineStyle = xlContinuous 
End With 
+0

我是否需要更改某些内容以使边框显示在列中的所有单元格中,因为现在它只显示在列的最底部单元格上 –

+0

这是因为您只指定了下边框。用'Borders'替换'Borders(xlEdgeBottom)'。 – SJR