2017-07-07 65 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